---
title: Unified Instant Messaging API — Truto Unified API
slug: instant-messaging
canonical: "https://truto.one/unified-apis/instant-messaging/"
---

# Instant Messaging Unified API

Integrate Instant Messaging data across 4 providers with one API. 7 normalized resources, real-time pass-through, fully customizable.

**Base URL:** `https://api.truto.one/unified/instant-messaging`  
**Resources:** 7  
**Integrations:** 4

## Resources

### Attachments

Attachments are files or links that are attached to messages in the source application. (10 fields)

- `id` (string) — The unique identifier for the attachment
- `file_name` (string) — The attachment's name.
- `channel_id` (string) — The channel id to which the attachment belongs
- `size` (number) — The file size in bytes
- `file_url` (string) — The URL to download the attachment
- `content_type` (string) — The content type of the attachment
- `uploaded_by` (string) — The user who uploaded the attachment
- `uploaded_by_type` (string) — The type of the user who uploaded the attachment
- `created_at` (string) — The time when the attachment was created
- `updated_at` (string) — The time when the attachment was updated

### Channels

Channels are a way to group the communication happening between users in the source application. Channels can be used for group messaging, team messaging, etc. (12 fields)

- `id` (string) — Unique identifier for the channel.
- `name` (string) — Name of the channel.
- `description` (string) — Description of the channel.
- `organization` (object) — Organization to which the channel belongs.
- `workspace` (object) — Workspace to which the channel belongs.
- `group` (object) — Group to which the channel belongs.
- `type` (string) — Type of the channel.
- `status` (string) — Status of the channel.
- `is_member` (boolean) — Is the current authed user or application is a member of the channel. This might not directly mean that the user or application can post messages on the channel.
- `created_by` (object) — 
- `created_at` (string) — Date and time when the channel was created.
- `updated_at` (string) — Date and time when the channel was last updated.

### Groups

Groups are a collection of users in the source application. In some applications, they might also be called Teams. (8 fields)

- `id` (string) — Unique identifier for the group.
- `name` (string) — Name of the group.
- `description` (string) — Description of the group.
- `organization` (object) — Organization to which the group belongs.
- `workspace` (object) — Workspace to which the group belongs.
- `type` (string) — Type of the group.
- `created_at` (string) — Date and time when the group was created.
- `updated_at` (string) — Date and time when the group was last updated.

### Members

Members are users, apps, bots and integrations part of the organization. To differentiate between the type of member, use the `type` attribute. (25 fields)

- `id` (string) — The unique identifier for a member
- `first_name` (string) — The first name of the member
- `last_name` (string) — The last name of the member
- `title` (string) — The title of the member
- `name` (string) — The name of the member
- `username` (string) — The username of the member
- `emails` (array) — The emails of the member
- `phones` (array) — The phones of the member
- `status` (string) — The status of the member. If no clear mapping is available, then the raw value is returned.
- `is_email_verified` (boolean) — Whether the member's email has been verified
- `organizations` (array) — The organizations of the member
- `workspaces` (array) — The workspaces of the member
- `type` (string) — The type of member
- `groups` (array) — The groups of the member
- `avatar` (string) — The avatar of the member
- `timezone` (string) — The timezone of the member
- `languages` (array) — The languages preferred by the member
- `bio` (string) — The bio of the member
- `created_at` (string) — The date and time the member was created
- `updated_at` (string) — The date and time the member was last updated
- `last_active_at` (string) — The date and time the member was last active
- `last_login_at` (string) — The date and time the member was last logged in
- `status_changed_at` (string) — The date and time the member's status was last changed
- `activated_at` (string) — The date and time the member was activated
- `urls` (array) — The URLs of the member

### Messages

Messages are the communication between users in the source application. (9 fields)

- `id` (string) — Unique identifier for the message.
- `body` (object) — Body of the message.
- `attachments` (array) — Attachments of the message.
- `author` (object) — Author of the message. Is a member object.
- `channel` (object) — Channel to which the message belongs.
- `parent` (object) — Parent entity of the message.
- `has_children` (boolean) — Whether the message has children.
- `created_at` (string) — Date and time when the message was created.
- `updated_at` (string) — Date and time when the message was last updated.

### Organizations

Organizations are the top level entity in the source application. Users are associated with an organization. (4 fields)

- `id` (string) — Unique identifier for the organization.
- `name` (string) — Name of the organization.
- `created_at` (string) — Date and time when the organization was created.
- `updated_at` (string) — Date and time when the organization was last updated.

### Workspaces

Workspaces represent concepts like teams, workspaces, projects in apps that support them (7 fields)

- `id` (string) — Unique identifier for the workspace.
- `name` (string) — Name of the workspace.
- `description` (string) — Description for the workspace.
- `status` (string) — Status for the workspace
- `organization` (object) — Organization to which the workspace belongs.
- `created_at` (string) — Date and time when the workspace was created.
- `updated_at` (string) — Date and time when the workspace was last updated.

## Supported integrations

- [Google Chat](https://truto.one/integrations/detail/googlechat/)
- [Microsoft 365](https://truto.one/integrations/detail/microsoft/)
- [Microsoft Teams](https://truto.one/integrations/detail/msteams/)
- [Slack](https://truto.one/integrations/detail/slack/)

## Related reading

- [Connect Zendesk to ChatGPT: Automate Ticket Support & Agent Tasks](https://truto.one/blog/connect-zendesk-to-chatgpt-automate-ticket-support-agent-tasks/) — Learn how to connect Zendesk to ChatGPT using a managed MCP server. Automate ticket triage, update statuses, and execute support workflows without custom code.
- [Connect Jira to ChatGPT: Automate Issue Tracking & Task Updates](https://truto.one/blog/connect-jira-to-chatgpt-automate-issue-tracking-task-updates/) — Learn how to connect Jira to ChatGPT using a managed Model Context Protocol (MCP) server. Automate ticket triage, issue updates, and IT workflows without building custom API integrations.
- [Why B2B Fintech Needs More Than Bank Data: Embracing Unified APIs for Core Business Systems](https://truto.one/blog/why-b2b-fintech-needs-more-than-bank-data-unified-apis/) — Bank feeds aren't enough for B2B fintech. Learn why engineering teams are adopting horizontal unified APIs to integrate with NetSuite, Workday, and QuickBooks.
- [What Is the ROI of Adding Integrations to Your SaaS Product? (2026 Guide)](https://truto.one/blog/what-is-the-roi-of-adding-integrations-to-your-saas-product-2026-guide/) — Calculate the true ROI of SaaS integrations. Hard numbers on ARR impact, churn reduction, maintenance costs, and why most teams get the TCO math wrong.
- [Connect Pylon to ChatGPT: Automate B2B Support Sync](https://truto.one/blog/connect-pylon-to-chatgpt-automate-support-issues-account-sync/) — Learn how to connect Pylon to ChatGPT using Truto's managed MCP server. Automate B2B support triage, user management, and account sync without custom code.
- [Plugging Revenue Leaks: Automating Quote-to-Cash with Unified APIs](https://truto.one/blog/plugging-revenue-leaks-automating-quote-to-cash-with-unified-apis/) — Revenue leakage costs companies 3-7% of top-line revenue annually. Learn how engineering teams use unified APIs to automate quote-to-cash workflows.
