---
title: "Maintain and message a customer"
description: "Review a customer, update one display field, and send a confirmed message by customer ID."
canonical: "https://studio.inttegro.com/inttegro-mcp/workflows/customers/maintain-and-message-a-customer"
format: inttegro-machine-docs/v1
language: "C#"
sdk_version: "v10.3.0"
reader_profile: optional
reader_manifest: "https://studio.inttegro.com/machine/csharp/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: 662
model_token_report: "https://studio.inttegro.com/machine/token-report.json"
preamble_questions: 5
preamble_source: "general"
recommended_mcp_tools: ["get_customer","update_customer","send_customer_sms"]
estimated_tokens: 1248
token_estimate_method: "utf8_bytes_divided_by_4"
---

## Machine preamble

**Summary:** Review a customer, update one display field, and send a confirmed message by customer ID. This C# representation uses the selected SDK's native names wherever Studio has a verified mapping.

### Five questions

#### Q1. When should the reader use Maintain and message a customer?

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_customer`, `update_customer`, `send_customer_sms`; 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_sms](https://studio.inttegro.com/machine/csharp/inttegro-mcp/tools.md#send_customer_sms) and [update_customer](https://studio.inttegro.com/machine/csharp/inttegro-mcp/tools.md#update_customer) when those concerns enter scope.

### Recommended MCP assistance

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

- [`get_customer`](https://studio.inttegro.com/machine/csharp/inttegro-mcp/tools.md#get_customer) — read; no mutation confirmation. Gets one customer by ID using a minimized projection that reports channel availability without exposing raw contact details.
- [`update_customer`](https://studio.inttegro.com/machine/csharp/inttegro-mcp/tools.md#update_customer) — action; exact user confirmation required. Updates selected customer identity, contact, or delivery fields without returning raw contact or address data.
- [`send_customer_sms`](https://studio.inttegro.com/machine/csharp/inttegro-mcp/tools.md#send_customer_sms) — action; exact user confirmation required. Sends one SMS of at most 120 characters to an existing customer. Arbitrary phone numbers, broadcasts, and schedules are not accepted.

## Document content

# Maintain and message a customer

The customer ID is the delivery boundary. The agent does not need the customer's raw phone number.

### Prompt

> **Copyable prompt:**
>
> Find customer `<CUSTOMER_ID>`, summarize their returned commerce activity and
> available communication channels without revealing contact details, update
> only the requested display field, then send the exact SMS “Your order is ready
> for pickup.” Confirm the update and message separately.

The agent uses [`get_customer`](https://studio.inttegro.com/machine/csharp/inttegro-mcp/tools.md#get_customer), [`update_customer`](https://studio.inttegro.com/machine/csharp/inttegro-mcp/tools.md#update_customer), and [`send_customer_sms`](https://studio.inttegro.com/machine/csharp/inttegro-mcp/tools.md#send_customer_sms).

## Sample response: Customer updated and message sent

The result identifies the customer and delivery lifecycle without returning contact details or message content.

- **Customer**: cus\_example\_01
- **Profile update**: Succeeded
- **SMS status**: Sent — chime\_example\_sms

* **Row 1**: Action: Update requested display field; Confirmation: Accepted; Result: Customer updated
* **Row 2**: Action: Send SMS; Confirmation: Accepted; Result: Delivery initialized

Reading the customer does not authorize a change. The profile update and the message are separate actions with separate confirmations and results.
