Missive

Learn how to use Missive with Composio

Overview

SLUG: MISSIVE

Description

Missive is a collaborative email and chat application designed to streamline team communication and task management.

Authentication Details

bearer_token
stringRequired

Connecting to Missive

Create an auth config

Use the dashboard to create an auth config for the Missive toolkit. This allows you to connect multiple Missive accounts to Composio for agents to use.

1

Select App

Navigate to Missive.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Missive Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4missive_auth_config_id = "ac_YOUR_MISSIVE_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": user_api_key}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Missive for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, missive_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Missive toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["MISSIVE"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Create Analytics Report

Description

Tool to create an analytics report. use when you need to generate a report over a specific time range with optional filters. returns a report id for later retrieval.

Action Parameters

reports
objectRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Draft

Description

Tool to create a new draft in missive. use after preparing message details to save a draft (email, sms, whatsapp, or live chat) for later editing or scheduling.

Action Parameters

account
string
add_assignees
array
add_shared_labels
array
add_to_inbox
boolean
add_to_team_inbox
boolean
add_users
array
attachments
array
auto_followup
boolean
bcc_fields
array
body
stringRequired
cc_fields
array
close
boolean
conversation
string
conversation_color
string
conversation_subject
string
external_response_id
string
external_response_variables
object
force_team
boolean
from_field
objectRequired
organization
string
quote_previous_message
boolean
references
array
remove_shared_labels
array
send
boolean
send_at
integer
subject
string
team
string
to_fields
arrayRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Send Missive Message

Description

Tool to send a new message in a missive conversation. use after selecting the target conversation id.

Action Parameters

attachments
array
body
stringRequired
conversation
stringRequired
quote_previous_message
boolean

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Webhook

Description

Tool to create a webhook subscription. use after choosing event type and target url.

Action Parameters

author
string
content_contains
string
content_ends_with
string
content_starts_with
string
from_eq
string
is_task
boolean
mention
string
organization
string
subject_contains
string
type
stringRequired
url
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Webhook

Description

Tool to delete a webhook subscription by webhook id. use after confirming the webhook id; this operation cannot be undone.

Action Parameters

webhook_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Missive Teams

Description

Tool to list all teams. use when you need to retrieve and enumerate all teams available in missive.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Team Members

Description

Tool to list members of a team. use when you need to retrieve all members for a specific team.

Action Parameters

team_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Missive Users

Description

Tool to list all users. use after authentication when you need to retrieve all users in the organization.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired