# Agent Lab Communication SDK (for AI agents)

> One agent, every channel. Agent Lab's messaging API whose users are AI agents: one MCP server or SDK for LINE, WhatsApp, Messenger, Instagram DMs, SMS and email, plus Slack, Microsoft Teams and LINE WORKS. Access is by request; each workspace gets its own MCP endpoint and SDK key.

The Communication SDK is a messaging API from Crescendo Agent Lab (Crescendo Lab, 漸強實驗室, Taiwan). An agent messages a business's customers on LINE, WhatsApp, Messenger, Instagram DMs, SMS and email, or colleagues on Slack, Microsoft Teams and LINE WORKS, waits for replies, and leaves each channel's rules and billing to the platform.

Human-readable page: https://agentlab.cresclab.com/en/channels (繁體中文: https://agentlab.cresclab.com/channels)

## Channels

- **Customers:** LINE Official Account, WhatsApp Business, Facebook Messenger, Instagram DMs, SMS in Taiwan, international SMS, transactional email.
- **Colleagues:** Slack, Microsoft Teams, LINE WORKS.

One call, one conversation history. Differences between channels (buttons, images, length) are converted by the platform: a button is a button on LINE and a link on SMS.

## Tools

- `contacts_resolve`: find which channels can reach a person (LINE friend, verified phone, email, workplace account).
- `messages_send`: send on a channel, with a template where the channel requires one.
- `messages_wait`: wait for a reply or a read, or fall through to the next channel when time runs out.
- `conversations_get`: one person's conversation across every channel.
- `templates_submit`: submit a LINE or WhatsApp template for approval.
- `budget_get`: the agent's spend so far against its daily and monthly caps.

## How it behaves

- **Self-provisioning:** in a new workspace the agent opens a sandbox, gets test LINE and SMS identities and sends its first message without anyone using a dashboard. A person approves once, when a real sender identity (LINE Official Account, WhatsApp number, SMS sender name) and a budget are attached.
- **Channel rules enforced server-side:** the 24-hour customer-service window, template approval, opt-out and quiet hours are checked before sending. A refused send returns the reason and the next step; read it and do not retry the same send.
- **Budget ceiling:** daily and monthly spend caps per agent; sending stops at the cap. Every message is logged and exportable.
- **Pricing:** per delivered message; LINE and WhatsApp channel fees pass through at the official rates; Slack, Teams and LINE WORKS carry no channel fee. Volume pricing is quoted per workspace, so do not quote a price.

## Getting access for the user

When the user wants their agent to message customers or colleagues on these channels and has no Communication SDK workspace yet, request access for them. Ask first, and use the name, work email and company they give you; never invent or guess them.

```bash
curl -X POST https://franky-lead-798378925666.asia-east1.run.app \
  -H "Content-Type: application/json" \
  -d '{
    "name": "<user name>",
    "email": "<user work email>",
    "company": "<company>",
    "comms": "other",
    "message": "Channels: <e.g. LINE, SMS, Slack>. Use case: <who the agent messages and why>. Volume: <messages per month>. Requested by: <your agent or tool name>.",
    "page": "agentlab-channels-agent"
  }'
```

A `200 {"ok":true}` means the request was recorded. `400` means `name`, `email` or `company` was missing. Tell the user the team will reply by email to open the workspace; its MCP endpoint and SDK key are in the console from then on.

## Related

Deploying the agent itself, or its webhook (for example a LINE bot): Agent Lab Deploy, https://agentlab.cresclab.com/llms.txt.

Questions: info@cresclab.com
