---
title: "Connect Acquire to ChatGPT: Manage Cases, Contacts, and Support Bots"
slug: connect-acquire-to-chatgpt-manage-cases-contacts-and-support-bots
date: 2026-08-07
author: Nidhi KN
categories: ["AI & Agents"]
excerpt: "Learn how to connect Acquire to ChatGPT using a managed MCP server. Automate support cases, engage contacts, and audit chatbots with zero custom code."
tldr: "Connect Acquire to ChatGPT using Truto's managed MCP server. This guide shows how to handle Acquire's real-time chat APIs, strict rate limits, and nested analytics payloads using native AI tool calling."
canonical: https://truto.one/blog/connect-acquire-to-chatgpt-manage-cases-contacts-and-support-bots/
---

# Connect Acquire to ChatGPT: Manage Cases, Contacts, and Support Bots


If your support team uses Acquire to manage live chats, cobrowsing, and omnichannel cases, you need a way to surface that data intelligently. Connecting Acquire to ChatGPT allows your AI agents to read customer histories, draft replies, analyze cobrowse metrics, and audit chatbot workflows in real time. If your team uses Claude instead, check out our guide on [connecting Acquire to Claude](https://truto.one/connect-acquire-to-claude-sync-kb-articles-support-cases-and-analytics/), or explore our broader architectural overview on [connecting Acquire to AI Agents](https://truto.one/connect-acquire-to-ai-agents-automate-support-sms-and-bot-workflows/).

Giving a Large Language Model (LLM) read and write access to a complex customer engagement platform is a significant engineering challenge. You either spend weeks building, hosting, and maintaining a custom integration layer, or you use a managed infrastructure layer that handles the boilerplate for you.

This guide breaks down exactly how to use Truto to generate a secure, managed [Model Context Protocol (MCP) server](https://truto.one/what-is-mcp-and-mcp-servers-and-how-do-they-work/) for Acquire, connect it natively to ChatGPT, and execute complex support workflows using natural language.

## The Engineering Reality of the Acquire API

A custom MCP server is a self-hosted integration layer that translates an [LLM's tool calls](https://truto.one/what-is-llm-function-calling-for-integrations-2026-guide/) into REST API requests. While the open MCP standard provides a predictable way for models to discover tools, implementing it against vendor APIs requires navigating vendor-specific architectures.

If you decide to build a custom MCP server for Acquire, you are responsible for the entire API lifecycle. Acquire is not a simple CRUD database - it is a real-time conversational engagement platform. Here are the specific integration challenges that break standard assumptions when working with the Acquire API:

**Thread and Timeline Dependencies**
When you interact with the Acquire API, resources are heavily nested and state-dependent. For example, to send an SMS via the API, you cannot simply provide a phone number. You must first query the message list to locate the correct `threadId` and `timelineId`, then construct a payload that references these exact identifiers. If your custom server does not enforce these relationships in the JSON schemas exposed to the LLM, the model will hallucinate generic payloads and the requests will fail.

**Nested Analytics Data Structures**
Acquire provides deep analytics for chats, cases, and cobrowse sessions. However, the data returned by endpoints like `acquire_analytics_cobrowse_overview` is highly nested. It returns a `graphRow` object containing parallel arrays for time-series labels, session counts, and average times, alongside a `summary` object comparing current and previous periods. LLMs struggle with unstructured nested arrays. Your MCP server must explicitly type every property in the response schema so the LLM knows how to parse and summarize the time-series data.

**Strict Rate Limiting and 429 Errors**
Acquire enforces strict [rate limits](https://truto.one/how-to-handle-third-party-api-rate-limits-when-an-ai-agent-is-scraping-data/) to protect its real-time chat infrastructure. If an AI agent attempts to bulk-analyze thousands of chat transcripts in a single loop, the API will aggressively reject requests. Truto does not retry, throttle, or apply backoff on rate limit errors. When the upstream Acquire API returns an HTTP 429 (Too Many Requests), Truto passes that error directly back to the caller. Truto normalizes the upstream rate limit information into standardized headers (`ratelimit-limit`, `ratelimit-remaining`, `ratelimit-reset`) per the IETF specification. Your LLM application or agent framework is entirely responsible for reading these headers and implementing exponential backoff.

**Active State Constraints for Messaging**
To send a chat message (`create_a_acquire_message`), the API requires an active case. If an LLM attempts to send a message to a closed or archived case, the API will reject it. Your MCP tools must provide explicit instructions guiding the LLM to verify case status via `get_single_acquire_case_by_id` before attempting a write operation.

## How to Generate a Managed Acquire MCP Server

Instead of building and maintaining this translation layer yourself, you can use Truto to generate a managed MCP server. 

Truto derives MCP tools dynamically from the underlying integration's resources and documentation records. A tool only appears in the MCP server if it has a corresponding documentation entry, ensuring that only curated, well-described endpoints are exposed to the LLM. Each MCP server is scoped to a single integrated account and secured by a hashed cryptographic token.

You can create an MCP server for Acquire in two ways: via the Truto UI or programmatically via the API.

### Method 1: Via the Truto UI

1. Log in to your Truto dashboard and navigate to the **Integrated Accounts** page.
2. Select your connected Acquire account.
3. Click the **MCP Servers** tab.
4. Click **Create MCP Server**.
5. Select your desired configuration (e.g., restrict to `read` methods only, or filter by specific tags).
6. Copy the generated MCP server URL. (You will only see this URL once).

### Method 2: Via the Truto API

For platform builders automating onboarding, you can generate MCP servers programmatically. 

Send an authenticated `POST` request to the `/integrated-account/:id/mcp` endpoint. The API validates that the Acquire integration is AI-ready, generates a secure token, stores it in Cloudflare KV for edge-optimized lookups, and returns a ready-to-use URL.

```bash
curl -X POST https://api.truto.one/integrated-account/<acquire_account_id>/mcp \
  -H "Authorization: Bearer <YOUR_TRUTO_API_TOKEN>" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acquire Support AI",
    "config": {
      "methods": ["read", "write"],
      "tags": ["support", "analytics"]
    }
  }'
```

The response contains the secure server URL:

```json
{
  "id": "mcp_abc123",
  "name": "Acquire Support AI",
  "config": { "methods": ["read", "write"], "tags": ["support", "analytics"] },
  "expires_at": null,
  "url": "https://api.truto.one/mcp/a1b2c3d4e5f6..."
}
```

## How to Connect the MCP Server to ChatGPT

Once you have your Acquire MCP server URL, you must register it with your ChatGPT environment. You can do this through the ChatGPT UI for individual users or via a manual configuration file for programmatic agent setups.

### Method 1: Via the ChatGPT UI

1. Open ChatGPT and navigate to **Settings -> Apps -> Advanced settings**.
2. Enable the **Developer mode** toggle (MCP support requires this flag).
3. Under **MCP servers / Custom connectors**, click **Add new server**.
4. Provide a name (e.g., "Acquire API").
5. Paste the Truto MCP server URL into the **Server URL** field.
6. Click **Save**.

ChatGPT will immediately perform a JSON-RPC 2.0 handshake with the server, negotiate protocol version `2024-11-05`, and ingest the dynamically generated tool schemas.

### Method 2: Via Manual Configuration File

If you are running local agents, Claude Desktop, or custom OpenAI-compatible wrappers that rely on [standard MCP configuration files](https://truto.one/what-is-mcp-and-mcp-servers-and-how-do-they-work/), you can define the server using the Server-Sent Events (SSE) transport adapter.

Add the following configuration to your MCP settings file (e.g., `mcp.json` or `claude_desktop_config.json`):

```json
{
  "mcpServers": {
    "acquire-truto": {
      "command": "npx",
      "args": [
        "-y",
        "@modelcontextprotocol/server-sse",
        "https://api.truto.one/mcp/a1b2c3d4e5f6..."
      ]
    }
  }
}
```

## Hero Tools for Acquire Automation

Truto provides comprehensive coverage of the Acquire API. When an LLM calls a tool, the MCP router splits the flat argument object into precise query parameters and body payloads based on the derived JSON schemas. 

Here are six high-leverage tools available for your AI agents.

### list_all_acquire_cases

This tool retrieves a list of Acquire cases. It allows the LLM to apply condition-based filtering and relation expansion, making it ideal for support triage. The tool natively handles standardizing pagination limits and cursors.

> "Find all active support cases in Acquire that were created today, and extract the contact IDs associated with them."

### get_single_acquire_contact_by_id

Retrieves a complete contact record, including custom attributes (`fields`), client device metadata, tags, and the latest timeline ID. This is critical for agents needing contextual history before drafting a reply.

> "Look up the full contact record for contact ID 84920. Tell me what company they belong to and list any tags currently applied to their profile."

### create_a_acquire_message

Allows the AI agent to send a chat message directly to an active conversation. The LLM must supply the `contactId`, `caseId`, and a message object. The tool schema explicitly enforces that only active cases may receive messages.

> "Send a chat message to case ID 1104 saying: 'Our engineering team is currently investigating the latency issue. We will update you within the hour.'"

### acquire_analytics_chat_chat_overview

Fetches chat overview analytics with hourly time-series data and period-over-period summary metrics. The schema provided to the LLM ensures it can unpack the nested `graphRow` data accurately.

> "Pull the chat overview analytics for the last 7 days. Summarize our average response time and compare it to the previous period."

### list_all_acquire_bot_qna

Retrieves questions and answers for a specific Conversational Bot group. This tool is invaluable for auditing bot knowledge and identifying gaps in automated responses.

> "Retrieve all published QnA pairs for bot group ID 45. Are there any answers that mention our outdated 'Pro Tier' pricing?"

### create_a_acquire_snooze

Creates a snooze schedule for a case or contact, temporarily removing it from the active queue. The LLM handles passing the required `scheduleDate` timestamp.

> "Snooze case ID 5932 until tomorrow at 9:00 AM UTC, as we are waiting on a response from the vendor."

*For the complete inventory of available endpoints - including cobrowse analytics, sequence bots, knowledge base articles, and VoIP calls - view the [Acquire integration page](https://truto.one/integrations/detail/acquire).* 

## Workflows in Action

Exposing individual endpoints to an LLM is useful, but the true value of MCP is agentic orchestration - allowing the model to chain multiple tools together to solve complex business problems.

### Scenario 1: Support Triage and Automated Response

Customer support queues often fill with routine inquiries. You can instruct an AI agent to monitor the queue, read historical context, and draft or send appropriate replies.

> "Check Acquire for any pending cases assigned to the billing department. For each case, look up the contact's profile to see if they are a VIP customer. If they are, send a chat message letting them know their issue has been escalated to tier 2 support."

**Execution Steps:**
1. The agent calls `list_all_acquire_cases` filtered by the billing queue and pending status.
2. For each returned case, the agent extracts the `contactId` and calls `get_single_acquire_contact_by_id`.
3. The agent evaluates the contact's custom fields or tags for VIP status.
4. For matching contacts, the agent executes `create_a_acquire_message` to send the required text to the active case.

```mermaid
sequenceDiagram
  participant User as ChatGPT Agent
  participant TrutoMCP as Truto MCP Server
  participant AcquireAPI as Acquire API

  User->>TrutoMCP: Call list_all_acquire_cases(queue="billing")
  TrutoMCP->>AcquireAPI: GET /cases?queue=billing
  AcquireAPI-->>TrutoMCP: [ { id: 101, contactId: 55 } ]
  TrutoMCP-->>User: Returns case list
  
  User->>TrutoMCP: Call get_single_acquire_contact_by_id(id=55)
  TrutoMCP->>AcquireAPI: GET /contacts/55
  AcquireAPI-->>TrutoMCP: { tags: ["VIP"] }
  TrutoMCP-->>User: Returns contact profile
  
  User->>TrutoMCP: Call create_a_acquire_message(caseId=101, text="...")
  TrutoMCP->>AcquireAPI: POST /messages
  AcquireAPI-->>TrutoMCP: 201 Created
  TrutoMCP-->>User: Success confirmation
```

### Scenario 2: Chatbot Knowledge Auditing

Support teams often lose track of what their automated conversational bots are actually saying to customers over time. An AI agent can continuously audit this knowledge base.

> "Pull the analytics for our most common chat tags over the last month. Then, check our default bot group's QnA list to see if we have answers covering the top 3 tags. If anything is missing, list the gaps."

**Execution Steps:**
1. The agent calls `acquire_analytics_chat_tag_reporting` to retrieve the frequency distribution of conversation tags.
2. The agent identifies the top 3 tags by volume.
3. The agent calls `acquire_bot_groups_get_default` to find the default group ID, then calls `list_all_acquire_bot_qna` for that group.
4. The agent cross-references the QnA text against the top tags and returns a markdown summary of missing coverage areas.

## Security and Access Control

Giving AI models access to your customer engagement data requires strict security boundaries. Truto provides four distinct mechanisms to constrain MCP server access:

*   **Token Authentication:** Raw tokens are never stored. The random hex string in the URL is hashed via HMAC before being checked against Cloudflare KV, meaning compromised storage infrastructure does not expose active tokens.
*   **Method Filtering:** You can enforce category-level constraints at server creation. By setting `config.methods: ["read"]`, the MCP server will only generate tools for `GET` and `LIST` operations, completely blocking the LLM from executing writes, updates, or deletes.
*   **Tag Filtering:** You can restrict the server to specific functional areas. By passing `config.tags: ["analytics"]`, the MCP server will exclusively expose reporting and analytics tools, hiding cases, contacts, and billing endpoints.
*   **Time-to-Live (TTL):** Servers can be configured with an `expires_at` timestamp. Once the expiration is reached, Truto's Durable Object alarms automatically clean up the database records and KV entries, immediately invalidating the URL.
*   **Secondary Authentication:** By enabling `require_api_token_auth: true`, possession of the MCP URL alone is insufficient. The client must also provide a valid Truto API token in the `Authorization` header, linking tool execution strictly to authenticated personnel.

> Stop manually mapping nested analytics schemas and handling 429 errors. Let Truto generate secure, AI-ready MCP servers for your Acquire integration.
>
> [Talk to us](https://cal.com/truto/partner-with-truto)

Connecting Acquire to ChatGPT transforms a static customer engagement platform into a dynamic, agentic workflow engine. Instead of forcing human operators to constantly monitor live chat queues and cross-reference analytics, you can delegate those tasks to LLMs that interact securely with the Acquire API. By using a managed MCP layer, your engineering team bypasses the complexities of real-time schema mapping and API lifecycle maintenance, allowing them to focus entirely on building better AI capabilities.
