Follow these instructions exactly. Marketo is very particular about webhook configuration.
There are many places in this process where it’s easy to get tripped up. For instance:- If you don’t copy-and-paste the provided template exactly, you may get status-code-400 errors calling the webhook.
- This includes pasting the template somewhere else before pasting into Marketo.
- Marketo will navigate you away from the webhook you started on when you save settings–you must make sure you’re on the right page every time.
- If you don’t set the
Content-Typeheader correctly, Marketo will send the webhook in an incorrect format.
Prerequisites
- A Marketo smart campaign you’d like to trigger the webhook from
This can be an existing campaign, or you can create a new one for this purpose. - A webhook template payload
This payload determines the data that Marketo sends to allGood in the webhook. Reach out to allGood support to get the right template payload for your use-case, or use the default one provided in the steps below. - An allGood Webhook URL
This will look likehttps://webhook.allgoodhq.app/xxxxxxxxxxxxxx. You can get this URL from allGood support, or by creating an Item Webhook in the worksheet you’d like to connect to.
Creating a webhook URL (if you don't have one already)
Creating a webhook URL (if you don't have one already)

Item Webhook settings in an allGood worksheet
Copy the webhook URL
Set the Action
Action is set to Add to Worksheet + Run Flow if you’d like the flow to automatically execute when new items come in.Creating a webhook configuration in Marketo
Create a new webhook configuration
Admin > Webhooks.
Marketo Admin → Webhooks
New Webhook in the header:
New Webhook menu item under Webhooks
Configure the webhook

New Webhook form in Marketo
- Set the URL
UnderURL, enter the webhook URL from earlier. - Set the Request Type
UnderRequest Type, selectPOST. - Set the Template
UnderTemplate, paste the payload template verbatim.
Do not edit or modify the template.
Do not paste it into a word-processing document first. - Set the request token encoding
UnderRequest Token Encoding, selectJSON. - Set the response type
LeaveResponse typeasNone. - Create the webhook
ClickCREATEto save the configuration.
Default payload template
Default payload template
Add a Content-Type header
Custom Headers, click EDIT.
Click EDIT in the Custom Headers section
Header to Content-Type, and Value to application/json.
Adding the Content-Type: application/json custom header
SAVE.Check your Work

Completed Marketo webhook configuration
Trigger the webhook from a Smart Campaign
Create a new Smart Campaign
Configure the Smart List trigger
- This could be e.g.
Fills Out Form, or any other lead-based trigger. - Add a filter which excludes any leads that have not consented to data processing, or who have opted out. This depends on how you implement GDPR in your Marketo instance.
Add the webhook action to the Flow
Configure the Schedule
Schedule, run each person through the campaign flow every time they enter the campaign.Activate the campaign
Troubleshooting
If you get status code 400 errors, or see “Unparseable JSON” in the activity log when Marketo tries to call the webhook, this is almost always due to a configuration error in Marketo’s settings:- Check that you’ve copied the above template verbatim and in its entirety.
- Certain document apps (Word, Google Docs, etc.) may silently add hidden formatting characters to the template if you paste it there first. To avoid this, copy the template directly from this page and paste it directly into Marketo.
- Check that you’ve set up the
Content-Typeheader as described above. - Check that you’ve just configured the right webhook—Marketo loves to sneakily navigate you to a different config page every time you save something.
