Webhooks & External Integration

Webhooks & External Integration

Webhooks allow you to send form submission data to external systems automatically. When a form is submitted, NexusRMS dispatches an HTTP request to your configured endpoint, enabling real-time integration with CRMs, marketing platforms, and custom applications.

How Webhooks Work

Each form can have one or more FormWebhook configurations. When a submission is received, NexusRMS sends the data to each configured endpoint using your chosen HTTP method: POST, PUT, or PATCH.

Payload Formats

Format Content-Type Best For
JSON application/json Custom APIs, most modern integrations
Form-encoded application/x-www-form-urlencoded Legacy systems, simple endpoints
Zapier-compatible application/json Zapier webhooks and automation platforms
Slack-compatible application/json Slack incoming webhooks for channel notifications

Custom Headers & Security

Add any HTTP headers to the webhook request, such as Authorization Bearer tokens or custom API key headers. For payload verification, configure a secret key — NexusRMS generates an HMAC SHA-256 signature and includes it in the X-Signature header so your endpoint can confirm the request originated from NexusRMS.

Conditional Delivery

Trigger a webhook only when specific conditions are met. This uses the same conditional logic system available throughout the form builder. For example, only send a Slack notification when the submission's priority field is set to "urgent".

Retry Logic

If a webhook delivery fails, NexusRMS retries with exponential backoff.

  1. First retry — 1 minute after the initial failure
  2. Second retry — 5 minutes after the first retry
  3. Third retry — 30 minutes after the second retry

After three failed attempts, the delivery is marked as permanently failed.

Delivery Tracking

Every webhook dispatch is recorded as a FormWebhookDelivery with detailed information for debugging and monitoring.

  • Status — pending, success, failed, or retrying
  • HTTP response code — the status code returned by the endpoint
  • Response body — the full response from the receiving system
  • Error message — details of any error that occurred
  • Duration — request time in milliseconds
  • Retry attempt number — which attempt this delivery represents

Delivery Statistics

Each webhook displays aggregate statistics: total deliveries attempted, successful deliveries, failed deliveries, and overall success rate percentage. Monitor these figures to ensure your integrations are running reliably.

Testing Webhooks

Use the Send Test button to dispatch a test payload to your endpoint before relying on the webhook in production. This verifies that the receiving system handles the data correctly without requiring a real submission.

Common Integrations

  • Zapier — use Zapier-compatible format to trigger Zaps from submissions
  • Slack — use Slack-compatible format to post channel notifications
  • Custom CRM — use JSON format with appropriate authentication headers
  • Email marketing — push subscriber data to Mailchimp, Brevo, or similar

Tips for Webhooks

  • Always set a secret key so your endpoint can verify the request origin
  • Monitor delivery failures regularly and investigate recurring issues
  • Use conditional delivery to avoid sending unnecessary requests
  • Test each webhook thoroughly before going live with a published form
  • Keep API keys and header values confidential and rotate them periodically

Was this article helpful?