Skip to content

Make (Integromat) Integration

Integrate WPsigner with Make (formerly Integromat) to automate your document signing workflows using visual drag-and-drop scenarios — no code required.


WPsigner connects to Make in two directions:

Incoming: WPsigner → Webhook → Make Scenario → External App
Outgoing: External App → Make Scenario → WPsigner REST API
DirectionModule in MakeUse Case
WPsigner → MakeWebhooks → Custom WebhookTrigger scenarios when documents are signed, created, etc.
Make → WPsignerHTTP → Make a requestCreate documents, send for signing, look up status

  • WPsigner 1.3.0+ (webhooks) / 1.8.0+ (REST API)
  • A Make account (Free tier available)
  • A WPsigner API key with Full permissions (for outgoing calls)

Part 1: Receiving WPsigner Events (Triggers)

Section titled “Part 1: Receiving WPsigner Events (Triggers)”

This enables Make to react when something happens in WPsigner (e.g. a document is signed).

  1. Log in to Make
  2. Click Create a new scenario
  3. Click the + button to add the first module
  4. Search for Webhooks and select Custom webhook
  1. In the Custom webhook module, click Add
  2. Give it a name like WPsigner Events
  3. Click Save
  4. Make will show you a webhook URL — copy it (e.g. https://hook.make.com/abc123...)
  1. Go to WPsigner → More → Webhooks in your WordPress admin
  2. Click Add Webhook
  3. Fill in:
    • Name: Make - Document Events
    • URL: Paste the Make webhook URL from Step 2
    • Events: Select which events should trigger the scenario (see Available Events below)
    • Secret (optional): Add an HMAC secret for signature verification
  4. Click Save
  1. Back in Make, click Run once on your scenario
  2. In WPsigner, create or sign a test document
  3. Make should receive the webhook payload and show you the data structure
  4. You can now map WPsigner fields to other modules in your scenario

After the Webhook module, add any Make module to process the data:

  • Google Sheets → Add Row
  • Slack → Send Message
  • Gmail → Send Email
  • Airtable → Create Record
  • Monday.com → Create Item

This enables Make to create documents, send for signing, and query status in WPsigner.

  1. Go to WPsigner → Settings → API Keys
  2. Click Generate New Key
  3. Set Permissions to Full
  4. Copy the API Key and API Secret
  1. In your Make scenario, add the HTTP module → Make a request
  2. Configure as follows:
SettingValue
URLhttps://yoursite.com/wp-json/wpsigner/v1/documents
MethodPOST
HeadersX-WPS-API-KEY: your_key
X-WPS-API-SECRET: your_secret
Content-Type: application/json
Body typeJSON

Request body (JSON):

{
"title": "Contract for {{1.name}}"
}

Response:

{
"id": 456,
"title": "Contract for John Smith",
"status": "draft",
"created_at": "2026-01-15T10:30:00-05:00"
}

Add another HTTP module after the create step:

SettingValue
URLhttps://yoursite.com/wp-json/wpsigner/v1/documents/{{2.id}}/signers
MethodPOST
Body{"name": "{{1.name}}", "email": "{{1.email}}", "role": "signer"}

Add a third HTTP module:

SettingValue
URLhttps://yoursite.com/wp-json/wpsigner/v1/documents/{{2.id}}/send
MethodPOST

Scenario 1: Document Signed → Google Sheets Log

Section titled “Scenario 1: Document Signed → Google Sheets Log”

Track every signed document in a spreadsheet for compliance.

┌─────────────┐ ┌─────────────┐ ┌──────────────┐
│ WPsigner │───▶│ Make │───▶│Google Sheets │
│ Webhook │ │ Scenario │ │ Add Row │
└─────────────┘ └─────────────┘ └──────────────┘

Data mapping:

WPsigner FieldGoogle Sheets Column
data.document.titleDocument Name
data.signer.nameSigner Name
data.signer.emailSigner Email
data.signer.signed_atDate Signed
timestampEvent Timestamp

Scenario 2: Typeform Response → Create Contract

Section titled “Scenario 2: Typeform Response → Create Contract”

Auto-generate a signing document when someone fills out a form.

┌─────────────┐ ┌─────────────┐ ┌─────────────┐ ┌─────────────┐
│ Typeform │───▶│ HTTP │───▶│ HTTP │───▶│ HTTP │
│ Response │ │ Create Doc │ │ Add Signer │ │ Send Doc │
└─────────────┘ └─────────────┘ └─────────────┘ └─────────────┘

HTTP module body for Create Document:

{
"title": "Contract for {{answers.email}}"
}

Scenario 3: Document Completed → Multi-System Update

Section titled “Scenario 3: Document Completed → Multi-System Update”

When all signers finish, update CRM + send invoice.

┌──────────┐ ┌────────┐ ┌──────────┐
│ WPsigner │───▶│ Router │───▶│ HubSpot │
│ Webhook │ │ │ │ Update │
│ │ │ │ └──────────┘
│ │ │ │ ┌──────────┐
│ │ │ │───▶│ Stripe │
│ │ │ │ │ Invoice │
│ │ │ │ └──────────┘
│ │ │ │ ┌──────────┐
│ │ │ │───▶│ Slack │
└──────────┘ └────────┘ │ Notify │
└──────────┘

Use Make’s Router module to fan out to multiple actions from a single webhook event.


Scenario 4: Document Declined → Follow-Up Email

Section titled “Scenario 4: Document Declined → Follow-Up Email”

When a signer declines, automatically send a personalized follow-up.

Webhook filter: Set the Make filter to only process events where event = document.declined

Gmail module:

  • To: {{data.signer.email}}
  • Subject: Regarding {{data.document.title}}
  • Body: Custom follow-up message

Register these events when creating your webhook in WPsigner:

EventTriggered When
document.createdNew document is created
document.sentDocument emails sent to signers
document.viewedSigner opens the signing page
document.signedIndividual signer applies their signature
document.completedAll signatures complete
document.declinedSigner declines to sign
document.expiredDocument expires unsigned
signer.remindedReminder sent to a signer

All events 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"
}
}

These are the WPsigner REST API endpoints you can call from Make’s HTTP module:

EndpointMethodDescription
/wp-json/wpsigner/v1/documentsGETList all documents
/wp-json/wpsigner/v1/documentsPOSTCreate a new document
/wp-json/wpsigner/v1/documents/{id}GETGet document details
/wp-json/wpsigner/v1/documents/{id}/signersPOSTAdd a signer
/wp-json/wpsigner/v1/documents/{id}/sendPOSTSend for signing

For the full API reference, see REST API Documentation.


  • Add an Error handler module after HTTP requests to catch failures
  • Use Make’s Retry feature for transient errors (network timeouts)
  • Log errors to Google Sheets or Slack for monitoring
  • WPsigner API keys have configurable rate limits (default: 1000 req/hour)
  • Add Sleep modules between bulk operations in Make
  • If you see 429 Too Many Requests, increase the rate limit on your API key or reduce scenario frequency

Use Make’s Filters between modules to only process specific events:

  • Filter by event type: event equals document.completed
  • Filter by document title: data.document.title contains NDA
  • Filter by signer email: data.signer.email ends with @yourcompany.com

IssueCauseSolution
Webhook not received in MakeURL incorrect or webhook inactiveVerify the URL in WPsigner → Webhooks and check it’s enabled
401 Unauthorized from APIInvalid API key/secretDouble-check the headers — keys are case-sensitive
403 ForbiddenRead-only API keyGenerate a new key with Full permissions
404 Not FoundWrong endpoint URLVerify the URL includes /wp-json/wpsigner/v1/
Scenario runs but no dataEvent not selectedCheck the webhook in WPsigner has the correct events selected
Timeout errorsServer slow or blockingCheck hosting — some hosts block outgoing/incoming HTTP requests