---
title: "Create and send a message template"
description: "Create, preview, publish, and send one reusable SMS or email template with explicit review at every lifecycle boundary."
canonical: "https://studio.inttegro.com/inttegro-mcp/workflows/message-templates/create-and-send-a-message-template"
format: inttegro-machine-docs/v1
language: "Java"
sdk_version: "v8.3.0"
reader_profile: optional
reader_manifest: "https://studio.inttegro.com/machine/java/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: 684
model_token_report: "https://studio.inttegro.com/machine/token-report.json"
preamble_questions: 5
preamble_source: "general"
recommended_mcp_tools: ["preview_message_template","create_message_template","publish_message_template"]
estimated_tokens: 1481
token_estimate_method: "utf8_bytes_divided_by_4"
---

## Machine preamble

**Summary:** Create, preview, publish, and send one reusable SMS or email template with explicit review at every lifecycle boundary. This Java representation uses the selected SDK's native names wherever Studio has a verified mapping.

### Five questions

#### Q1. When should the reader use Create and send a message template?

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 `preview_message_template`, `create_message_template`, `publish_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 [send_customer_template](https://studio.inttegro.com/machine/java/inttegro-mcp/tools.md#send_customer_template) and [publish_message_template](https://studio.inttegro.com/machine/java/inttegro-mcp/tools.md#publish_message_template) when those concerns enter scope.

### Recommended MCP assistance

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

- [`preview_message_template`](https://studio.inttegro.com/machine/java/inttegro-mcp/tools.md#preview_message_template) — read; no mutation confirmation. Renders the current draft with supplied non-secret variables so the merchant can review the actual SMS or email before publishing.
- [`create_message_template`](https://studio.inttegro.com/machine/java/inttegro-mcp/tools.md#create_message_template) — action; exact user confirmation required. Creates one reusable SMS or email draft with a typed variable contract. Creation does not publish or send it.
- [`publish_message_template`](https://studio.inttegro.com/machine/java/inttegro-mcp/tools.md#publish_message_template) — action; exact user confirmation required. Publishes the reviewed draft for future Chime sends after separate confirmation.

## Document content

# Create and send a message template

Use this workflow when customer-facing copy should be reviewed once and reused safely. Drafting, publishing, and delivery remain separate actions.

### Prompt

> **Copyable prompt:**
>
> Create an SMS template named “Order ready” for order updates. Its exact copy
> should be “Hi {{customer\_name}}, order {{order\_number}} is ready for
> pickup.” Declare both variables as required strings. Preview it for customer
> Ama and order WEB-1042, let me approve the rendered message, publish it, then
> send it to customer `<CUSTOMER_ID>`. Confirm creation, publication, and
> delivery separately.

The agent uses [`create_message_template`](https://studio.inttegro.com/machine/java/inttegro-mcp/tools.md#create_message_template) to create a draft, then [`preview_message_template`](https://studio.inttegro.com/machine/java/inttegro-mcp/tools.md#preview_message_template) with representative values. Only after you approve the rendered copy does it use [`publish_message_template`](https://studio.inttegro.com/machine/java/inttegro-mcp/tools.md#publish_message_template). [`send_customer_template`](https://studio.inttegro.com/machine/java/inttegro-mcp/tools.md#send_customer_template) renders the published template again and shows the exact message before making one delivery attempt.

## Sample response: Published template sent

The reviewed published version was sent once to the saved customer by SMS.

- **Template**: Order ready — tmpl\_example\_ready
- **Channel**: SMS
- **Published version**: 1
- **Delivery**: Initialized — chime\_example\_ready

* **Row 1**: Step: Draft; Reviewed result: Created with 2 required string variables
* **Row 2**: Step: Preview; Reviewed result: Hi Ama, order WEB-1042 is ready for pickup.
* **Row 3**: Step: Publish; Reviewed result: Version 1 published
* **Row 4**: Step: Send; Reviewed result: One SMS initialized for cus\_example\_01

An updated template becomes a new draft. If it differs from the published version, the send tool refuses delivery until that draft is previewed and published. The tool accepts a saved customer ID, not a raw phone number, and cannot broadcast or schedule messages.
