Marketo Program Ops MCP server

The Marketo Program Ops MCP server enables LLMs to manage and execute marketing programs in Marketo Engage through natural conversation. It provides tools to set up programs, activate campaigns, manage membership and statuses, and track operational performance without requiring direct interaction with the Marketo interface.

Uses

Use the Marketo Program Ops MCP server to perform the following actions:

  • List marketing programs with status and time filters
  • Get details for specific programs by ID
  • Create new marketing programs
  • Clone existing programs for reuse
  • Update program metadata
  • List smart campaigns within programs
  • Get details of specific smart campaigns
  • Activate and deactivate trigger campaigns
  • Schedule batch campaign runs
  • Retrieve program members and their statuses
  • Add leads to programs
  • Remove leads from programs
  • Update program member statuses
  • List and update program tokens
  • Track program performance metrics
  • Monitor email performance within programs

Example prompts

Use the following example prompts to invoke Marketo Program Ops MCP server tools.

  • List all active marketing programs.
  • Get details for program ID 123074.
  • Create a new webinar program for Q2.
  • Clone the Q1 webinar program for Q2.
  • Update this program's description.
  • Show me the smart campaigns in this program.
  • Activate the trigger campaign for form submissions.
  • Schedule the batch campaign to run tomorrow at 9am.
  • Who are the members of this program?
  • Add these leads to the webinar program.
  • Update member status to 'Attended' for these leads.
  • What tokens are defined for this program?
  • How is the Q1 campaign performing?
  • Show me email performance for this program.

Marketo Program Ops MCP server tools

The Marketo Program Ops MCP server provides the following tools:

ToolDescription
list_programsLists marketing programs with optional status and update-time filters.
get_programRetrieves details for a program by ID.
create_programCreates a new marketing program.
clone_programCreates a new program by cloning an existing program.
update_programUpdates program metadata.
list_smart_campaignsLists smart campaigns within a program.
get_smart_campaignRetrieves details of a smart campaign.
activate_trigger_campaignActivates a trigger campaign.
deactivate_trigger_campaignDeactivates a trigger campaign.
schedule_batch_campaignSchedules a batch campaign run.
get_program_membersRetrieves members of a program with their statuses.
add_program_membersAdds leads to a program.
remove_program_membersRemoves leads from a program.
update_program_member_statusUpdates the status of program members.
list_program_tokensLists tokens defined for a program.
update_program_tokenUpdates the value of a program token.
get_program_performanceRetrieves operational performance metrics for a program.
get_email_performanceRetrieves email performance metrics for emails within a program.

Install the Marketo Program Ops MCP server

Complete the following steps to install a prebuilt MCP server to your project:

1

Sign in to your Workato account.

2

Go to AI Hub > MCP servers.

3

Click + Create MCP server.

4

Go to the Start with pre-built MCP Servers using your connected apps section and select the prebuilt MCP server you plan to use.

5

Click Use this server.

6

Provide a name for your MCP server in the Server name field.

7

Use the Location drop-down menu to select the project for the MCP server.

8

Go to the Connections section and connect to your app account.

9

Select the connection type you plan to use for the MCP server template.

  • User's connection: MCP server tools perform actions based on the identity and permissions of the user who connects to the application. Users authenticate with their own credentials to execute the skill.
  • Your connection: This option uses the connection established by the recipe builder and follows the same principles as normal app connections.

Select your connection typeSelect your connection type

VERIFIED USER ACCESS AUTHENTICATION REQUIREMENTS

Only app connections that use OAuth 2.0 authorization code grant are available for user's connection. Refer to Verified user access for more information.

10

Complete the app-specific connection setup steps in the following section.

Marketo connection setup

View Marketo connection setup steps

The Marketo connector uses custom authentication.

CUSTOM SERVICE CLIENTS

Marketo exposes REST endpoints to enable integration platforms like Workato to remotely access and execute core functionalities. We recommend you create a custom service client specifically for Workato to facilitate this integration.

Key benefits of using a custom service client include:

  • Isolated logging: All operations are logged under a dedicated custom service client for integration and workflow processes. This approach enhances tracking and troubleshooting by isolating issues related to specific integration platforms.
  • Customized permissions: A custom service client allows for tailored permissions and security profiles, independent of individual employee user accounts.

Ensure that the custom service client is granted all necessary permissions to perform the required actions for your integration scenario. If a 403 error occurs during recipe execution, it indicates that the service client lacks the appropriate permissions for the action.

Minimum scopes

View minimum scopes

You must select the following minimum role scopes when you create a new API role. Refer to Create an API role for more information.

  • Read-Only Activity
  • Read-Write Activity
  • Read-Only Lead
  • Read-Write Lead
  • Read-Only Asset
  • Read-Write Asset

Marketo setup for custom authentication

Complete the following steps to set up a custom authentication connection to Marketo in Workato:

Retrieve the REST API endpoint

View retrieve the REST API endpoint steps

Complete the following steps to retrieve the REST API Endpoint in Marketo:

1

Sign in to your Marketo instance as a user with administrator privileges.

2

Go to Admin > Web Services.

3

In the REST API section, copy and save the Endpoint for use in Workato.

Create an API role

View create an API role steps

Complete the following steps to create an API role in Marketo:

1

Go to Admin > Users & Roles and select the Roles tab.

2

Click New Role.

3

Provide a name for your new role in the Role Name field. Optionally, add a description in the Description field.

4

Select the Access API checkbox in the Permissions field.

5

Click Create to create the API role.

Create an API user

View create an API user steps

Complete the following steps to create an API user in Marketo:

1

Go to Admin > Users & Roles and select the Users tab.

2

Click Create API Only User.

3

Fill out the Email, First Name, and Last Name fields.

4

Select the checkbox for the API role you created in the previous step from the Roles menu.

5

Click CREATE API ONLY USER.

Create a custom service

View create a custom service steps

Creating a custom service enables you to retrieve the client ID and client secret used to establish a connection in Workato. Refer to the Marketo Engage Developer Documentation for more information about custom services.

Complete the following steps to create a custom service in Marketo:

1

Go to Admin > LaunchPoint.

2

Click New > New Service.

3

Enter a descriptive Display name and select Custom from the Service drop-down menu.

4

Enter a description in the Description field.

5

Select the user you created in the previous step from the API Only User drop-down menu.

6

Click Create.

Retrieve client credentials

View retrieve client credentials steps

Complete the following steps to retrieve client credentials in Marketo:

1

Select View details for the new custom service you created in the previous step.

View custom serviceView custom service

2

Copy and save the Client Id and Client Secret for use in Workato.

Connect to Marketo with custom authentication

View connect to Marketo with custom authentication steps

Complete the following steps to connect to Marketo in Workato:

1

Select Create > Connection or press C twice.

2

Search for Marketo and select it as your app.

3

Enter a name for your connection in the Connection name field.

Name your connectionName your connection

4

Use the Location drop-down menu to select the project where you plan to store the connection.

5

Enter the base URL of your Marketo instance in the REST Endpoint field. For example, if your REST endpoint is https://123-ABC-456.mktorest.com/rest, enter 123-ABC-456 in this field. Refer to Retrieve the REST API endpoint for more information.

6

Enter the Client Id from Marketo in the Custom Service client ID field. Refer to Retrieve client credentials for more information.

7

Enter the Client Secret from Marketo in the Custom Service client secret field. Refer to Retrieve client credentials for more information.

8

Click Connect.

How to use Marketo Program Ops MCP server tools

Refer to the following sections for detailed information on available tools:

list_programs tool

The list_programs tool lists marketing programs with optional status and update-time filters. Your LLM uses this tool to browse or list programs, or to find programs when only partial or approximate information is available.

Try asking:

  • List all active marketing programs.
  • Show me programs updated in the last week.
  • Find programs with 'webinar' in the name.
  • List all archived programs.

get_program tool

The get_program tool retrieves details for a program by ID. Your LLM uses this tool to get details for a program using the program ID from list_programs or provided by you.

Try asking:

  • Get details for program ID 123074.
  • Show me complete information for this program.
  • What are the details of program 5678?
  • Retrieve program information for the Q1 webinar.

create_program tool

The create_program tool creates a new marketing program. Your LLM uses this tool to create a new program from scratch and asks for required fields if missing.

Try asking:

  • Create a new webinar program for Q2.
  • Set up a new email campaign program.
  • Make a new event program for the trade show.
  • Create a nurture program for new leads.

clone_program tool

The clone_program tool creates a new program by cloning an existing program. Your LLM uses this tool to reuse an existing program setup for a new campaign using a source program ID. Your LLM prompts you to verify token values before activation.

Try asking:

  • Clone the Q1 webinar program for Q2.
  • Copy the email campaign setup for a new product.
  • Duplicate this event program for next month.
  • Create a copy of the nurture program.

update_program tool

The update_program tool updates program metadata. Your LLM uses this tool to modify program metadata. This tool isn't used for structural changes or smart campaign modifications.

Try asking:

  • Update this program's description.
  • Change the program name to 'Q2 Product Launch'.
  • Update program tags for better organization.
  • Modify the program metadata.

list_smart_campaigns tool

The list_smart_campaigns tool lists smart campaigns within a program. Your LLM uses this tool to view or inspect campaigns within a program using the program ID.

Try asking:

  • Show me the smart campaigns in this program.
  • List all campaigns for program 123074.
  • What campaigns are in the webinar program?
  • Display campaigns for this marketing program.

get_smart_campaign tool

The get_smart_campaign tool retrieves details of a smart campaign. Your LLM uses this tool to inspect a campaign before activation or scheduling.

Try asking:

  • Get details for this smart campaign.
  • Show me campaign configuration for the welcome email.
  • What are the details of campaign ID 78900?
  • Review the trigger campaign setup.

activate_trigger_campaign tool

The activate_trigger_campaign tool activates a trigger campaign. Your LLM uses this tool to start a trigger campaign running automatically on qualifying events.

Try asking:

  • Activate the trigger campaign for form submissions.
  • Turn on the welcome email trigger.
  • Start the lead scoring campaign.
  • Activate the automated response campaign.

deactivate_trigger_campaign tool

The deactivate_trigger_campaign tool deactivates a trigger campaign. Your LLM uses this tool to stop an active trigger campaign.

Try asking:

  • Deactivate the form submission trigger.
  • Turn off the welcome email campaign.
  • Stop the automated response trigger.
  • Deactivate this trigger campaign.

schedule_batch_campaign tool

The schedule_batch_campaign tool schedules a batch campaign run. Your LLM uses this tool to run a batch campaign at a time you specify.

Try asking:

  • Schedule the batch campaign to run tomorrow at 9am.
  • Run the email blast on Friday at 2pm.
  • Schedule this campaign for next Monday morning.
  • Set the nurture campaign to run at 10am.

get_program_members tool

The get_program_members tool retrieves members of a program with their statuses. Your LLM uses this tool to view program participants or their statuses using the program ID.

Try asking:

  • Who are the members of this program?
  • Show me participants in the webinar program.
  • List members and their statuses for program 123074.
  • Get the member list for this campaign.

add_program_members tool

The add_program_members tool adds leads to a program. Your LLM uses this tool to add leads to a program.

Try asking:

  • Add these leads to the webinar program.
  • Include these people in the nurture campaign.
  • Add Jade and Marco to this program.
  • Enroll these leads in the event program.

remove_program_members tool

The remove_program_members tool removes leads from a program. Your LLM uses this tool to remove participants from a program.

Try asking:

  • Remove these leads from the program.
  • Take Marco out of the webinar program.
  • Remove unqualified leads from this campaign.
  • Delete these members from the program.

update_program_member_status tool

The update_program_member_status tool updates the status of program members. Your LLM uses this tool to advance or correct the status of program members.

Try asking:

  • Update member status to 'Attended' for these leads.
  • Change Jade's status to 'Registered'.
  • Mark these members as 'No Show'.
  • Update status to 'Engaged' for the active participants.

list_program_tokens tool

The list_program_tokens tool lists tokens defined for a program. Your LLM uses this tool to inspect token values before execution or cloning.

Try asking:

  • What tokens are defined for this program?
  • Show me program tokens and their values.
  • List all tokens for the webinar program.
  • What variables are set for this campaign?

update_program_token tool

The update_program_token tool updates the value of a program token. Your LLM uses this tool to set or update execution parameters for a program.

Try asking:

  • Update the webinar date token to April 15th.
  • Change the speaker name token to 'Dr. Sarah Michaels'.
  • Set the event location token.
  • Update program variables with new values.

get_program_performance tool

The get_program_performance tool retrieves operational performance metrics for a program. Your LLM uses this tool to understand program membership and campaign execution performance.

Try asking:

  • How is the Q1 campaign performing?
  • Show me performance metrics for this program.
  • Get membership statistics for the webinar program.
  • What are the program performance numbers?

get_email_performance tool

The get_email_performance tool retrieves email performance metrics for emails within a program. Your LLM uses this tool to view email engagement metrics for a program.

Try asking:

  • Show me email performance for this program.
  • What are the open and click rates for the campaign emails?
  • Get email engagement metrics for the webinar program.
  • How are the emails in this program performing?

Getting started

View and manage your MCP server tools in the Overview page Tools section. Tool management provides the following capabilities:

TOOLS MUST BE STARTED

Your LLM can only access active tools in your MCP server connector.

Last updated: