Every 15 minutes
Hear in Slack when a DocuSign contract is fully signed
Once every signer has finished, the channel gets the document name and who signed.
- Runs
- Every 15 minutes
- Apps
- DocuSign
- AI
- Not needed
- Access
- signature (read)
Send this to your assistant
Create a ClickRuntime automation: every 15 minutes, check DocuSign for envelopes completed since the last check and post the document name and signers to #contracts in Slack.
First time? Adding ClickRuntime to your assistant takes about two minutes.
Why use it
Why teams use this automation
A sales rep sends a contract through DocuSign and then checks every few hours to see whether the customer signed. Meanwhile finance wants to invoice, legal wants to file the signed copy and the account manager wants to start onboarding. DocuSign sends an email to the sender, but it lands among other notifications, and teammates who are not the sender find out only when someone tells them.
Every 15 minutes the automation lists envelopes whose status has changed since its last run, keeps those that are now completed, and posts a message in Slack with the envelope name and the people who signed. Everyone who cares sees it at once, and the next step can start.
Sales, legal and operations teams that wait on signatures to trigger the next piece of work find it especially useful.
What you get out of it
Onboarding starts the hour a contract is signed
A message in Slack lets the team start work within minutes of signature. A customer who has just committed gets a quick welcome instead of a day of silence, which sets the tone for the whole relationship.
Revenue is invoiced sooner
Finance sees the signature at the same time as the rep and can send the invoice immediately. A faster invoice usually means faster payment, which helps cash flow, especially for deals billed upfront.
The right people see it, not just the sender
Posting to a shared channel means legal, finance and operations all learn of completion. No one depends on the rep remembering to forward an email, or on a notification buried in a crowded inbox.
Reps stop refreshing DocuSign
Sales people can stop checking envelope status through the day. They are told when a contract is done, and the time goes back to selling instead of waiting on a status page.
A timestamped record of completion
The Slack message shows when the envelope finished. That is a convenient reference when someone asks when exactly a contract was signed, for example around a renewal date or a billing dispute.
How it works
What happens, step by step
Every 15 minutes, ClickRuntime checks DocuSign for envelopes completed since its last check, so none are posted twice.
For each fully signed envelope it collects the document name and the names of everyone who signed.
It posts them to #contracts in Slack.
Before it runs live
- Connect DocuSign
What you get
Build your own
Need it to work differently?
Your own rules
Conditions, thresholds, filters and exceptions, written the way you'd explain them to a colleague.
Any number of apps
One automation can read from one app and update several others. Over 248 apps are ready, and anything with an API works too.
AI where it helps
Summaries, classification, extraction and drafts use ClickRuntime's built-in AI, with no extra key.
On a schedule or on each event
Runs as often as every 5 minutes, or the moment an app sends an event, and keeps track of what it already handled.
Changes you can ask for
- Act only on the items that match your own rules, and skip the rest
- Add an AI step, for example to summarize, sort or draft a reply
- Add another app, for example also send it to Slack
- Combine it with other DocuSign steps into one automation
Under the hood
The code that runs this automation
from datetime import datetime, timezone
from clickruntime import on_trigger, state_initializer, credentials, notify, http, state, report_fetched
BASE = "https://na3.docusign.net/restapi/v2.1/accounts/YOUR_ACCOUNT_ID"
@state_initializer
def init():
state.set("since", datetime.now(timezone.utc).isoformat())
@on_trigger
def run(event):
now = datetime.now(timezone.utc).isoformat()
resp = http.get(f"{BASE}/envelopes",
headers={"Authorization": f"Bearer {credentials.connection('docusign', 'work')}"},
params={"from_date": state.get("since"), "status": "completed", "include": "recipients"})
resp.raise_for_status()
envelopes = resp.json().get("envelopes") or []
report_fetched(len(envelopes))
if not envelopes:
return {"posted": 0}
for env in envelopes:
signers = ", ".join(s["name"] for s in env.get("recipients", {}).get("signers", []))
notify.slack(f"Signed: {env['emailSubject']}\nSigners: {signers}", channel="#contracts")
state.set("since", now)
return {"posted": len(envelopes)}FAQ
Common questions
How quickly does the message appear after signing?
Does it include envelopes sent by other people?
Will it post the same envelope twice?
What permissions does it need?
Does it need AI?
How many runs does it use?
Can I change how it works?
Related
You might also like
Know when a DocuSign envelope is opened or declined
I see when a recipient opens a contract and when someone declines it.
See how it worksGet a daily list of unsigned DocuSign envelopes
Each morning I know which contracts have been waiting on a signature for more than 3 days.
See how it worksSee new job listings as they're posted
Jobs that match your keywords show up in a Slack channel, each one only once.
See how it worksKeep exploring
Set up “Hear in Slack when a DocuSign contract is fully signed” from your assistant
Copy the prompt above, or connect your assistant first. Free plan, no credit card.