> ## Documentation Index
> Fetch the complete documentation index at: https://docs.allgoodhq.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Finding programs and working with data

> Search Marketo and review program and email details with the allGood Marketo MCP.

Once the allGood Marketo MCP is connected, you can search your Marketo instance and review program and email details directly in conversation — no switching tabs, no digging through Design Studio. This article covers the tools for finding and reading data. For working with tokens, editing email content, cloning, and sending, see [Editing and sending emails with the allGood Marketo MCP](/use-cases/marketo-mcp/capabilities-editing-emails).

New to MCP, or wondering what connecting it actually does? See the [Overview](/use-cases/marketo-mcp/index) first.

***

## Before you start

The Marketo MCP must be active in your conversation before any of these tools are available — see [Claude Desktop](/use-cases/marketo-mcp/claude-desktop) or [ChatGPT Desktop](/use-cases/marketo-mcp/chatgpt-desktop) for setup.

<Note>
  Every tool below can be set individually to run automatically, ask you first, or be turned off — see [Can I control which actions need my approval first?](/use-cases/marketo-mcp/faq#can-i-control-which-actions-need-my-approval-first) in the FAQ.
</Note>

## What data this touches

The Marketo tools read and write Marketo program and email data — programs, folders, tokens, email content and templates, forms, and smart campaign names. They don't touch lead or contact records. Everything the assistant does is attributed back to you individually and logged, even though Marketo itself only sees allGood's single integration user — so a token update made in a chat is traceable to the person who made it, not just to "allGood."

***

## Finding programs, campaigns, and assets

### Search for a Marketo program

**What it does:** Searches your Marketo instance for programs by name, returning matches with their type, channel, status, and URL.

**When to use it:** Start here when you know a program name but need its ID to use with other tools, or want to confirm a program exists and check its status.

**Example prompts:**

* *"Find the Q1 Webinar program in Marketo."*
* *"Is there a program called 'FY26 Q2 Prospecting'?"*

### Search for a smart campaign

**What it does:** Fuzzy-searches Marketo smart campaigns by approximate name — typos and partial names are fine. Returns each match's status, type, and whether it's active.

**When to use it:** When you need a campaign's ID, or want to confirm whether a campaign already exists before building a new one.

**Example prompts:**

* *"Find the smart campaign that sends the renewal reminder."*
* *"Is there something like 'Q1 Nurture Trigger'?"*

<Note>
  Smart campaign and form search read from a periodically synced dataset, not live Marketo. If the tenant's data hasn't been synced yet, the result says so — try the exact name, or ask your allGood contact to confirm the sync.
</Note>

### Search for a folder

**What it does:** Finds Marketo folders by name — an exact match first, falling back to fuzzy search. Returns each folder's type, full path, and workspace.

**When to use it:** When you need a destination folder ID for cloning a program, or want to confirm where something lives in Marketo's folder structure.

**Example prompts:**

* *"Find the 'Webinars 2026' folder."*
* *"Which folder holds the nurture programs?"*

### Search for a form

**What it does:** Fuzzy-searches Marketo forms by approximate name.

**When to use it:** When you need a form's ID — for example, to confirm which form a landing page uses.

**Example prompts:**

* *"Which form does the webinar landing page use?"*
* *"Find a form named roughly 'Contact Us 2026'."*

### Get a program summary

**What it does:** Returns a readable, markdown overview of a program — folder structure, smart campaigns, emails, landing pages, forms, and a token table showing which emails use each token, with warnings about unused or unknown tokens.

**When to use it:** When you want a program explained to you, not just returned as raw data — this is the one to ask for when presenting a program to a stakeholder or documenting it for a handoff.

**Example prompts:**

* *"Summarize program 1234 for me."*
* *"Audit the tokens in program 5678 and flag anything unused."*

<Note>
  Large programs produce long summaries and can take a moment — this tool makes several Marketo API calls behind the scenes to put the picture together.
</Note>

### Get full program details

**What it does:** Returns everything inside a Marketo program — metadata, all its tokens, and a full inventory of assets: emails, landing pages, smart campaigns, smart lists, and forms. Traverses the entire folder structure, so nothing gets missed.

**When to use it:** This is the deep-dive, machine-readable view — use it when you need IDs to act on, not just a readable summary.

**Example prompts:**

* *"Show me all the assets in program 1234."*
* *"Give me a full inventory of the Q3 Nurture program."*

***

## Program metadata

### Update program tags

**What it does:** Updates the tags on a program — the metadata fields your Marketo instance uses to categorize programs (region, business unit, campaign type).

**When to use it:** When a program's tags are missing, wrong, or need to match a naming convention.

**Example prompts:**

* *"Set the business unit tag for program 5678 to 'Enterprise'."*

<Warning>
  Tag updates apply immediately to your live Marketo instance. Confirm the program ID and tag values before proceeding.
</Warning>

***

## Reading email content

### Get email details

**What it does:** Returns full details for a Marketo email — subject line, from name, from email, reply-to, template, content sections, and the complete rendered HTML.

**When to use it:** Use this to review what an email actually says before it sends, or to pull HTML for external review.

**Example prompts:**

* *"Show me the content of email 9876."*
* *"Get the full HTML for email 4321."*

### Get an email template

**What it does:** Returns a template's metadata (name, status, folder, version), and optionally its raw HTML.

**When to use it:** When you already have a template ID — for example, from an email's details — and want to confirm what it is before parsing its structure.

**Example prompts:**

* *"Show me template 4567's metadata."*

<Note>
  Template HTML can be large. Prefer "Understand a template's structure" below to see modules and variables without pulling the full HTML.
</Note>

### Find an email template by name

**What it does:** Finds a template by its exact name — there's no fuzzy fallback for templates.

**When to use it:** When you know the exact template name. If you don't, get the template ID from an email's details instead.

**Example prompts:**

* *"Get the 'Newsletter Master 2.0' template."*

### Get email variables

**What it does:** Returns an email's template variables and their current values.

**When to use it:** To see which variables drive an email's content, or — filtered to tokenized variables only — which ones are wired to program tokens and can be set through the token tools instead.

**Example prompts:**

* *"Which tokens drive the content of email 1234?"*
* *"List all variables and their current values for email 5678."*

### Get an email's current layout

**What it does:** Returns the modules currently placed in an email, in display order, with each module's scoped variables and the instance IDs the editing tools need.

**When to use it:** Before editing an email — this is how you find the IDs to pass to the module and content-section tools. Also use it right after a change, to confirm it landed.

**Example prompts:**

* *"What's in email 1234 right now, and in what order?"*

### Understand a template's structure

**What it does:** Parses a Marketo Email 2.0 template into its modules, editable elements, and variables — without needing to read raw HTML.

**When to use it:** Before building or heavily editing an email, to understand what a template offers.

**Example prompts:**

* *"What modules does template 4567 have?"*
* *"Which variables control the layout of this template?"*

### See what modules a template offers

**What it does:** Lists the modules available on an email's Email 2.0 template, with each module's tokenized variables. (Only Email 2.0 emails have modules — older free-form emails return a message instead.)

**When to use it:** To find a module's ID before adding it to an email.

**Example prompts:**

* *"What content blocks can I use in email 1234?"*

***

## Practical workflows

### Audit a program's tokens before a send

> *"Get the full details for program 1234, then summarize it for me and flag any tokens that are unused or set to a placeholder value."*

## Related articles

* [Overview](/use-cases/marketo-mcp/index)
* [Editing and sending emails with the allGood Marketo MCP](/use-cases/marketo-mcp/capabilities-editing-emails)
* [Marketo MCP FAQ](/use-cases/marketo-mcp/faq)
* [Import a list into a worksheet with MCP](/use-cases/list-upload/mcp-list-upload)
* [Marketo MCP: security, data, and governance](/use-cases/marketo-mcp/security-and-governance)
