# 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:

Tool Description
list_programs Lists marketing programs with optional status and update-time filters.
get_program Retrieves details for a program by ID.
create_program Creates a new marketing program.
clone_program Creates a new program by cloning an existing program.
update_program Updates program metadata.
list_smart_campaigns Lists smart campaigns within a program.
get_smart_campaign Retrieves details of a smart campaign.
activate_trigger_campaign Activates a trigger campaign.
deactivate_trigger_campaign Deactivates a trigger campaign.
schedule_batch_campaign Schedules a batch campaign run.
get_program_members Retrieves members of a program with their statuses.
add_program_members Adds leads to a program.
remove_program_members Removes leads from a program.
update_program_member_status Updates the status of program members.
list_program_tokens Lists tokens defined for a program.
update_program_token Updates the value of a program token.
get_program_performance Retrieves operational performance metrics for a program.
get_email_performance Retrieves 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

Workato supports custom authentication to connect to Marketo.

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.

Complete the following configuration tasks to establish a Marketo connection in Workato:

# Create an API role

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

# Minimum scopes

You must select the following minimum role scopes roles when creating a new API role:

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

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

2

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

3

Click New role.

4

Provide a name for your new role in the Role name field and optionally a description in the Description field.

5

Select the Access API checkbox in the Permissions field.

Role permissionsCreate role in Marketo

6

Click Create to create the API role.

# Create an API user

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

1

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

2

Click Invite new user.

3

Fill out the Email, First name, and Last name fields. Optionally, fill out the Reason and Access expires fields.

4

Click Next.

5

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

6

Select the API only checkbox.

User permissionsCreate user in Marketo

7

Click Next.

8

Click Send.

# Create a custom service for Workato

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 documentation (opens new window) for more information about custom services.

Complete the following steps to create a custom service for Workato:

1

Go to Admin > LaunchPoint.

2

Click New > New service.

3

Enter a descriptive Display name and select Custom in the Service menu.

4

Enter a description in the Description field.

5

Select the API only user you created in the previous step in the API only user menu.

6

Click Create.

New custom serviceNew custom service

# Retrieve client credentials

Complete the following steps to retrieve client credentials:

1

Select View details for the new custom service.

View custom serviceView custom service

2

Copy the Client ID and Client secret. These values are required to authenticate your Marketo connection in Workato.

Client credentialsClient credentials

# Complete the setup in Workato

Complete the following steps to set up your Marketo connection:

1

Select Create > Connection.

2

Search for and select Marketo on the New connection page.

3

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

4

Use the Location drop-down menu to select the project or folder where you plan to store your Marketo 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.

You can find the base URL by signing into Marketo and navigating to Admin > Integration > Web services. Refer to the Marketo documentation (opens new window) for more information.

6

Enter the client ID generated in Marketo in the Custom service client ID field.

7

Enter the client secret generated in Marketo in the Custom service client secret field.

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: 4/14/2026, 3:33:41 PM