Marketo integration | Zervanor
← All connectors

Marketo

Also an agent tool
marketing

Adobe Marketo Engage REST API. Lead Database: leads (get by id/filter, create/update/delete, bulk push, describe), lead field describe, named/static lists (get, get leads, add/remove leads), activities (get lead activities, activity types, deleted leads, paging tokens), custom objects (list/describe/get/sync/delete records), companies, opportunities, sales persons, named accounts, segmentation. Asset API (/asset/v1): programs (CRUD, by-tag, clone, status), smart campaigns (get, schedule, request/trigger, activate/deactivate), emails + email templates (get, clone, update content, approve), landing pages, forms, snippets, files, folders. Bulk Export (/bulk/v1): leads + activities export create/enqueue/status/file. Base URL is per-instance on the Munchkin host https://{config.munchkin_id}.mktorest.com/rest; the Munchkin ID (e.g. 123-ABC-456) is supplied as connector config. Auth is OAuth2 client_credentials — the runtime mints a token from the identity endpoint https://{config.munchkin_id}.mktorest.com/identity/oauth/token (grant_type=client_credentials) using client_id + client_secret. Marketo's identity endpoint accepts credentials as query params on a GET while the platform's client-credentials minting POSTs to token_url; the standard oauth2_client_credentials block is modeled as the contract and the GET nuance is flagged as marketo-01. Marketo cursor pagination uses nextPageToken (token) for activities and leads-by-list, offset/batchSize elsewhere; the polling action (get lead activities) uses a token cursor on nextPageToken over the result list. Marketo webhooks are outbound calls configured in-app (not inbound to us) — no triggers; change notification is via polling (marketo-02).

85 actions · 1 triggers

The Marketo integration lets you connect Marketo to your automations with 85 actions and 1 triggers — and every action is also a tool an AI agent can call. Examples: Describe Leads, Describe Lead Fields, Get Lead by Id, Get Leads by Filter, Create or Update Leads. No blank-canvas wiring — connect it and use it in your workflows.

Every action below is also a tool an AI agent can call — the same pack powers your workflows and your agents.

Triggers 1

Events in Marketo that can start a workflow.

polling

New Marketo lead activities (polled)

Polls GET /v1/activities.json from a paging token, advancing on nextPageToken. Requires activityTypeIds; the first run bootstraps a token via Get Paging Token.

Actions 85

What Zervanor can do in Marketo.

V144

GET

Describe Leads

Describe the lead object and its fields (GET /v1/leads/describe.json). Identity + connectivity probe.

GET

Describe Lead Fields

Describe all lead fields, paged (GET /v1/leads/schema/fields.json).

GET

Get Lead by Id

Get a single lead by its Marketo id (GET /v1/lead/{leadId}.json).

GET

Get Leads by Filter

Get leads matching a filter field/value set (GET /v1/leads.json). filterType + filterValues (comma-separated). Token pagination.

POST

Create or Update Leads

Create, update, or upsert leads in bulk (POST /v1/leads.json). action = createOnly, updateOnly, createOrUpdate, or createDuplicate; lookupField + input array.

POST

Delete Leads

Delete leads by id in bulk (POST /v1/leads/delete.json). input array of { id }.

POST

Push Lead to Marketo

Push a lead to Marketo, triggering a Data Value Change / lead-push campaign source (POST /v1/leads/push.json). lookupField + input array.

GET

Get Lead Partitions

Get the list of available lead partitions (GET /v1/leads/partitions.json).

GET

Get Deleted Leads

Get leads deleted since a paging token (GET /v1/activities/deletedleads.json). nextPageToken required; use Get Paging Token to bootstrap.

GET

Get Paging Token

Get a paging token for a given start datetime (GET /v1/activities/pagingtoken.json). Used to bootstrap activity/lead-change/deleted-lead paging.

GET

Get Lead Activities

Get lead activities since a paging token (GET /v1/activities.json). nextPageToken + activityTypeIds required. Token pagination via nextPageToken.

GET

Get Activity Types

Get the list of activity types and their ids (GET /v1/activities/types.json).

GET

Get Lead Changes

Get data value changes for leads since a paging token (GET /v1/activities/leadchanges.json). nextPageToken + fields required.

GET

Get Static Lists

Get static lists (GET /v1/lists.json). Token pagination.

GET

Get Static List by Id

Get a single static list by id (GET /v1/lists/{listId}.json).

GET

Get Leads by List

Get the members of a static list (GET /v1/lists/{listId}/leads.json). Token pagination via nextPageToken.

POST

Add Leads to List

Add leads to a static list (POST /v1/lists/{listId}/leads.json). input array of { id }.

DELETE

Remove Leads from List

Remove leads from a static list (DELETE /v1/lists/{listId}/leads.json). input array of { id }.

GET

Check List Membership

Check whether leads are members of a static list (GET /v1/lists/{listId}/leads/ismember.json). id = comma-separated lead ids.

GET

List Named Accounts

Get named accounts by filter (GET /v1/namedaccounts.json). filterType + filterValues.

POST

Sync Named Accounts

Create or update named accounts (POST /v1/namedaccounts.json). action + dedupeBy + input array.

GET

Describe Companies

Describe the company object and its fields (GET /v1/companies/describe.json).

GET

Get Companies

Get companies by filter (GET /v1/companies.json). filterType + filterValues.

POST

Sync Companies

Create or update companies (POST /v1/companies.json). action + dedupeBy + input array.

POST

Delete Companies

Delete companies (POST /v1/companies/delete.json). deleteBy + input array.

GET

Describe Opportunities

Describe the opportunity object and its fields (GET /v1/opportunities/describe.json).

GET

Get Opportunities

Get opportunities by filter (GET /v1/opportunities.json). filterType + filterValues.

POST

Sync Opportunities

Create or update opportunities (POST /v1/opportunities.json). action + dedupeBy + input array.

POST

Delete Opportunities

Delete opportunities (POST /v1/opportunities/delete.json). deleteBy + input array.

GET

Get Opportunity Roles

Get opportunity roles by filter (GET /v1/opportunities/roles.json). filterType + filterValues.

POST

Sync Opportunity Roles

Create or update opportunity roles (POST /v1/opportunities/roles.json). action + dedupeBy + input array.

GET

Get Sales Persons

Get sales persons by filter (GET /v1/salespersons.json). filterType + filterValues.

POST

Sync Sales Persons

Create or update sales persons (POST /v1/salespersons.json). action + dedupeBy + input array.

POST

Delete Sales Persons

Delete sales persons (POST /v1/salespersons/delete.json). deleteBy + input array.

GET

List Custom Objects

List custom object types (GET /v1/customobjects.json).

GET

Describe Custom Object

Describe a custom object type and its fields (GET /v1/customobjects/{customObjectName}/describe.json).

GET

Get Custom Object Records

Get custom object records by filter (GET /v1/customobjects/{customObjectName}.json). filterType + filterValues.

POST

Sync Custom Object Records

Create or update custom object records (POST /v1/customobjects/{customObjectName}.json). action + dedupeBy + input array.

POST

Delete Custom Object Records

Delete custom object records (POST /v1/customobjects/{customObjectName}/delete.json). deleteBy + input array.

GET

Get Segmentations

Get segmentation definitions (GET /v1/segmentation.json).

GET

Get Segments

Get the segments within a segmentation (GET /v1/segmentation/{segmentationId}/segments.json).

GET

Get Campaigns

Get campaigns by filter (GET /v1/campaigns.json). Supports id/name/programName/workspaceName filters.

POST

Schedule Campaign

Schedule a batch smart campaign to run (POST /v1/campaigns/{campaignId}/schedule.json). input.runAt + tokens.

POST

Request Campaign (Trigger)

Trigger a triggerable smart campaign for a set of leads (POST /v1/campaigns/{campaignId}/trigger.json). input.leads + tokens.

Asset33

GET

Get Programs

Browse programs, offset-paged (GET /asset/v1/programs.json). offset/maxReturn pagination.

GET

Get Program by Id

Get a program by id (GET /asset/v1/program/{id}.json).

GET

Get Programs by Tag

Get programs by tag type and value (GET /asset/v1/program/byTag.json).

POST

Create Program

Create a program (POST /asset/v1/programs.json). name + folder + type + channel. Form-encoded body.

POST

Update Program

Update a program's metadata (POST /asset/v1/program/{id}.json). Form-encoded body.

POST

Delete Program

Delete a program (POST /asset/v1/program/{id}/delete.json).

POST

Clone Program

Clone a program into a folder (POST /asset/v1/program/{id}/clone.json).

POST

Update Program Member Status

Change the status of leads in a program (POST /asset/v1/program/{id}/members/status.json). status + input array of lead ids.

GET

Get Smart Campaigns

Browse smart campaigns, offset-paged (GET /asset/v1/smartCampaigns.json).

POST

Activate Smart Campaign

Activate a trigger smart campaign (POST /asset/v1/smartCampaign/{id}/activate.json).

POST

Deactivate Smart Campaign

Deactivate a trigger smart campaign (POST /asset/v1/smartCampaign/{id}/deactivate.json).

GET

Get Emails

Browse emails, offset-paged (GET /asset/v1/emails.json).

GET

Get Email by Id

Get an email asset by id (GET /asset/v1/email/{id}.json).

POST

Create Email

Create an email from a template (POST /asset/v1/emails.json). name + template + folder. Form-encoded body.

POST

Clone Email

Clone an email into a folder (POST /asset/v1/email/{id}/clone.json).

POST

Update Email Content

Update the content of an editable section of an email (POST /asset/v1/email/{id}/content/{htmlId}.json). Form-encoded body.

POST

Approve Email

Approve an email draft to make it active (POST /asset/v1/email/{id}/approveDraft.json).

GET

Get Email Templates

Browse email templates, offset-paged (GET /asset/v1/emailTemplates.json).

GET

Get Email Template by Id

Get an email template by id (GET /asset/v1/emailTemplate/{id}.json).

POST

Update Email Template Content

Update the HTML content of an email template (POST /asset/v1/emailTemplate/{id}/content.json). content field.

POST

Approve Email Template

Approve an email template draft (POST /asset/v1/emailTemplate/{id}/approveDraft.json).

GET

Get Landing Pages

Browse landing pages, offset-paged (GET /asset/v1/landingPages.json).

GET

Get Landing Page by Id

Get a landing page by id (GET /asset/v1/landingPage/{id}.json).

GET

Get Forms

Browse forms, offset-paged (GET /asset/v1/forms.json).

GET

Get Form by Id

Get a form by id (GET /asset/v1/form/{id}.json).

GET

Get Form Fields

Get the fields of a form (GET /asset/v1/form/{id}/fields.json).

GET

Get Snippets

Browse snippets, offset-paged (GET /asset/v1/snippets.json).

GET

Get Snippet by Id

Get a snippet by id (GET /asset/v1/snippet/{id}.json).

GET

Get Files

Browse files in the design studio, offset-paged (GET /asset/v1/files.json).

GET

Get File by Id

Get a file by id (GET /asset/v1/file/{id}.json).

GET

Get Folders

Browse folders, offset-paged (GET /asset/v1/folders.json). root + maxDepth.

GET

Get Folder by Id

Get a folder by id (GET /asset/v1/folder/{id}.json). type = Folder or Program.

POST

Create Folder

Create a folder (POST /asset/v1/folders.json). name + parent. Form-encoded body.

Bulk8

POST

Create Bulk Lead Export Job

Create a bulk lead export job (POST /bulk/v1/leads/export/create.json). fields + filter + format.

POST

Enqueue Bulk Lead Export Job

Queue a created bulk lead export job for processing (POST /bulk/v1/leads/export/{exportId}/enqueue.json).

GET

Get Bulk Lead Export Status

Get the status of a bulk lead export job (GET /bulk/v1/leads/export/{exportId}/status.json).

GET

Get Bulk Lead Export File

Download the file of a completed bulk lead export job (GET /bulk/v1/leads/export/{exportId}/file.json).

POST

Create Bulk Activity Export Job

Create a bulk activity export job (POST /bulk/v1/activities/export/create.json). fields + filter + format.

POST

Enqueue Bulk Activity Export Job

Queue a created bulk activity export job (POST /bulk/v1/activities/export/{exportId}/enqueue.json).

GET

Get Bulk Activity Export Status

Get the status of a bulk activity export job (GET /bulk/v1/activities/export/{exportId}/status.json).

GET

Get Bulk Activity Export File

Download the file of a completed bulk activity export job (GET /bulk/v1/activities/export/{exportId}/file.json).

Automations using Marketo

Build your own automation with Marketo in the visual builder.

Frequently asked questions

What can I automate with Marketo?

85 actions are available — for example: Describe Leads, Describe Lead Fields, Get Lead by Id, Get Leads by Filter, Create or Update Leads, and more.

Which Marketo events can start a workflow?

1 triggers — for example: New Marketo lead activities (polled).

Can Marketo be used as an AI agent tool?

Yes. Every Marketo action automatically becomes a tool an AI agent can call — the same pack powers both your workflows and your agents.

How is the Marketo integration modelled?

Marketo is modelled as a versioned connector pack, and the steps that need reasoning fall to first-party agents hosted in the same runtime as the workflows.