Webhook Triggers
Webhook triggers allow external systems to start your workflows by sending HTTP requests to a unique URL. This is the primary way to integrate Formstamper with CRMs, property management tools, ERPs, and custom applications.
How Webhooks Work
Setting Up a Webhook Trigger
- Add a Webhook Trigger node to your workflow canvas.
- The node automatically displays your unique webhook URL.
- Copy this URL and configure it as the webhook endpoint in your external system.
Your Webhook URL
POST https://api.formstamper.com/api/workflows/{workflowId}/webhook
Each workflow gets its own dedicated webhook URL. The workflowId is a unique identifier (e.g., wrk_01j5abc123).
Sending Events
Send a POST request with a JSON body containing your event data:
curl -X POST https://api.formstamper.com/api/workflows/wrk_01j5abc123/webhook \
-H "Content-Type: application/json" \
-d '{
"tenant_name": "Jane Doe",
"unit_address": "456 Oak Ave, Unit 2B",
"rent_owed": 2400,
"arrears_from": "2026-01-01",
"arrears_to": "2026-03-31"
}'
Response Codes
| Code | Meaning |
|---|---|
202 Accepted | Event received and queued for processing |
400 Bad Request | Payload validation failed (see error message) |
404 Not Found | Workflow ID doesn't exist |
Payload Schema Validation
You can optionally define a JSON Schema for your webhook's trigger configuration. When set, incoming payloads are validated against the schema before processing.
If validation fails, the request is rejected with a 400 error and a detailed message about which fields failed.
Viewing Received Events
The Latest Event panel on the Webhook Trigger node shows the most recently received payload. This is useful for:
- Verifying your external system is sending the correct data structure.
- Debugging field mapping issues.
- Checking that all expected fields are present.
Accessing Event Data in Downstream Nodes
All data from the webhook payload is available to downstream nodes via the event context. In a Template Node, you map webhook payload fields to template columns:
| Webhook Field | Template Column | PDF Field |
|---|---|---|
event.tenant_name | TO_TenameName | Tenant name field |
event.unit_address | RentalUnitAddress | Address field |
event.rent_owed | OweMeAmount | Amount owed field |
Use descriptive field names in your webhook payloads to make mapping easier. The data preview in the Template Node will show live values from the most recent webhook event.
Security Considerations
- Webhook URLs are unique and pseudo-random, but they are not secret. For production use, consider implementing payload signing in your external system.
- Workflows must be in Active status to process incoming webhook events.
- Events received while a workflow is in Draft status are still stored but not processed.