Skip to main content

Integrations

How integrations work​

Every integration is an MCP server — a module that registers tools with the agent. When you add a valid API key, the corresponding MCP server activates and its tools become available to the agent immediately (on next goal/conversation start).

You don't need to tell the agent which tools exist — it sees all available tools and picks the right one automatically.


Gmail, Calendar, Drive and Spotify hand out access tokens that expire in about an hour. To connect them once and have them stay connected, follow Connecting OAuth Integrations — it walks through creating the OAuth app and supplying a refresh token, after which AI Partner renews the token itself.


Adding an integration​

Method 1: Settings UI

Go to Settings → Integrations and enter the API key for each service.

Method 2: the Credential Vault

For anything more sensitive, use the Credential Vault — the same effect, with the secret held encrypted and fetched only at the moment it's needed. The plain value never appears in a log, and only the running instance can decrypt it.


All integrations​

Developer Tools
ServiceEnv var(s)Tools unlocked
GitHubGITHUB_TOKENsearch_repos, list_issues, create_issue, get_file, search_code, list_prs, add_comment
JiraJIRA_API_TOKEN + JIRA_HOST + JIRA_USER_EMAILcreate_issue, update_issue, search_issues, list_projects, get_issue
ConfluenceCONFLUENCE_API_TOKEN + CONFLUENCE_HOSTread_page, create_page, search, list_spaces
SentrySENTRY_AUTH_TOKEN + SENTRY_ORGlist_projects, list_issues, get_issue; gated writes: resolve_issue, assign_issue

Example usage:

Search GitHub for open issues in our repo labeled "bug" and "priority:high".
Create a Jira ticket for each one with the same title and description.
Productivity & Knowledge
ServiceEnv var(s)Tools unlocked
NotionNOTION_API_KEYsearch, read_page, create_page, query_database, append_blocks
Google DriveGOOGLE_DRIVE_ACCESS_TOKENsearch_files, get_file, list_folder, create_file
Google CalendarGOOGLE_CALENDAR_ACCESS_TOKENlist_events, create_event, check_availability, delete_event
TrelloTRELLO_API_KEY + TRELLO_TOKENlist_boards, list_cards, create_card, move_card, add_comment

Example usage:

Check my Google Calendar for this week. For any meeting with "review" in the title,
create a Notion page in my "Meeting Notes" database with the date, attendees, and an
agenda section for me to fill in.
Communication
ServiceEnv var(s)Tools unlocked
GmailGMAIL_USER + GMAIL_APP_PASSWORDsend_email, search_emails, read_email, list_inbox, reply_email
Slack (workspace bot)SLACK_BOT_TOKENsend_message, list_channels, read_thread, list_users
Slack (user OAuth)SLACK_USER_TOKENAbove + DM read/write as your identity
DiscordDISCORD_BOT_TOKEN + DISCORD_GUILD_IDsend_message, list_channels, create_thread
Twitter/XTWITTER_BEARER_TOKEN (read) + OAuth keys (write)search_tweets, read_timeline, post_tweet
RedditREDDIT_CLIENT_ID + REDDIT_CLIENT_SECRETsearch, get_post, list_subreddit, get_comments

Example usage:

Search Twitter for mentions of our product (@AcmeApp) in the last 24 hours.
Summarize sentiment. If there are any bug reports, create GitHub issues for each.
CRM, Finance & Cloud
ServiceEnv var(s)Notes
HubSpot CRMHUBSPOT_ACCESS_TOKENRead: contacts, deals, companies. Gated writes: update contact, create deal, delete contact
StripeSTRIPE_SECRET_KEYRead: customers, balance, products, charges. Gated writes: create payment link, issue refund, cancel subscription
AWS S3AWS_ACCESS_KEY_ID + AWS_SECRET_ACCESS_KEY + AWS_REGIONRead: list buckets/objects, download. Gated writes: upload, delete
Microsoft OutlookOUTLOOK_CLIENT_ID + OUTLOOK_CLIENT_SECRET + OUTLOOK_TENANT_IDRead: emails, calendar. Gated writes: send, delete, create event

Gated writes means anything that changes something goes through your authority policy first — so you get an approval request before it happens, not a notification afterwards.

Example usage:

Search HubSpot for all deals in "Negotiation" stage created in the last 30 days.
For each deal, check the last contact date. If it's been more than 7 days,
draft a follow-up email and send it to me for approval.
Media & Data
ServiceEnv var(s)Tools unlocked
Image generationOPENAI_API_KEY or STABILITY_API_KEY or MINIMAX_API_KEY or NVIDIA_API_KEYgenerate_image (DALL-E 3, Stability SDXL, MiniMax image-01, NVIDIA FLUX)
Video generationMINIMAX_API_KEYvideo_generate (MiniMax Hailuo — 6s, 1080p, optional image-to-video)
SpotifySPOTIFY_ACCESS_TOKENsearch_music, play, pause, skip, create_playlist
arXiv(no key needed)search_papers, get_abstract, get_metadata
RSS(no key needed)fetch_feed, parse_entries
Whisper STTLocal Docker servicetranscribe_audio (self-hosted, no API key)
Finance(no key needed for basic)get_stock_price, get_crypto_price, market_news, company_info
ApifyAPIFY_API_TOKENResidential proxy scraping for CAPTCHA-protected sites

Checking which integrations are active​

In the app: Settings → Integrations — anything active shows a green dot.

Just ask:

Which integrations do I have configured?

It answers from what's actually connected right now, not from a list of what's possible.


Integration security​

Every credential is encrypted at rest. None of them is written to a log, and none is ever included in a prompt sent to a model provider — a credential is read only at the moment the tool that needs it actually runs.

The Credential Vault adds a further layer for your most sensitive keys:

  • Encrypted with a key tied to your own instance
  • Decryptable only by the running instance itself
  • Never written to disk in a readable form

On a multi-user instance, credentials are per user. Connecting your own GitHub account gives you those abilities — not everyone else on the instance.


Adding more integrations​

New integrations appear in the Tool Marketplace and the Integrations panel. Connect a service by adding its API key under Settings → Integrations; once connected, its tools become available to the agent automatically. Need a service that isn't listed yet? Reach out and we'll look at adding it.