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)
First, you’ll need to create an allGood worksheet with your desired automation steps. Then, in the worksheet settings, create an Item Webhook.

Make sure you have all of these prerequisites in place before moving on. If you have any questions, reach out to allGood support and we can help walk you through the process.
Creating a webhook configuration in Marketo
Create a new webhook configuration
In Marketo, to go 
Click 
Admin > Webhooks.
New Webhook in the header:
Configure the webhook
You should see the following form:

- 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
If allGood support hasn’t given you a custom webhook template, you can use the following default template:You can copy this cleanly to your clipboard by using the button in the top-right of the above block.
Add a Content-Type header
Once it’s created, you’ll need to add a custom header.Under 
Add a new header, set 
Click
Custom Headers, click EDIT.
Header to Content-Type, and Value to application/json.
SAVE.Trigger the webhook from a Smart Campaign
Create a new Smart Campaign
Create a new Smart Campaign in an appropriate location, or use an existing one.
Configure the Smart List trigger
Under “Smart List”, trigger the campaign on the event you’re interested in.
- 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
Under “Flow”, add a “Webhook” action, and pick the webhook you created in Marketo’s Admin page.
Configure the Schedule
Under
Schedule, run each person through the campaign flow every time they enter 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.

