What can you do with it?
The Marketo API allows you to manage marketing automation campaigns and lead data. You can create and update leads, manage campaigns and programs, track lead activities, handle email communications, work with forms and landing pages, manage custom objects, and implement comprehensive marketing automation workflows.
How to use it?
Basic Command Structure
/your-marketo-connection [action] [required-parameters] [optional-parameters]
Parameters
Required:
action
- The action to perform (get, create, update, delete, trigger, send)
entity
- The entity type (lead, campaign, program, email, form, list)
id
- Entity ID for specific operations
Optional:
filter_type
- Filter type for searches (email, id, etc.)
filter_values
- Values to filter by
lookup_field
- Field to use for lead lookup
activity_type_ids
- Activity types to retrieve
fields
- Specific fields to return
tokens
- Campaign tokens for personalization
Get Lead by ID
Retrieve a specific lead using their unique ID.
Parameters:
lead_id
(required) - Lead ID to retrieve
Example:
/your-marketo-connection
action: get
entity: lead
lead_id: 318581
Response:
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"id": 318581,
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"updatedAt": "2023-04-11T08:59:18Z",
"createdAt": "2023-04-10T10:30:00Z"
}
]
}
Create or Update Leads
Create new leads or update existing ones based on lookup field.
Parameters:
action_type
(required) - Action type (createOrUpdate)
lookup_field
(required) - Field to use for lookup (email, id)
leads
(required) - Array of lead objects
email
(required) - Lead email address
first_name
(optional) - Lead first name
last_name
(optional) - Lead last name
company
(optional) - Lead company
title
(optional) - Lead job title
Example:
/your-marketo-connection
action: create
entity: leads
action_type: createOrUpdate
lookup_field: email
leads: [
{
"email": "john.doe@example.com",
"firstName": "John",
"lastName": "Doe",
"company": "Acme Corp",
"title": "Software Engineer"
}
]
Response:
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"id": 318581,
"status": "updated"
}
]
}
Get Leads by Filter
Retrieve leads using filter criteria like email addresses.
Parameters:
filter_type
(required) - Filter type (email, id, leadPartitionId)
filter_values
(required) - Comma-separated values to filter by
fields
(optional) - Specific fields to return
Example:
/your-marketo-connection
action: get
entity: leads
filter_type: email
filter_values: john.doe@example.com,jane.smith@example.com
fields: id,firstName,lastName,email,company
Response:
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"id": 318581,
"firstName": "John",
"lastName": "Doe",
"email": "john.doe@example.com",
"company": "Acme Corp"
},
{
"id": 318582,
"firstName": "Jane",
"lastName": "Smith",
"email": "jane.smith@example.com",
"company": "Tech Solutions"
}
]
}
Get Lead Activities
Retrieve lead activities based on activity type IDs.
Parameters:
activity_type_ids
(required) - Comma-separated activity type IDs
next_page_token
(optional) - Token for pagination
lead_ids
(optional) - Specific lead IDs to filter
Example:
/your-marketo-connection
action: get
entity: activities
activity_type_ids: 1,6,12
next_page_token: GIYDAOBNGEYS2MBWKQYDAORQGA5DAMBOGAYDAKZQGAYDALBQ
Response:
{
"requestId": "e42b#14272d07d78",
"success": true,
"nextPageToken": "GIYDAOBNGEYS2MBWKQYDAORQGA5DAMBOGAYDAKZQGAYDALBQ",
"moreResult": true,
"result": [
{
"id": 2,
"leadId": 318581,
"activityDate": "2023-04-11T08:59:18Z",
"activityTypeId": 6,
"primaryAttributeValue": "Visited Web Page",
"attributes": [
{
"name": "Web Page",
"value": "https://example.com/pricing"
}
]
}
]
}
Add Leads to List
Add leads to a specific static list.
Parameters:
list_id
(required) - List ID to add leads to
lead_ids
(required) - Array of lead IDs to add
Example:
/your-marketo-connection
action: add
entity: leads_to_list
list_id: 1001
lead_ids: [318581, 318582]
Response:
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"id": 318581,
"status": "added"
},
{
"id": 318582,
"status": "added"
}
]
}
Get Campaigns
Retrieve a list of available campaigns.
Parameters:
program_ids
(optional) - Filter by specific program IDs
is_triggerable
(optional) - Filter by triggerable campaigns only
Example:
/your-marketo-connection
action: get
entity: campaigns
is_triggerable: true
Response:
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"id": 1001,
"name": "Welcome Email Campaign",
"description": "Send welcome email to new leads",
"type": "trigger",
"programId": 2001,
"workspaceName": "Default",
"createdAt": "2023-04-10T10:30:00Z",
"updatedAt": "2023-04-11T08:59:18Z"
}
]
}
Trigger Campaign
Execute a campaign for specific leads with optional tokens.
Parameters:
campaign_id
(required) - Campaign ID to trigger
lead_ids
(required) - Array of lead IDs to include
tokens
(optional) - Array of token objects for personalization
Example:
/your-marketo-connection
action: trigger
entity: campaign
campaign_id: 1001
lead_ids: [318581, 318582]
tokens: [{"name": "{{my.discount-code}}", "value": "SAVE20"}]
Response:
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"id": 318581,
"status": "triggered"
},
{
"id": 318582,
"status": "triggered"
}
]
}
Get Programs
Retrieve a list of marketing programs.
Parameters:
status
(optional) - Filter by program status
max_return
(optional) - Maximum number of programs to return
Example:
/your-marketo-connection
action: get
entity: programs
status: on
max_return: 20
Response:
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"id": 2001,
"name": "Onboarding Program",
"description": "New customer onboarding workflow",
"type": "nurture",
"channel": "Email",
"status": "on",
"workspace": "Default",
"createdAt": "2023-04-10T10:30:00Z"
}
]
}
Retrieve a list of forms available in Marketo.
Parameters:
status
(optional) - Filter by form status
folder_id
(optional) - Filter by folder ID
Example:
/your-marketo-connection
action: get
entity: forms
status: approved
Response:
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"id": 1001,
"name": "Contact Us Form",
"description": "Main contact form for website",
"createdAt": "2023-04-10T10:30:00Z",
"url": "https://app-sjdemo.marketo.com/#FO1001A1",
"status": "approved",
"language": "English",
"locale": "en_US"
}
]
}
Send Sample Email
Send a sample email for testing purposes.
Parameters:
email_id
(required) - Email ID to send
email_address
(required) - Recipient email address
text_only
(optional) - Send text-only version
lead_id
(optional) - Lead ID for personalization
Example:
/your-marketo-connection
action: send
entity: sample_email
email_id: 3001
email_address: test@example.com
text_only: false
lead_id: 318581
Response:
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"id": 1,
"status": "sent"
}
]
}
Get Custom Objects
Retrieve custom object definitions.
Parameters:
names
(optional) - Filter by specific custom object names
Example:
/your-marketo-connection
action: get
entity: custom_objects
Response:
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"name": "car_c",
"displayName": "Car",
"description": "Car purchase tracking",
"createdAt": "2023-04-10T10:30:00Z",
"idField": "marketoGUID",
"dedupeFields": ["vin"],
"searchableFields": [["vin"], ["marketoGUID"], ["leadId"]]
}
]
}
Create Custom Object Records
Create or update custom object records.
Parameters:
custom_object_name
(required) - Custom object API name
action_type
(required) - Action type (createOrUpdate)
dedupe_by
(required) - Deduplication method
records
(required) - Array of custom object records
Example:
/your-marketo-connection
action: create
entity: custom_object_records
custom_object_name: car_c
action_type: createOrUpdate
dedupe_by: dedupeFields
records: [
{
"vin": "19UYA31581L000000",
"leadId": 318581,
"make": "Toyota",
"model": "Camry",
"year": 2023
}
]
Response:
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"seq": 0,
"marketoGUID": "dff23271-f996-47d7-984f-f2676861b5fb",
"status": "created"
}
]
}
Delete Leads
Delete leads from the Marketo database.
Parameters:
lead_ids
(required) - Array of lead IDs to delete
Example:
/your-marketo-connection
action: delete
entity: leads
lead_ids: [318581, 318582]
Response:
{
"requestId": "e42b#14272d07d78",
"success": true,
"result": [
{
"id": 318581,
"status": "deleted"
},
{
"id": 318582,
"status": "deleted"
}
]
}
Notes
All responses include requestId for tracking and success boolean indicating operation status. Lead activities use nextPageToken for pagination when moreResult is true. Campaign types include trigger (real-time) and batch (scheduled). Custom objects support relationships with leads. Tokens enable dynamic content in campaigns. Activity type IDs map to specific Marketo activities like email opens, web visits, and form fills. Uses PinkConnect proxy connection. Lead fields support both standard and custom attributes. Programs organize campaigns and assets in hierarchical structures.