Skip to main content

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

  1. Add a Webhook Trigger node to your workflow canvas.
  2. The node automatically displays your unique webhook URL.
  3. 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

CodeMeaning
202 AcceptedEvent received and queued for processing
400 Bad RequestPayload validation failed (see error message)
404 Not FoundWorkflow 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 FieldTemplate ColumnPDF Field
event.tenant_nameTO_TenameNameTenant name field
event.unit_addressRentalUnitAddressAddress field
event.rent_owedOweMeAmountAmount owed field
tip

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.