The problem
You need form data somewhere else: a CRM, Slack, a custom backend, or an automation tool. Copy-pasting from the inbox does not scale. Email-only integrations are fragile.
The solution
Sobi Forms can POST a versioned JSON payload to a URL you choose, per form. Delivery is asynchronous (WP-Cron). Failed sends appear under Settings → Webhooks → Logs with Retry.
Spam is never sent at ingest. If you later mark a submission as not spam, the webhook fires once.
How to configure it
- Open the form in the builder.
- In the sidebar, open After submit.
- Add action → Trigger webhook.
- Enter a valid
https://URL (saved only when the URL is valid). - Use the Test button if available, then save the form.
There is no global on/off switch. A form has a webhook when that action is configured with a valid URL.
Where to manage webhooks
Sobi Forms → Settings → Webhooks
- Overview — lists forms with a configured webhook (URL + link to the builder)
- Logs — failed deliveries only (30-day retention). Retry resends the stored URL and payload
Payload
The body is a fixed, versioned JSON structure (not custom-mapped in v1). Uploaded files are referenced as objects with name, url, mime_type (and id when applicable)—not raw file bytes in the POST body.
Tips
- On low-traffic sites, WP-Cron may wait until the next page request before the webhook runs.
- Combine with inbox save if you want a backup while automating downstream.
- Custom payloads, multiple URLs per form, and conditional webhooks are planned for Pro later—not in the free plugin yet.
Related
- Export form submissions to CSV or JSON — for one-off downloads instead of live push
- Stop WordPress form spam without CAPTCHAs — spam never triggers webhooks at ingest