Build these on Automator → Recipes. Publish the recipe or WPsigner actions will refuse to run.
Use Everyone unless the example says logged-in.
WooCommerce order → contract
Section titled “WooCommerce order → contract”Goal: After payment, create and send a WPsigner agreement prefilled with billing data.
| Step | Integration | Item |
|---|---|---|
| Trigger | WooCommerce | A user’s order status changes to completed (or paid) |
| Action | WPsigner | Create a document from a template |
Create action:
- Template: your contract template
- Send immediately: Yes
- Workflow: Parallel (or Sequential if countersigners must wait)
- Use recipe user as signer 1: Yes if the buyer is a WP user; otherwise map Signer 1 email to the billing email token
- Prefill:
client_name={{BILLING_FIRST_NAME}} {{BILLING_LAST_NAME}}client_email={{BILLING_EMAIL}}company={{BILLING_COMPANY}}order_id={{ORDER_ID}}Mapping names on the template must match those keys. See Form Fields → Mapping name.
Native WooCommerce feeds in WPsigner can do the same without Automator: WooCommerce. To keep Place order closed until the document is signed, choose After billing, Before payments, After payments, or Leave checkout to sign. Use Automator when you also need LearnDash, CRM, or delays.
Document completed → LMS or CRM
Section titled “Document completed → LMS or CRM”| Step | Item |
|---|---|
| Trigger | A WPsigner document is completed (specific template) |
| Condition (Pro) | Signer is a WordPress user — use Signer email token if present, or Owner email |
| Action | LearnDash enroll / FluentCRM tag / add user role |
Everyone recipes may have no signer token on completed. Use Owner email, or switch the trigger to A document is signed plus a condition that document status becomes completed, or store the buyer as document owner when creating.
Declined → Slack
Section titled “Declined → Slack”| Step | Item |
|---|---|
| Trigger | A WPsigner document is declined |
| Action | Send a Slack message via WPsigner |
Message example:
Declined: {{DOCUMENT_TITLE}} (ID {{DOCUMENT_ID}})Signer: {{SIGNER_NAME}} <{{SIGNER_EMAIL}}>Reason: {{DECLINE_REASON}}Admin: {{DOCUMENT_ADMIN_URL}}Requires Slack configured in WPsigner. Do not include {{SIGNING_URL}} on a declined document (it is empty).
Sent → WhatsApp reminder per pending signer (Pro)
Section titled “Sent → WhatsApp reminder per pending signer (Pro)”| Step | Item |
|---|---|
| Trigger | A document is sent |
| Loop | Token loop → WPsigner pending signers |
| Delay (optional) | Wait 2 days |
| Action inside loop | Send a WPsigner reminder via channel → WhatsApp |
Leave signer email empty on the action to use the current loop signer only if the action has an email field — for channel reminder, set Signer email to the loop’s Signer email child token so you do not blast every remaining signer on each iteration.
Requires WhatsApp Business configured and a phone on each signer: WhatsApp.
Without Pro loops: one Send a reminder (email) action for all pending signers, or Get signers → webhook.
Cloud backup → notify
Section titled “Cloud backup → notify”| Step | Item |
|---|---|
| Trigger | A completed PDF is uploaded to cloud storage → Google Drive |
| Action | Send Slack / Teams / email with {{CLOUD_URL}} and {{DOCUMENT_TITLE}} |
If CLOUD_URL is empty, WPsigner did not store a public https link. Open the file from WPsigner’s backup metadata instead of inventing a path.
Payment refunded → cancel
Section titled “Payment refunded → cancel”| Step | Item |
|---|---|
| Trigger | A WPsigner Stripe payment is refunded |
| Action | Cancel a WPsigner document → Document ID token |
Only works while the document is still open (not completed/declined/expired). Completed contracts should not be cancelled this way — tag them or notify finance instead.
Form plugin → create (when you need extra Automator steps)
Section titled “Form plugin → create (when you need extra Automator steps)”Form feeds in WPsigner already create documents. Use Automator when the path is form → wait / branch / other plugin → WPsigner.
| Step | Item |
|---|---|
| Trigger | Fluent Forms / WPForms / Gravity Forms entry |
| Action | Create a WPsigner document from a template |
Prefill mapping names from the form tokens. Same keys as Fluent Forms feeds.
Logged-in user signed → grant access
Section titled “Logged-in user signed → grant access”| Step | Item |
|---|---|
| Recipe type | Logged-in users |
| Trigger | A WordPress user signs a document from {{membership template}} |
| Action | Change user role / add membership / LearnDash course |
Guest signers will not fire this trigger. Pair with an Everyone completed recipe if you also sell to guests.