Zapier Integration
WPsigner integrates with Zapier to connect your document signing workflows with thousands of apps — no code required.
Requirements
Section titled “Requirements”- WPsigner 1.8.0+
- An active Zapier account (Free tier available)
- A WPsigner API key with Full permissions
Step 1: Accept the Zapier Invitation
Section titled “Step 1: Accept the Zapier Invitation”Click the link below to add WPsigner to your Zapier account:
You can also find this link in WPsigner → Integrations → Zapier inside your WordPress admin.
Step 2: Generate an API Key
Section titled “Step 2: Generate an API Key”Go to WPsigner → Settings → API Keys and click Generate New Key.
- Name:
Zapier Integration - Permissions:
Full(required — read-only keys will be rejected) - Rate Limit:
1000/hour(default)
Step 3: Create a New Zap
Section titled “Step 3: Create a New Zap”In Zapier, click Create Zap and search for WPsigner as a trigger or action app.
Step 4: Connect Your WPsigner Account
Section titled “Step 4: Connect Your WPsigner Account”When prompted, enter your credentials:
| Field | Value |
|---|---|
| Site URL | Your full WordPress URL (e.g. https://yourdomain.com) — no trailing slash |
| API Key | The key from Step 2 |
| API Secret | The secret from Step 2 |
Step 5: Build Your Zap
Section titled “Step 5: Build Your Zap”Choose a trigger (e.g. “Document Signed”), select an action (e.g. “Google Sheets → Create Row”), map your fields, and turn on your Zap!
Available Triggers
Section titled “Available Triggers”These events fire automatically and in real-time when something happens in WPsigner:
| Trigger | Description | Key Data |
|---|---|---|
| Document Created | A new document is created | Document ID, title, status |
| Document Sent | Document sent to signers | Document info, signer list |
| Document Signed | A signer signs the document | Signer name, email, signed timestamp |
| Document Completed | All signers finished | Download URL, all signer data |
| Document Declined | A signer declines | Signer info, decline reason |
Available Actions
Section titled “Available Actions”Use these to create and manage documents from other apps:
| Action | Description | Required Fields |
|---|---|---|
| Create Document | Creates a new document with optional signers (up to 2) | Title, optional: signer name + email |
| Send Document | Sends a document to its signers via email | Document ID |
Search
Section titled “Search”| Search | Description | Input |
|---|---|---|
| Find Document | Look up a document by ID (includes signers and fields) | Document ID |
Example Zap Recipes
Section titled “Example Zap Recipes”When a contract is signed → Add row to Google Sheets
Section titled “When a contract is signed → Add row to Google Sheets”Track all signed documents in a spreadsheet for compliance or reporting.
- Trigger: WPsigner → Document Signed
- Action: Google Sheets → Create Spreadsheet Row
- Map: Document Title, Signer Name, Signer Email, Signed At
When a CRM deal closes → Create signing document
Section titled “When a CRM deal closes → Create signing document”Automate contract creation when a deal reaches “Closed Won” in your CRM.
- Trigger: HubSpot → Deal Stage Changed
- Action: WPsigner → Create Document
- Map: Deal Name → Title, Contact Name → Signer Name, Contact Email → Signer Email
- Action 2: WPsigner → Send Document
When a document is declined → Notify Slack
Section titled “When a document is declined → Notify Slack”Get instant alerts when someone declines to sign.
- Trigger: WPsigner → Document Declined
- Action: Slack → Send Channel Message
- Map: Document Title, Signer Name, Decline Reason
When all signers complete → Upload to Google Drive
Section titled “When all signers complete → Upload to Google Drive”Automatically archive fully signed documents.
- Trigger: WPsigner → Document Completed
- Action: Google Drive → Upload File (using Download URL)
Webhook Payload Structure
Section titled “Webhook Payload Structure”All triggers send data in this format:
{ "event": "document.signed", "timestamp": "2026-01-15T11:00:00-05:00", "data": { "document": { "id": 123, "title": "Service Agreement", "status": "sent", "created_at": "2026-01-15T10:30:00-05:00" }, "signer": { "id": 1, "name": "John Doe", "email": "john@example.com", "status": "signed", "signed_at": "2026-01-15T11:00:00-05:00" } }, "meta": { "site_url": "https://yourdomain.com", "site_name": "Your Site", "plugin_version": "1.8.0" }}Security
Section titled “Security”| Feature | Details |
|---|---|
| Authentication | API Key + Secret via X-WPS-API-KEY and X-WPS-API-SECRET headers |
| Permissions | Full permissions required — read-only keys are rejected |
| Rate limiting | Respects the configured rate limit (default: 1000 req/hour) |
| HMAC Signatures | Webhooks include X-ESF-Signature headers for payload verification |
| URL Validation | Subscribe endpoints validate URLs with wp_http_validate_url to prevent SSRF |
Troubleshooting
Section titled “Troubleshooting”Zapier says “Authentication Failed”
Section titled “Zapier says “Authentication Failed””- Verify your Site URL does not have a trailing slash (use
https://yourdomain.comnothttps://yourdomain.com/) - Confirm the API Key has Full (not Read) permissions
- Check that the key is not revoked in WPsigner → Settings → API Keys
- Ensure your site’s REST API is accessible — test by visiting
https://yourdomain.com/wp-json/wpsigner/v1/zapier/auth/testin your browser
Triggers Not Firing
Section titled “Triggers Not Firing”- Check that the Zap is turned ON in Zapier
- Verify webhooks are registered: WPsigner → Settings → Webhooks should show a “Zapier:” entry
- Confirm your site is publicly accessible (Zapier cannot reach
localhostor private IPs) - Check WPsigner webhook logs for delivery errors
Rate Limit Exceeded
Section titled “Rate Limit Exceeded”If you see 429 Too Many Requests:
- Increase the rate limit on your API key in WPsigner → Settings → API Keys
- Reduce the number of Zaps hitting the same site simultaneously
- Add delays between automated actions in multi-step Zaps
Technical Reference
Section titled “Technical Reference”REST Endpoints
Section titled “REST Endpoints”| Endpoint | Method | Description |
|---|---|---|
/wp-json/wpsigner/v1/zapier/auth/test | GET | Validate API credentials |
/wp-json/wpsigner/v1/zapier/subscribe | POST | Create webhook subscription |
/wp-json/wpsigner/v1/zapier/subscribe/{id} | DELETE | Remove webhook subscription |
/wp-json/wpsigner/v1/zapier/sample/{event} | GET | Get sample event data |
/wp-json/wpsigner/v1/zapier/perform-list/{event} | GET | Get recent real events |
Available Events
Section titled “Available Events”document.created · document.sent · document.viewed · document.signed · document.completed · document.declined · document.expired · signer.reminded
Next Steps
Section titled “Next Steps”- Google Drive Integration — Auto-backup signed documents
- n8n & Make — Self-hosted automation alternatives
- API Overview — Full REST API documentation