Skip to main content
Marketo webhooks let you push lead data to an allGood worksheet the moment a Smart Campaign fires. When a lead fills out a form, reaches a score threshold, or hits any other trigger you choose, Marketo sends their data to allGood automatically. From there, allGood runs the workflow you’ve built — enriching the record, routing it, or triggering downstream actions. This setup takes about 15 minutes once you have the prerequisites in place.
Marketo’s webhook configuration has a few steps where small mistakes cause hard-to-diagnose errors. This article flags each one as you reach it — follow the steps in order and you’ll be set up correctly. If you find yourself running into issues, skip to the “Troubleshooting” section at the end of this article.

Prerequisites

  • A Marketo Smart Campaign to trigger the webhook from. This can be an existing campaign, or you can create a new one for this purpose.
  • A webhook payload template. This payload determines the data Marketo sends to allGood. Reach out to allGood support for a template tailored to your use case, or use the default template provided in the steps below.
  • An allGood webhook URL. This looks like https://webhook.allgoodhq.app/xxxxxxxxxxxxxx. You can get this from allGood support, or by creating an Item Webhook in the allGood worksheet you want to connect to.
First, create an allGood worksheet with your desired automation steps. Then open the worksheet settings and create an Item Webhook.

Item Webhook settings in an allGood worksheet

1

Copy the webhook URL

Copy this URL — you’ll paste it into Marketo in a later step.
2

Set the action

Set Action to Add to Worksheet + Run Flow if you want the flow to run automatically when new items arrive.
Make sure you have all three prerequisites before continuing. If you have questions, contact allGood support and we can walk you through the process.

Part 1: Create a webhook configuration in Marketo

2

Set the URL and request type

The New Webhook form appears.

The New Webhook form in Marketo with fields for URL, Request Type, Template, and encoding

Under URL, enter the allGood webhook URL from your prerequisites.Under Request Type, select POST.
3

Paste the payload template

Under Template, paste the payload template verbatim — copy it directly from this page and paste directly into Marketo. Do not use Word, Google Docs, or any other app as an intermediate step. Those applications silently add hidden formatting characters that cause 400 errors.
If allGood support hasn’t provided a custom template, use this default:
Use the copy button in the top-right of the code block to copy it cleanly to your clipboard.
4

Set encoding and response type

Under Request Token Encoding, select JSON.Leave Response type as None.
5

Create the webhook

Click CREATE to save the configuration.
After clicking CREATE, Marketo navigates you to a different page in webhook settings. Navigate back to the webhook before continuing.
In the right-panel navigation menu, click the webhook you created to return to it.

The right-panel navigation menu in Marketo showing the newly created webhook listed

6

Add the Content-Type header

Under Custom Headers, click EDIT.

The Custom Headers section with the EDIT button highlighted

Add a new header. Set Header to Content-Type and Value to application/json.

The Custom Headers editor showing Content-Type set to application/json

Click SAVE.
7

Verify the configuration

Your completed webhook configuration should look like this:

A completed Marketo webhook configuration showing all required fields filled in correctly

When your configuration matches the screenshot above, the webhook is ready. The next step is to trigger it from a Smart Campaign.

Part 2: Trigger the webhook from a Smart Campaign

1

Create or open a Smart Campaign

Create a new Smart Campaign in an appropriate location, or open an existing one.
2

Configure the Smart List trigger

Under Smart List, add the trigger for the event you want to capture — for example, Fills Out Form, or any other lead-based trigger.
3

Add a consent filter

Add the appropriate consent filter to your Smart List.
4

Add the webhook action to the Flow

Under Flow, add a Call Webhook action. Select the webhook you created in Part 1.
5

Configure the Schedule

Under Schedule, set the campaign to run each person through the flow every time they qualify. This ensures the webhook fires on repeat entries, not only the first.
6

Activate the campaign

Click Activate to turn the campaign on.
To confirm the setup is working, trigger the campaign with a test lead — for example, submit the form you set as the Smart List trigger using a test email address. Then go to Marketing Activities > [your campaign] > Results. You should see a Call Webhook activity with a status of 200 OK. Open your allGood worksheet — the test lead’s data should appear as a new item within a few seconds.

Troubleshooting

If you see 400 errors or “Unparseable JSON” in the Marketo activity log, the cause is almost always a configuration error. Work through these checks in order. Check 1: Template copied verbatim Open the webhook configuration and compare your template to the one in this article character by character. Word, Google Docs, and similar apps can silently add hidden formatting characters when you paste through them — this breaks the JSON even when it looks correct on screen. Copy the template directly from this article and paste it directly into Marketo. Check 2: Content-Type header set correctly Confirm that the Custom Headers section contains exactly one entry: Header = Content-Type, Value = application/json. If this header is missing or misspelled, Marketo sends the webhook in the wrong format and allGood cannot parse it. Check 3: You’re editing the right webhook Marketo navigates you away from the current webhook every time you save a setting. Confirm the webhook name shown at the top of the configuration page matches the one you created. If you’re on a different webhook, your changes are going to the wrong place.

Still need help?

If you’ve worked through all three checks and the webhook is still failing, contact allGood and include:
  • The error code or activity log message from Marketo
  • A screenshot of your completed webhook configuration page
  • The step in this article where things went wrong