How Default connects to Marketo
If Marketo syncs with your Salesforce instance, the fields Default writes to a Salesforce record,
such as the owner, reach Marketo through that sync when Marketo syncs those fields. No webhook is
needed for them.
Choose a path for each Marketo event
- A visitor submits a Marketo form on your site. Use the Pixel. Default gets the submission while the visitor is still on the page, so the workflow can route the lead and show a scheduler right after the submit.
- Something changes inside Marketo. Use a Marketo webhook. Examples are a lead score crossing your threshold, a program status change, or a lead joining a list.
- Send each event through 1 path. If a form submission reaches Default through the Pixel and also through a Marketo webhook, the lead runs through 2 workflows and can be routed twice.
Capture Marketo forms with the Pixel
The Default Pixel recognizes forms rendered by Marketo’s Forms 2.0 embed code. It listens for the form’s success event, so Default receives the submitted values after Marketo accepts the submission. Marketo still receives every submission.1
Install the Pixel
Connect the domain in Signals and add the Pixel snippet to the pages that hold your Marketo
forms. For a Marketo landing page, add the snippet to the landing page template. A connected
domain covers its subdomains, so
example.com also covers a landing page on go.example.com.
See Set up the Pixel and Forms SDK.2
Catalog the form
In Signals, open the domain’s actions menu and select Catalog forms. Under
Start on, pick the page with the Marketo form, then select Open catalog mode. On your
page, select Add form on the Marketo form and confirm. See
Add forms from your site.
3
Map its fields
Map the Marketo fields you route on, such as
Email, Company, and Country, to Person and
Company fields. See Map form fields.4
Start a workflow from it
In Workflows, add the Form Submission trigger and set Connected Form to the Marketo
form. To offer a meeting right after the submit, add a Display Scheduler node. See
How Default books a meeting from a form submission.
Send Marketo leads to Default with a webhook
A Marketo webhook can post lead data to a Default Ingestion URL. Each request starts the published, enabled workflows that use that webhook in their Incoming Webhook trigger.1
Create the webhook in Default
In Workflows, create a workflow and add the Incoming Webhook trigger. Under
Connected Webhook, select Create new webhook.
2
Copy the URL and the secret
The trigger shows the Ingestion URL and the Bearer secret. Copy the URL, then reveal
and copy the secret. The secret is shared by every incoming webhook in your workspace. See
Webhook Secret.
3
Create the webhook in Marketo
In Marketo, go to Admin → Webhooks and select New Webhook:
- URL: the Ingestion URL from Default.
- Request Type: POST.
- Template: a JSON body built from Marketo tokens, like the example below.
- Request Token Encoding: JSON.
Authorization with the value Bearer <your secret>.4
Give Default a sample
Back in the Default trigger, under Test event, select Paste a sample and paste the
template with example values. You can also select Listen for test event and have Marketo
call the webhook within 5 minutes. A captured request builds the field list and does not run
the workflow.
5
Map the lead's email
Under Identity mapping, set Person email to the field that holds the email, for
example
email. Later nodes, such as Enrich Data, then treat the request as that person.6
Build and publish the workflow
Add the nodes that act on the lead and select Publish. Then check that the status next to
the deployment switch reads Live. A new workflow goes live
when you first publish it. If the status reads Paused, turn the switch on.
7
Call the webhook from a smart campaign
In Marketo, add the Call Webhook flow step to the smart campaign that should send leads,
choose the webhook, and activate the campaign.
{{ in a later node to use
them.
How the Ingestion URL responds
Send 1 lead per request. A request whose body is a list starts 1 workflow run with the whole list.
Route Marketo leads when they reach a lead score threshold
Marketo keeps scoring the lead, and Default decides who owns it. A common setup:- Marketo decides when a lead qualifies. A smart campaign runs when the lead’s score crosses your threshold, for example with Marketo’s Score is Changed trigger, and calls the Default webhook with a Call Webhook flow step.
- Default checks the CRM. A Match Record node looks up the lead by email in Salesforce or HubSpot.
- Default picks an owner for new records. On the No Match branch, a Round-Robin node picks a rep from a queue, and Create Record writes the rep as the owner. See Queues and Round-Robin.
- Existing owners stay in place. On the Match branch, notify the current owner with Send Slack Message and leave the record’s owner as it is. If some matched records still belong to a placeholder owner, such as your Marketo sync user, send only those through Round-Robin and Update Record with a Multi-Branch node on the owner.
- Default tells the new owner. On the No Match branch, add Send Slack Message with the lead’s score and company, so the rep follows up while the lead is active.
Send data from Default back to Marketo
Through your CRM
If Marketo syncs with Salesforce, write the result to the Salesforce record with Update Record or Create Record. Marketo picks it up through its own sync. This keeps 1 system of record and needs no Marketo credentials in Default.Through the Marketo REST API
Marketo’s REST API accepts an access token that Marketo issues in exchange for an API user’s client ID and client secret. Keep that exchange out of Send to Webhook. Its run logs show a request’s URL parameters and body fields, and hide only common credential names such assecret, token, and
password, so a client_secret value would appear in the log.
To write to Marketo from a workflow, send the data to a service you control that holds the Marketo
credentials and calls the Marketo REST API, such as your own backend:
- Add Send to Webhook with Request Type set to POST and Request URL set to your service’s endpoint.
- Set Authorization to API Key or Token so the service can check the caller. Default hides the API Key and Bearer Token values in run logs.
- Under Body, send the lead’s email and the values to write, for example the assigned rep.
Type
{{to insert them. - The service requests a Marketo access token and updates the lead. See Marketo’s REST API documentation for the lead endpoints.
Troubleshoot Marketo and Default
Related: Default integrations