> For the complete documentation index, see [llms.txt](https://developer.emporix.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://developer.emporix.io/agentic-commerce-intelligence/agentic-intelligence/configuration/tools/comm-tools.md).

# Communication Tools Configuration

Understand how communication tools are configured per tenant and how agents use them for outbound and inbound collaboration.

Communication tools extend Emporix Agentic AI with outbound and inbound collaboration. Agents use these tools to create conversation spaces, invite participants, post messages, and receive replies from identified users.

<table data-view="cards"><thead><tr><th align="center"></th><th align="center"></th><th align="center"></th><th data-hidden data-card-target data-type="content-ref"></th></tr></thead><tbody><tr><td align="center"><i class="fa-slack">:slack:</i></td><td align="center"><strong>Slack AI Tool</strong></td><td align="center">Install and configure Slack for collaboration purposes with AI agents.</td><td><a href="/agentic-commerce-intelligence/agentic-intelligence/configuration/tools/comm-tools/slack.md">Slack AI Tool</a></td></tr><tr><td align="center"><i class="fa-microsoft">:microsoft:</i></td><td align="center"><strong>MS Teams AI Tool</strong></td><td align="center">Connect Microsoft Teams as a collaboration space with AI agents.</td><td><a href="/agentic-commerce-intelligence/agentic-intelligence/configuration/tools/comm-tools/ms-teams.md">MS Teams AI Tool</a></td></tr></tbody></table>

## Shared configuration behavior

Each tenant maintains its own communication tool configuration:

* Tool credentials and tokens are stored per tenant and are never shared across environments during import.
* Communication tools are not imported or reused when you migrate agents between tenants. You must create or reconnect them in the target tenant. For details, see [AI Agent Import/Export](/agentic-commerce-intelligence/agentic-intelligence/agent-import-export.md).
* Agents reference a specific tool instance in their **Native Tools** configuration. The instance determines where collaboration happens and what scopes it can use.
* How participants are invited depends on the agent:
  * For predefined agents from the Emporix library, participants whose emails are listed in the company's **Contact Info** mixin are invited to the conversation.
  * For other agents, you can add participants directly by providing their email.
* If a user with that email does not exist in Slack or Microsoft Teams and cannot be added, the failure is recorded in [AI Logs](/agentic-commerce-intelligence/agentic-intelligence/logs.md) at warning or error severity — review contact details or verify that the user exists in the target workspace.
* Conversation records are stored on the communication tool instance and on the agent that uses it. The agent's **Conversations** tab is added when communication happens. The same events are also available in [AI Logs](/agentic-commerce-intelligence/agentic-intelligence/logs.md).

## Using a communication tool in an agent

Attach a Slack or MS Teams tool instance to an agent, then instruct collaboration in the **Prompt**. The same steps apply to both providers.

{% stepper %}
{% step %}

#### Attach the tool instance

Select the Slack or MS Teams tool instance in the **Native Tools** list when configuring the agent. See [AI Agents](/agentic-commerce-intelligence/agentic-intelligence/agents.md#attach-tools).
{% endstep %}

{% step %}

#### Instruct collaboration in the prompt

In the agent **Prompt**, instruct the agent who to collaborate with and what to communicate. You can also specify the default inbound agent that handles messaging and gathers context for the collaboration.

In Slack, the bot creates channels in the connected workspace. In Microsoft Teams, the Emporix Agent bot can create *standard* and *shared* channels, as well as group chats.

The following example prompt defines collaboration that uses a communication tool and an inbound agent:

```
(...)

## Human collaboration escalation
When category is INCORRECT_INVOICE, DAMAGED_GOODS, or WRONG_ITEM, escalate using **your native collaboration tool** (whichever communication tool is in your tool list).
Do not assume a specific provider — read provider from the collaborate tool result `source`:
- `slack_collaboration` → provider `slack`
- `teams_collaboration` → provider `teams`

**Collaboration parameters:**
- **inbound_agent_id:** ALWAYS `support-agent` (Support Agent). Required on every collaborate/create call so Support owns all subsequent human replies in that channel. Do not leave unset.
- **participants:** account manager emails from `mixins.contactsInfo.accountManagers` on legal entity response. Empty list if none.
- **context_ref:** MUST be stable for the case: `complaint:<orderId>` (e.g. `complaint:EON1002`). Reuse an existing case when this ref already has a channel.
- **channel_name / topic:** MUST be unique per new escalation.
  - Format: `complaint-<orderId>` (lowercase, letters, digits, hyphens; max 80 chars).
- **message / summary:** descriptive, well formatted case summary including category and order id
- **extra context:** include `category`, `orderId`, `customerId`, `legalEntityId` when known

Example:
collaborate_on_channel(
  message="<one-line summary>",
  channel_name="complaint-<orderId>",
  participants=[...],
  context_ref="complaint:<orderId>",
  inbound_agent_id="support-agent"
)

(...)
```

{% endstep %}

{% step %}

#### Runtime: collaboration and inbound replies

The agent and the communication tool perform these actions; you do not perform them during configuration. However, when the actions happen depends on how you orchestrate the flow with other agents and tools.

* When the agent invokes the communication tool at runtime, the tool creates or reuses the configured channel or chat, invites participants, and posts the agent message.
* When a user replies in the conversation, the tool forwards the reply to the inbound agent mapped to that channel or chat.

{% hint style="info" %}
By default, the agent that starts a channel or chat remains bound as the inbound agent for that conversation. In the agent **Prompt**, you can assign a different inbound agent when collaboration starts. For example, the Complaint Agent creates the chat but assigns the Support Agent as the inbound agent, so replies in that conversation go to Support.
{% endhint %}
{% endstep %}

{% step %}

#### Review conversations

Conversation records are stored on the communication tool instance and on the agent that uses it. When communication happens, a **Conversations** tab is added to the agent. You can also review collaboration events and query details in [AI Logs](/agentic-commerce-intelligence/agentic-intelligence/logs.md).
{% endstep %}
{% endstepper %}

## Outbound and inbound collaboration

### Outbound

Several agents can attach the same Slack or MS Teams tool instance and use it to start collaboration. When an agent triggers the tool, the tool creates or reuses a channel or chat, invites participants, and posts the agent message. In the agent **Prompt**, describe who to collaborate with and what to communicate. Failures (for example, unmatched users or channel creation issues) appear in [AI Logs](/agentic-commerce-intelligence/agentic-intelligence/logs.md).

{% hint style="warning" %}
You can configure a separate MS Teams tool instance in Emporix for each Microsoft Teams team. Channel creation and channel collaboration work with that **Team ID**. Group chats are not tied to a team ID, so chat communication in Microsoft Teams might not work when more than one MS Teams tool instance is configured.
{% endhint %}

### Inbound

When an agent starts collaboration and is added to a channel or chat, Emporix stores context that maps that channel or chat ID to the inbound agent. Replies in the conversation are forwarded to the inbound agent bound to that ID. Optionally, configure the **Default inbound agent** on the tool instance so replies have a clear agent owner when no other inbound agent is specified.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://developer.emporix.io/agentic-commerce-intelligence/agentic-intelligence/configuration/tools/comm-tools.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
