Weekday morning chase-up for stalled signature campaigns

By General Input

Every weekday morning, find the signature campaigns that have stalled, nudge the people holding them up, and post a clear status digest to Slack.

Integrations

  • SignWell
  • Google Sheets
  • Slack Bot

Type

Agentic Task

Categories

  • Operations
  • Sales

Every weekday at 9am, chase up the bulk signature campaigns that have stalled in SignWell and report where each one stands. Scope this to bulk send campaigns: that is the only way to enumerate documents on a schedule, since there is no operation that lists all documents on the account.

Start by reading the existing chase log from Google Sheets with Get Values, so you know who has already been nudged and when. This log is the memory for the do-not-repeat rule, so always read it before sending any reminders.

Call SignWell List Bulk Sendings to get the campaigns on the account with their completion counts. This operation paginates using limit (default 10, max 50) and page (1-indexed), and returns no total count, so advance page until a response holds fewer than limit records. Set limit to 50 to keep the number of requests down.

For any campaign that is not fully complete, call Get Bulk Send Documents to enumerate the individual documents in that campaign. It paginates the same way, so page through it with the same rule.

For each document that is not complete, call Get Document to get recipient level detail: which recipients have signed, which have only viewed the document without signing, which have not opened it at all, and how long the document has been sitting since it was sent or since the last activity.

SignWell allows 100 requests per 60 seconds across the whole account, so pace the per-document calls and cap the work in a single run. Prioritize the campaigns with the lowest completion rates and the oldest documents, stop inspecting at roughly 60 Get Document calls, and note in the digest if any campaigns were left uninspected so the next run can pick them up.

Skip any document whose status is declined, expired, or canceled. Those need a human decision rather than a reminder, so never call Send Reminder on them. Collect them for the exceptions section of the digest instead.

For the remaining incomplete documents, use Send Reminder when the document has been idle longer than the idle threshold, which defaults to three days. Do not remind anyone who was already reminded within the last 48 hours, based on the chase log you read at the start. Only when both rules pass should you call Send Reminder for that document.

For every document you nudged, append a row to the Google Sheets tracking log with Append Values so the chase history builds up over time. Include the run date and time, the campaign name, the document name and id, the recipients who were reminded, how long the document had been idle, how many times this document has been reminded before, and the document status at the time of the nudge.

Finish with a digest posted to Slack using the Slack Bot Send a Message operation. Show each campaign as a completion rate, for example 18 of 24 complete at 75 percent, sorted worst first. Name who was reminded on this run and which campaign each person belongs to, and say how many documents were skipped because of the 48 hour quiet period. Then call out separately the recipients who need a phone call rather than another email, using your judgement: people who have had several reminders with no opens, people who keep viewing without signing, and documents idle far beyond the threshold. Finally, list the declined, expired, and canceled documents as exceptions in their own section, since those need someone to make a decision.

If every campaign is fully complete and there is nothing to chase, still post a short digest saying so, so the team knows the check ran.

Related prompts

Explore more prompts
Call overdue Xero customers with an AI collections agentLocal listing health board for every location you manageLet support send one-off Loops emails without an engineerA brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensStop cold emails to anyone with a live deal in PipedriveLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery board