Skip to main content
Integrations extend what Miteos agents can do by connecting your external accounts as live tools. When you link Gmail, agents can draft and send emails on your behalf. When you link GitHub, they can open issues, create pull requests, and commit code. Each connected service exposes a set of tools that agents use automatically when the task requires it.
Every request must include an Authorization: Bearer <token> header. Use a mt_live_ prefixed token for production and a mt_test_ prefixed token for sandbox testing.
Most integrations authenticate via OAuth 2.0. The easiest way to connect a service is through the dashboard at platform.miteos.com/integrations, which handles the OAuth redirect flow for you. Use the API endpoints below for programmatic management — for example, in onboarding automation or CI/CD pipelines.

Available services

The table below lists every service you can connect and the tools it makes available to agents.
Service nameTools provided to agents
gmailRead emails, draft emails, send emails, search inbox, manage labels
slackPost messages, read channels, create channels, search messages
githubCreate/read issues, open pull requests, commit files, read repositories
stripeRead customers, create invoices, check payment status, list transactions
notionCreate/update pages, read databases, search workspace
google_adsRead campaign performance, create ad drafts, adjust budgets
telegramSend messages, read channel updates, post to groups

GET /integrations

List all integrations connected to your account, including their current status and the tools they expose.

Example request

curl "https://api.miteos.com/v1/integrations" \
  -H "Authorization: Bearer mt_live_xxxxxxxxxxxx"

Example response

[
  {
    "id": "int_01hwxyzj6k7wt8rq2ouhdbxpn",
    "service": "gmail",
    "status": "connected",
    "connected_at": "2025-01-10T09:00:00Z",
    "available_tools": [
      "read_emails",
      "draft_email",
      "send_email",
      "search_inbox",
      "manage_labels"
    ]
  },
  {
    "id": "int_01hwxyzk7l8xu9sr3pvieczyq",
    "service": "github",
    "status": "connected",
    "connected_at": "2025-01-12T14:22:00Z",
    "available_tools": [
      "create_issue",
      "read_issue",
      "open_pull_request",
      "commit_files",
      "read_repository"
    ]
  }
]

Response fields

id
string
Unique integration identifier, prefixed int_.
service
string
The connected service name (see the available services table above).
status
string
Connection state: connected, disconnected, or error. An error status means the OAuth token has expired or been revoked — reconnect to restore access.
connected_at
string
ISO 8601 timestamp when the integration was first connected.
available_tools
array
List of tool names that agents can invoke through this integration.

POST /integrations

Programmatically connect a new integration. Supply the service name and, for OAuth-based services, an oauth_code obtained from the service’s authorisation endpoint.

Request body

service
string
required
The service to connect. Must be one of the values listed in the available services table: gmail, slack, github, stripe, notion, google_ads, or telegram.
oauth_code
string
The authorisation code returned by the service’s OAuth 2.0 redirect. Required for OAuth-based services. Your OAuth redirect URI must be registered in the Miteos dashboard before use.
For OAuth services, initiate the flow by directing users to https://platform.miteos.com/integrations/connect?service={service_name}&redirect_uri={your_callback_url}. Miteos handles the provider redirect and returns the oauth_code to your callback URL.

Example request

curl -X POST https://api.miteos.com/v1/integrations \
  -H "Authorization: Bearer mt_live_xxxxxxxxxxxx" \
  -H "Content-Type: application/json" \
  -d '{
    "service": "slack",
    "oauth_code": "4/0AX4XfWhXeYw..."
  }'

Example response

{
  "id": "int_01hwxyzl8m9yv0ts4qwjfedra",
  "service": "slack",
  "status": "connected",
  "connected_at": "2025-01-15T12:00:00Z",
  "available_tools": [
    "post_message",
    "read_channel",
    "create_channel",
    "search_messages"
  ]
}

DELETE /integrations/{id}

Disconnect an integration and revoke Miteos’s access to the associated service. Agents will no longer be able to use tools from this integration. Existing task deliverables are not affected.

Path parameters

id
string
required
The unique integration ID to disconnect (e.g. int_01hwxyzj6k7wt8rq2ouhdbxpn).
Disconnecting an integration mid-task will cause any running agents that rely on its tools to fail. Ensure no active tasks are using the integration before removing it.

Example request

curl -X DELETE "https://api.miteos.com/v1/integrations/int_01hwxyzj6k7wt8rq2ouhdbxpn" \
  -H "Authorization: Bearer mt_live_xxxxxxxxxxxx"
A successful disconnection returns HTTP 204 No Content with an empty body. To reconnect, use POST /integrations with a fresh OAuth code.