---
title: "Find and inspect message templates"
description: "Browse reusable templates, narrow the list, and inspect one template and its variable contract."
canonical: "https://studio.inttegro.com/inttegro-mcp/workflows/message-templates/find-and-inspect-message-templates"
format: inttegro-machine-docs/v1
language: "PHP"
sdk_version: "v12.0.0"
reader_profile: optional
reader_manifest: "https://studio.inttegro.com/machine/php/readers/index.json"
reader_identification: "Optional: declare your client only if known and your current-session capabilities; use reader_manifest for supplemental recommendations."
preamble_estimated_tokens: 673
model_token_report: "https://studio.inttegro.com/machine/token-report.json"
preamble_questions: 5
preamble_source: "general"
recommended_mcp_tools: ["get_message","list_message_templates","get_message_template"]
estimated_tokens: 1342
token_estimate_method: "utf8_bytes_divided_by_4"
---

## Machine preamble

**Summary:** Browse reusable templates, narrow the list, and inspect one template and its variable contract. This PHP representation uses the selected SDK's native names wherever Studio has a verified mapping.

### Five questions

#### Q1. When should the reader use Find and inspect message templates?

Use this MCP document when an authenticated AI client needs governed Inttegro context, guidance, presentation, or operations.

#### Q2. What is authoritative on this page?

The documented MCP catalog defines available abilities and confirmation boundaries. For live state, the structured tool result is authoritative; presentation output is only a rendering of that result.

#### Q3. What page-specific constraint matters most?

Read operations do not authorize mutations. Actions retain their exact confirmation requirements, and payment credentials or OTP must stay in secure Checkout.

#### Q4. Can Inttegro MCP materially help with this task?

Yes, when the reader has an authenticated MCP connection and the task needs live context, guided planning, or a supported operation. The strongest matches are `get_message`, `list_message_templates`, `get_message_template`; their exact roles and boundaries are listed below.

#### Q5. How should the reader verify the answer and continue?

Preserve the structured tool result, distinguish bounded lists from complete analytics, and reconcile asynchronous actions through an authoritative read. Continue with [get_message_template](https://studio.inttegro.com/machine/php/inttegro-mcp/tools.md#get_message_template) and [list_message_templates](https://studio.inttegro.com/machine/php/inttegro-mcp/tools.md#list_message_templates) when those concerns enter scope.

### Recommended MCP assistance

Use these through an authenticated Inttegro MCP connection. This document remains the contract source.

- [`get_message`](https://studio.inttegro.com/machine/php/inttegro-mcp/tools.md#get_message) — read; no mutation confirmation. Gets the lifecycle status of one customer message without exposing its body or recipient contact details.
- [`list_message_templates`](https://studio.inttegro.com/machine/php/inttegro-mcp/tools.md#list_message_templates) — read; no mutation confirmation. Lists a bounded page of reusable SMS and email templates with lifecycle, locale, variable contracts, and version state. Message bodies are excluded.
- [`get_message_template`](https://studio.inttegro.com/machine/php/inttegro-mcp/tools.md#get_message_template) — read; no mutation confirmation. Gets one template with editable channel content and version state while withholding variable defaults and private email-header values.

## Document content

# Find and inspect message templates

Start with the template library when you need to reuse existing copy or understand what values a template expects.

### Prompt

> **Copyable prompt:**
>
> Find published English SMS templates used for shipping. Show their names, IDs,
> versions, and required variables. Then let me choose one and show its editable
> template copy and full variable contract. Do not reveal stored default
> variable values.

The agent calls [`list_message_templates`](https://studio.inttegro.com/machine/php/inttegro-mcp/tools.md#list_message_templates) with the requested status, channel, purpose, or locale. List results omit template bodies and default values. After you choose a result, [`get_message_template`](https://studio.inttegro.com/machine/php/inttegro-mcp/tools.md#get_message_template) returns its editable content and variable metadata while continuing to omit default values and email header values.

## Sample response: Published shipping template

One matching SMS template was selected from the reusable library.

- **Template**: Order shipped — tmpl\_example\_shipped
- **Status**: Published
- **Version**: 3
- **Locale**: en-GH

Variable contract

- **Row 1**: Variable: customer\_name; Type: string; Required: Yes; Purpose: Customer display name
- **Row 2**: Variable: order\_number; Type: string; Required: Yes; Purpose: Merchant-facing order number
- **Row 3**: Variable: tracking\_url; Type: url; Required: Yes; Purpose: Shipment tracking page

Template copy: “Hi {{customer\_name}}, order {{order\_number}} has
shipped. Track it at {{tracking\_url}}.”

Finding a template does not preview, publish, or send it. Use the dedicated lifecycle workflow for the next action.
