Build

Integrations

An integration connects another service to one Mobius project. Connect Slack to post messages, GitHub to react to repository events, or a model provider to use your own account.

Connect a provider

  1. Open Library > Integrations in the project that should use the account.
  2. Choose the provider.
  3. Complete its sign-in, API key, app-install, or account-selection flow.
  4. Return to the provider page and confirm the connection is ready.

Connections are project-specific. Reconnecting an account or rotating its key does not require editing the agents or loops that use its actions.

A connection can make several things available:

  • Actions that an agent or loop can call.
  • Events that can start or resume a loop.
  • Pickers for channels, repositories, documents, and other provider data.
  • AI models billed through the connected account.
  • Activity records for diagnosing missing events or failed calls.

Not every provider offers every capability. Open its detail page to see what is ready in the current project. The mobius CLI cannot connect providers yet; use the app or API.

Slack and Telegram can also back agent messaging, where incoming messages go directly to an agent conversation.

Browse the catalog

The integration catalog is the project-specific list of providers Mobius can use. Mobius builds it from the project's connection state plus the provider, action, and event registries.

Catalog sourceContributes
Provider registryProvider metadata, auth kind, and connect mode.
Action registryAction names, schemas, readiness, and usage.
Event registryProvider event names and payload schemas.
Project integrationsConnection readiness and credential source.

Read the live app catalog before assuming a provider is ready. A deployment can enable or hide a provider, and a project can use either Mobius-managed platform credentials or its own connected credentials.

Google providers share a few credential rules. Start with Google integrations when you are connecting a Google provider.

Provider types

TypeHow it worksUse when
Connected providerThe project stores the provider credential.You need provider actions or events to run with your account.
Built-in providerMobius supplies the credential and marks the provider ready without a project-local row.The provider is read-only or platform-funded and your own quota is not required.
Action-only providerActions exist, but the provider does not implement the managed connect flow yet.Create an integration row directly until the provider gets a first-class connect screen.
Model providerThe integration stores a model API key for agents, not an action catalog.You want agents to use your model account instead of the default model route.
MCP serverThe integration points to a remote Model Context Protocol (MCP) server.You already operate an MCP server and want its tools available inside Mobius.

When in doubt, use the provider catalog in the app. It shows the exact readiness and credential source for the current project.

Current providers

ProviderProvider IDAuth kindActionsEvents
Anthropicanthropicapi_keyNoNo
Apollo.ioapolloapi_keyYesNo
Bitbucket Cloudbitbucket_cloudoauth2_userYesYes
Discorddiscordapi_keyYesNo
Firecrawlfirecrawlapi_keyYesNo
Gmailgmailoauth2_userYesYes
GitHubgithubgithub_app_installYesYes
Google Adsgoogle_adsoauth2_userYesNo
Google Calendargoogle_calendaroauth2_userYesYes
Google Geminigeminiapi_keyNoNo
Google Drivegoogle_driveoauth2_userNoYes
Google Placesgoogle_placesapi_keyYesNo
Google Sheetsgoogle_sheetsoauth2_userYesNo
HubSpothubspotoauth2_userYesYes
Jirajiraapi_keyYesYes
Linearlinearapi_keyYesYes
MCP servermcpapi_keyDynamicNo
Notionnotionoauth2_userYesYes
OpenAIopenaiapi_keyNoNo
OpenRouteropenrouterapi_keyNoNo
PolymarketpolymarketnoneYesNo
ScrapeCreatorsscrapecreatorsapi_keyYesNo
SendGridsendgridapi_keyYesNo
Slackslackoauth2_userYesYes
Telegramtelegramapi_keyYesYes
Twilio SMStwilioapi_keyYesNo
Xxapi_keyYesYes
xAI Grokxaiapi_keyNoNo

Some providers appear only when the deployment has the backing service configured. The catalog endpoint is the final source of truth for the project you are using.

Inspect the catalog

From the app

Open Library > Integrations to see provider readiness and connection state. Provider detail pages show available actions, source events, webhook endpoints, and recent provider events.

Open Library > Actions when you need input schemas, output schemas, action annotations, or direct invocation.

From the CLI

The mobius CLI can inspect the action and event catalogs:

mobius catalog list-actions --project ridgeline
mobius catalog get-action slack.message.post --project ridgeline
mobius catalog list-events --project ridgeline

The CLI does not connect integrations yet. Use the app or HTTP API for connection setup.

From the API

Use the provider catalog endpoint when you are building your own admin surface or authoring tool. Use the action and event catalog endpoints when that tool needs exact names and schemas. The CLI commands above call those same catalog endpoints.

Connect through the API

Most providers use a generic connect endpoint under /v1/projects/{project}/integrations/providers/{provider}/connect. Redirect providers return a redirect_url; inline providers return an integration row. Provider pages list the body shape and endpoint to use, and the API reference has the exact schema.

Action-only providers use POST /v1/projects/{project}/integrations until they have a managed connect endpoint.

Actions and events

Provider actions run inside Mobius and use the resolved credential source for the project. A ready project-owned integration wins over a platform credential. If an action posts, deletes, merges, sends, or mutates upstream state, retries can repeat that side effect. Use idempotency fields where the provider supports them, or add an interaction before irreversible steps.

Provider events enter Mobius as integration events. Mobius then turns them into source events that event triggers and wait_for_event steps can match.

Use exact event names for narrow loops. Use a trailing wildcard only when every event under a prefix should start or resume the run.

triggers:
  - kind: event
    config:
      event_type: github.pull_request.opened

Next