> ## Documentation Index
> Fetch the complete documentation index at: https://docs.atako.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Missive

> Connect Missive to your Atako agents — 12 read and 3 write actions.

Let your agents read shared-inbox conversations, messages and comments, prepare drafts or send replies, add notes and manage contacts in Missive.

## Connection

* **Authentication**: API key (API token).

<Note>
  Missive → Settings → API → Create a new token. Copy the token (it starts with missive\_pat-). Missive tokens are personal and have no scopes: the agents will see every account, shared inbox and contact book the token owner can access, so create it from a user whose access fits what the agents need. API tokens require a Missive plan that includes API access (see missiveapp.com/pricing).

  See [Missive's documentation](https://missiveapp.com/docs/developers/rest-api).
</Note>

## Read actions (12)

| Action | Description |
| - | - |
| `get_contact` | Fetch one contact by id (names, infos, memberships). A deleted contact answers 404. |
| `get_conversation` | Fetch one conversation by id (subject, assignees, team, shared labels, counts, web\_url). A merged conversation answers with its new id. |
| `get_message` | Fetch one message by id: headers, HTML body and attachment metadata (signed download URLs). |
| `list_contact_books` | List the contact books the token owner can access (id, name, sharing). A contact book id is required to list or create contacts. |
| `list_contacts` | List or search the contacts of a contact book. contact\_book (id from list\_contact\_books) is required. Optional: search (matched against names, e-mails, phones, organizations, notes…), order ("last\_name" default, or "last\_modified"), modified\_since (Unix seconds), include\_deleted (boolean, with modified\_since), limit 1-200 (default 50), offset. |
| `list_conversation_comments` | List the internal comments of a conversation, newest first. limit 1-10 (default 10). To paginate, pass until = the created\_at (Unix seconds) of the oldest comment of the previous page. |
| `list_conversation_messages` | List the messages of a conversation (drafts excluded), newest first. limit 1-10 (default 10). To paginate, pass until = the delivered\_at (Unix seconds) of the oldest message of the previous page. Use get\_message for the full HTML body. |
| `list_conversations` | List conversations visible to the token owner, newest activity first. At least ONE mailbox filter is required: inbox, all, assigned, closed, snoozed, flagged, trashed, junked or drafts (each: literal true), or shared\_label / team\_inbox / team\_closed / team\_all (each: a label or team id string from list\_shared\_labels / list\_teams). Optional: organization (id string), and at most one contact filter among email (address string), domain (e.g. "example.com") and contact\_organization (id string). limit 1-50 (default 25). To paginate, pass until = the last\_activity\_at (Unix seconds) of the oldest conversation of the previous page. |
| `list_organizations` | List the organizations the token owner belongs to (id, name). Optional: limit 1-200 (default 50), offset. |
| `list_shared_labels` | List shared labels (id, name, full path, organization). Optional: organization (id), limit 1-200 (default 50), offset. |
| `list_teams` | List teams (id, name, organization, members). Optional: organization (id), limit 1-200 (default 50), offset. |
| `list_users` | List users of the token owner's organizations (id, name, email; me: true marks the token owner). Optional: organization (id), limit 1-200 (default 50), offset. |

## Write actions (3)

| Action | Description |
| - | - |
| `create_contact` | Create one contact. contact\_book: contact book id string (required, from list\_contact\_books). Optional strings: first\_name, last\_name, middle\_name, prefix, suffix, nickname, notes, gender; starred: boolean. infos: ARRAY of objects, each with kind and label — \{"kind": "email", "value": address, "label": "home" \| "work" \| "personal" \| "other"}, \{"kind": "phone\_number", "value": string, "label": "main" \| "mobile" \| "home" \| "work" \| "home\_fax" \| "work\_fax" \| "other\_fax" \| "pager" \| "other"}, \{"kind": "twitter", "value": "@handle", "label": "work" \| "personal" \| "other"}, \{"kind": "facebook", "name": string, "label": "work" \| "personal" \| "other"}, \{"kind": "url", "value": URL, "label": "homepage" \| "profile" \| "blog" \| "work" \| "personal" \| "other"}, \{"kind": "physical\_address", "label": "work" \| "home" \| "other", street?, extended\_address?, city?, region?, postal\_code?, po\_box?, country?}, \{"kind": "custom", "value": string, "label": "other", "custom\_label"?: string}; custom\_label is also allowed with label "other". memberships: ARRAY of \{"group": \{"kind": "organization" \| "group", "name": string}, "title"?, "department"?, "location"?, "description"? (these four only for an organization)}. |
| `create_draft` | Create a draft (default) or send a message. send: boolean, false by default = the draft stays in Missive for a human to review; true = sent immediately (cannot be combined with send\_at). from\_field: ONE object, never a string — e-mail \{"address": string matching one of your Missive aliases, "name"?: string} or SMS/WhatsApp \{"phone\_number": "+" and digits matching one of your connected numbers, "type"?: "twilio" \| "signalwire" \| "twilio\_whatsapp" \| "whatsapp"}. to\_fields: ARRAY of objects, never strings — e-mail \[\{"address": string, "name"?: string}] or SMS/WhatsApp exactly one \[\{"phone\_number": "+33612345678"}]. Optional: cc\_fields / bcc\_fields (arrays of \{"address", "name"?}), subject (string; for a reply use "Re: \<original subject>"), body (string, HTML or text), conversation (conversation id string, to reply in an existing conversation) or references (array of Message-ID strings), send\_at (integer Unix seconds, schedules the send), auto\_followup (boolean, needs send\_at: discarded if someone replies), team (team id), force\_team (boolean), organization (organization id — required with add\_users / add\_assignees / remove\_assignees), add\_users / add\_assignees / remove\_assignees (arrays of user id strings), add\_shared\_labels / remove\_shared\_labels (arrays of shared label id strings), conversation\_subject (string), conversation\_color (hex like "#ff0000" or "good" \| "warning" \| "danger"), add\_to\_inbox, add\_to\_team\_inbox (needs team), close, quote\_previous\_message, add\_default\_signature (booleans). |
| `create_post` | Add a post — an internal note visible to the team in the conversation, never sent to the customer — to an existing conversation (Missive has no endpoint to create a comment). conversation: conversation id string (required). notification: object \{"title": string, "body": string} (required, used for the notification). Plus text (plain string) or markdown (Markdown string): at least one, max 8000 characters. Optional: username (string, author name shown instead of the token owner). |

## Permissions

Every action above must be explicitly granted to an agent before it can be used. See [Permissions](/integrations/permissions) for the grant model and [Security](/integrations/security) for how credentials are protected.

***

*Last reviewed against the provider API: September 2026.*


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.