---
title: Missive API Integration on Truto
slug: missive
category: Helpdesk
canonical: "https://truto.one/integrations/detail/missive/"
---

# Missive API Integration on Truto



**Category:** Helpdesk  
**Status:** Generally available

## Unified APIs

### Unified User Directory API

- **Me** — 
- **Users** — The User object represents a User.

### Unified Ticketing API

- **Attachments** — Attachments are the files associated with a ticket or a comment.
- **Comments** — Comments represent the communication happening on a Ticket, both between a User and a Contact and the internal things like notes, private comments, etc. A Ticket can have one or more Comments.
- **Tags** — Tags represent a common classification approach used in various ticketing systems. A Ticket may have one or more Tags associated with them.
- **Teams** — Teams represent the grouping system used for Users. These are usually called groups, teams, agent groups, etc. in the underlying products. A User can belong to one or more Teams.
- **Tickets** — Core resource which represents some work that needs to be carried out. Tickets are usually mapped to issues, tasks, work items, etc. depending on the underlying product.
- **Users** — Users represent the people using the underlying ticketing system. They are usually called agents, team members, admins, etc.
- **Workspaces** — Workspaces represent the top-level subdivision in a ticketing system. They usually have their own set of settings, tickets, statuses, priorities and users. Some of the usual terminologies used by the products for the top-level subdivision are projects, bases, spaces, workspace, etc. A Workspace could belong to an Organization.

## MCP-ready AI tools

Truto exposes 32 tools for Missive that AI agents can call directly.

- **list_all_missive_users** — Retrieves all users belonging to organizations to which the authenticated user has membership in a Missive account. The response includes user details such as user ID, name, and email.
- **list_all_missive_teams** — Retrieves a list of teams within organizations to which the authenticated user belongs and has permission to access. The response includes details such as its unique ID, name, and associated organization.
- **list_all_missive_organizations** — Retrieves a list of all organizations/team spaces to which the authenticated user belongs to the Massive account. The response includes details such as its unique ID, name, and any relevant metadata accessible to the authenticated user.
- **list_all_missive_conversations** — Returns a list of conversations visible to the authenticated user in the Missive account. It must be filtered by the mailbox, shared label, or team.
Each conversation includes its unique ID, subject, creation date, latest message subject, participants (users and external authors), message and attachment counts, associated organization and team details, the timestamp of the last activity, and direct URLs to access the conversation within Missive.
- **get_single_missive_conversation_by_id** — Retrieves a single conversation from the Missive account. It always requires an ID to fetch.
- **list_all_missive_conversation_messages** — Retrieves a list of messages within a specific conversation. The conversation_id parameter is required to specify the conversation. Each message includes details such as subject, preview text, sender and recipient information, timestamps, and attachments if present.
- **list_all_missive_conversation_comments** — Retrieves a list of comments within a specific conversation. The conversation_id parameter is required to specify the conversation.  Each comment includes the comment text (body), creation timestamp (created_at), author details (author), attachment information (if provided), and an associated task (if one exists).
- **list_all_missive_shared_labels** — Retrieves shared labels in organizations the authenticated user is part of and has access to.
- **create_a_missive_shared_label** — Create one or more shared labels in Missive. Requires name and organization. Returns shared_labels with id, name, name_with_parent_names, color, parent, and organization fields.
- **update_a_missive_shared_label_by_id** — Update one or more shared-labels in Missive using id. Returns updated shared_labels including name, color, parent, visibility, and sharing settings.
- **missive_attachments_download** — Use this endpoint to download a specific file attachment associated with a message or comment.
- **list_all_missive_contacts** — List contacts in Missive. Requires contact_book. Returns id, first_name, last_name, starred, contact_book, deleted, modified_at, infos, and memberships fields for each contact.
- **get_single_missive_contact_by_id** — Get a specific contact in Missive using id. Returns key details about the contact. A 404 is returned if the contact has been deleted.
- **create_a_missive_contact** — Create contact(s) in Missive. Requires contact_book in the request body. Returns contacts with fields such as id, first_name, last_name, starred, contact_book, infos, memberships, and modified_at.
- **update_a_missive_contact_by_id** — Update one or more contacts in Missive using id. Returns the updated contacts with embedded memberships and infos in the response.
- **list_all_missive_contact_books** — Retrieve all contact books accessible by the authenticated user in the Massive account. Contact books in Missive store contacts and can be private or shared among organization members/users.
- **list_all_missive_contact_groups** — List contact groups or organizations linked to a contact book in Missive. Requires contact_book and kind. Returns contact_groups including id and name.
- **create_a_missive_draft** — Create a new draft in Missive. Returns the created draft object including subject, body, to_fields, from_field and other configuration details. Requires specifying draft content and recipient data.
- **delete_a_missive_draft_by_id** — Delete a draft in Missive. Requires id. Returns confirmation of deletion for the specified draft.
- **list_all_missive_messages** — List messages in Missive matching a specific email_message_id. Returns up to 10 messages if multiple exist, each including headers, body, and attachments.
- **get_single_missive_message_by_id** — Get a specific message in Missive by id. Returns key fields including subject, body, from_field, to_fields, attachments, and conversation details such as organization, team, and assignees.
- **create_a_missive_message** — Create a new incoming message in Missive. Requires account. Returns message details including id, subject, body, from_field, to_fields, delivered_at, and attachments.
- **list_all_missive_responses** — List responses for the authenticated user in Missive. Returns each response with fields including id, title, body, subject, organization, user, share_with_team, modified_at, recipients (to_fields, cc_fields, bcc_fields), shared_labels, and attachments details such as filename, url, and size.
- **get_single_missive_response_by_id** — Get a specific response in Missive using id. Returns fields such as id, name, subject, and body representing the saved email or message template details.
- **create_a_missive_post** — Create a post in Missive. Requires notification with title and body, and optionally conversation for appending to an existing one. Returns conversation (conversation id where post was added) and id (post id used for deletion).
- **delete_a_missive_post_by_id** — Delete a post in Missive using its id. Removes the post from the associated conversation. Only organization owners and admins can delete posts in shared conversations. Returns the deleted post's id and conversation fields in response.
- **create_a_missive_task** — Create a new task in Missive. Requires title. Returns id, conversation, title, description, state, assignees, team, and due_at fields in the response.
- **update_a_missive_task_by_id** — Update a specific task in Missive using id. Returns updated fields including title, description, state, assignees, team, and due_at.
- **create_a_missive_webhook** — Create a webhook in Missive to subscribe to specific events. Requires type and url. Returns the id of the created webhook in the response.
- **delete_a_missive_webhook_by_id** — Delete a webhook in Missive using id. This removes the corresponding rule containing the webhook action. Returns confirmation of deletion.
- **create_a_missive_analytics_report** — Create an analytics report in Missive. Requires organization, start, and end. Returns the report id used to retrieve report results.
- **get_single_missive_analytics_report_by_id** — Get an analytics report in Missive using id. Reports expire 60 seconds after completion and return 404 if incomplete, expired, or inexistent. Response includes analytics data for the requested report.

## How it works

1. **Link your customer's Missive account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach Missive.** The Proxy API is a 1-to-1 mapping of the Missive API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **AI copilot that drafts replies inside your customers' Missive inbox** — If you're building an AI support agent, you can listen for new messages via webhooks, run them through your LLM, and push a human-reviewable draft directly into the Missive conversation — letting agents send with one click instead of copy-pasting from a separate tool.
- **Sync CRM contacts bidirectionally with Missive contact books** — Vertical CRMs and customer data platforms can keep contact records, custom properties, and groupings in lockstep with Missive, so support agents always see the freshest account context without manual data entry.
- **Auto-triage inbound conversations with labels and task assignments** — Workflow automation and routing SaaS products can classify incoming Missive conversations by intent or sentiment, apply shared labels for categorization, and create tasks assigned to the right team — all programmatically through Truto's unified layer.
- **Inject operational context into email threads as internal posts** — E-commerce, logistics, or billing platforms can push real-time event updates (refund approved, shipment delayed, invoice overdue) as internal posts inside the relevant Missive conversation, giving agents full context without exposing system notes to the customer.
- **Build a unified reporting layer across helpdesk tools including Missive** — Analytics and BI SaaS products can pull conversation data, team structures, and analytics reports from Missive alongside other helpdesk tools through Truto's Unified Ticketing API, giving ops leaders a single dashboard across all their support channels.

## What you can build

- **AI-assisted draft injection** — Read full conversation history with list_all_missive_conversation_messages, generate a suggested reply, and insert it as a draft via create_a_missive_draft for agent review before sending.
- **Two-way contact sync with Missive contact books** — Enumerate contact books and groups, then create or update contacts in real time so your CRM and Missive always reflect the same customer data.
- **Automated conversation labeling and routing** — Apply shared labels to conversations programmatically and create tasks assigned to specific agents or teams based on your own classification logic.
- **In-thread operational notifications via internal posts** — Use create_a_missive_post to append system-generated updates (order status, payment events, SLA alerts) inside an existing conversation without the customer ever seeing them.
- **Webhook-driven event pipeline** — Register webhooks with create_a_missive_webhook to trigger your application logic the moment a new message, assignment, or label change occurs in Missive.
- **Cross-tool ticket and user directory normalization** — Map Missive conversations, teams, users, and labels to Truto's Unified Ticketing API resources (Tickets, Tags, Teams, Users, Workspaces) so your product works identically whether the customer uses Missive or another helpdesk.

## FAQs

### What authentication method does the Missive integration use through Truto?



### Which Unified APIs does Truto map Missive data to?

Missive is mapped to the Unified Ticketing API (Tickets, Comments, Attachments, Tags, Teams, Users, Workspaces) and the Unified User Directory API (Me, Users). This means conversations, shared labels, teams, and user profiles are accessible through the same schema you'd use for any other helpdesk integration.

### Can I download file attachments from Missive conversations?

Yes. The missive_attachments_download tool lets you retrieve attachment binary data, and this is also exposed through the Attachments resource in the Unified Ticketing API.

### Does the integration support creating and managing webhooks programmatically?

Yes. You can register new webhooks with create_a_missive_webhook and remove them with delete_a_missive_webhook_by_id, enabling event-driven architectures without polling.

### Can I read both customer-facing messages and internal team comments on a conversation?

Yes. list_all_missive_conversation_messages returns external messages, while list_all_missive_conversation_comments returns internal team comments. Both are available per conversation, giving you full thread context.

### How does Truto handle pagination and rate limits for Missive?

Truto manages cursor-based pagination and respects Missive's rate limits automatically. Your application receives clean, paginated responses through a consistent interface without needing to implement retry or back-off logic.
