Set up webhooks to send Act-On Form submissions to third-party services by following this guide. For more details on Act-On's Webhooks refer to this article.
Some use cases supported by this webhook are:
- Combining all data submissions in one place outside of Act-On or your CRM for reporting or analysis.
- Passing registrations to the event management platform such as Cvent, Microsoft Teams Webinars, etc. without the need to manually export and import files.
- If you have parent and child accounts, you may want to track opt-ins or opt-outs together from all the child accounts inside a parent account.
Create Your Webhook
- Go to Settings > Connectors and select Outgoing Webhooks.
- At the top right, click on + Add Endpoint and add the following parameters:
- Endpoint URL - this is the URL of the third-party service to which the data is sent. This can be found in the developer documentation for the third party.
- Description - while this is an optional field, we recommend you track here the Form(s) that will post to this endpoint as well as describing the use case.
- Trigger - in Filter events, select form.submitted:
The screenshot below shows the Filter events list for a new webhook endpoint, with form.submitted selected as the trigger.
-
- Payload Format - Act-On supports only JSON format with pre-defined variables. All form attributes as well as form field attributes will be included. You have the option to use the Transformation feature to update the payload in the third party's expected format.
The screenshot below shows the payload Transformation feature: a code editor for writing a JavaScript function to reshape the webhook payload, next to a Test panel where you can choose the form.submitted payload and preview an example JSON result.
- Click Save.
- Return to the created endpoint and navigate to Advanced options.
- Add Custom Headers for authentication if applicable. Note that Act-On sends a digital signature with each response.
The screenshot below shows the Advanced tab of the webhook endpoint, with a Custom Headers section where an Authorization header carrying a bearer token has been added for authentication.
- Save again.
Subscribe Forms to Your Webhook
- Go to Content > Forms.
- If the Form exists, select Edit. Otherwise, create a new form using these instructions.
- In the Properties tab, click External Data Submission, and on the right, select the webhook(s) you want the Form submissions for this Form to post to.
The screenshot below shows a Form's Properties tab, with External Data Submission highlighted among the other Response settings (Response Page, Confirmation Email, Suppressed Domains, Capped Sign-ups, Expiration, Alerts, CRM Settings).
- Click your webhook endpoint to select it. There is no limit to the number of webhooks the Form can subscribe to. Tip: look at the URL name to identify the correct webhook.
The screenshot below shows the External Data Submission panel, where you select which Outgoing Webhook endpoint(s) the form's submissions should post to.
- You can remove the subscription by clicking on the x icon.
- Click OK and save the Form.
Test Your Webhook
There are two different ways to test the webhook; either submit the Form or use the webhook test feature.
Submit the Form
- Embed the Form in a Landing Page, if it is not already published.
- Get the URL for the Landing Page.
- Populate the Form and Submit it:
The screenshot below shows a simple test form with First Name, Last Name, and Email Address fields and a Submit button, used to trigger the webhook for testing.
- Go to Settings > Connectors > Outgoing Webhooks and select your endpoint.
- Check the message displayed in the Attempted Messages reporting section for the webhook has a status of "Succeeded":
The screenshot below shows the Attempted Messages table for the webhook, with one form.submitted message showing a Succeeded status.
- Click the message line to view details. This is the object the webhook posts to the URL:
The screenshot below shows the message details view, with the full JSON payload the webhook sent to the URL, including the browser, campaign source, contact fields, form ID, and submission time.
Use the Webhook Test Feature
- Go to Settings > Connectors > Outgoing Webhooks and open your webhook.
- Click on the Testing tab.
- In the Send event drop down choose form.submitted.
- Click Send Example:
The screenshot below shows the Testing tab of the webhook endpoint, with the Send event dropdown set to form.submitted, the payload schema, an example JSON payload, and a Send Example button.
- In the Attempted Messages reporting section for the webhook, check there is a line in the message history with the timestamp of the test. The message should have a "Succeeded" status:
The screenshot below shows the Attempted Messages table after running the test, with two form.submitted messages both showing a Succeeded status.
- Click the message line to view details. This is the object the webhook posts to the URL:
The screenshot below shows the test message's details, including the full JSON payload and a Webhook Attempts table confirming a Succeeded delivery.