Integrations — Connect External Services
Integrations connect FleetQ to external services via OAuth2. Once connected, agents and workflows can interact with these services through their APIs — creating issues, sending messages, querying repositories, and more. Integrations also power inbound Signal connectors for GitHub, Linear, and Jira.
Scenario: An engineering team connects their GitHub and Linear accounts. A workflow agent automatically creates a Linear issue when a GitHub PR is merged without a linked ticket, then posts a Slack summary to the engineering channel.
Available integrations
| Integration | Capabilities |
|---|---|
| GitHub | Repository management, issue and pull request operations, webhook subscriptions, workflow run status, releases, and branch management. |
| Linear | Issue tracking, project and cycle management, team membership, comment threads, and label operations. |
| Jira | Issue tracking, sprint management, project configuration, comment operations, and transition workflows. |
| Slack | Messaging, channel management, and user lookups via OAuth2 bot scopes. |
| Activepieces | Point FleetQ at a self-hosted Activepieces instance and gain immediate access to 660+ pre-built integrations — Stripe, Slack, GitHub, Google Sheets, HubSpot, Salesforce, Notion, OpenAI, and many more. See the Activepieces section below. |
Verified webhook endpoint for WhatsApp Business Cloud API. Ingests inbound messages as
Signals and delivers outbound messages via the whatsapp
outbound connector. GET challenge + POST delivery receipts supported.
|
|
| Google Drive / Notion / Confluence | Read-only integrations used primarily to power Chatbot and Knowledge Base indexing. Documents are ingested, chunked, and embedded for retrieval by agents. |
| More coming soon | New first-party integrations are added regularly. Check the Integrations page for the latest available providers. |
Activepieces — 660+ integrations at once
Activepieces
is an open-source automation platform. Each "piece" it ships with is natively exposed as an MCP server
endpoint. FleetQ's Activepieces connector lets any team that runs an Activepieces instance auto-import
all of them as mcp_http Tool records —
zero per-connector maintenance, maximum integration surface.
- Hourly sync job discovers new pieces and updates existing ones.
- Piece filter — restrict which pieces are imported (e.g. only
stripe,slack,notion). - SSRF guard — the Activepieces URL is validated on every sync and API call.
- Manual trigger — run
integration_manage({action: "activepieces_sync"})to refresh on demand.
Connecting an integration
All integrations use the standard OAuth2 authorization code flow. Tokens are stored encrypted at rest using your team's per-team key.
- 1 Go to Integrations in the sidebar.
- 2 Click Connect next to the provider you want to add.
- 3 Authorize FleetQ in the provider's OAuth screen and grant the requested scopes.
- 4 You are redirected back to FleetQ. The integration status changes to Connected.
Using integrations in agents and workflows
Once connected, an integration exposes a set of named capabilities — discrete actions the connected account can perform. Agents and workflow nodes can invoke these capabilities without handling OAuth tokens directly.
Use the integration_capabilities MCP tool to list all
available actions for a connected integration, then use integration_execute
to run an action against the live service.
// integration_capabilities({ integration_id: "..." })
{
"capabilities": [
{ "action": "create_issue", "description": "Create a new issue in a repository" },
{ "action": "list_issues", "description": "List issues with filters" },
{ "action": "create_pr", "description": "Open a pull request" },
{ "action": "list_repos", "description": "List accessible repositories" },
{ "action": "merge_pr", "description": "Merge a pull request" }
]
}
// integration_execute({ integration_id: "...", action: "create_issue", params: { ... } })
{
"result": {
"id": 42,
"url": "https://github.com/acme/api/issues/42",
"title": "Automated: missing Linear ticket for PR #118"
}
}
Integration status and health
Ping an integration at any time to verify that the stored token is still valid and the remote service is reachable. If a token expires or is revoked at the provider, FleetQ marks the integration as disconnected and stops routing agent actions through it.
# Via API
curl -X POST https://your-fleet.example.com/api/v1/integrations/{id}/ping \
-H "Authorization: Bearer YOUR_TOKEN"
Signal connectors
Integrations also power inbound Signal connectors. Once you have connected GitHub, Linear, or Jira, you can create per-repository or per-team subscriptions that automatically ingest events as Signals — issues created, PRs opened, comments added, and more.
Signal connector setup is covered in the Signals documentation. The short version: connect the integration first here, then configure subscriptions under Signal Sources → Subscriptions.
MCP tools
The following MCP tools are available for integration management. Use them via the MCP server or the AI Assistant.
| Tool | Description |
|---|---|
| integration_list | List all integrations for the team with their connection status. |
| integration_connect | Initiate an OAuth2 connection flow and return the authorization URL. |
| integration_disconnect | Revoke stored tokens and disconnect an integration. |
| integration_ping | Verify that a connected integration's token is valid and the service is reachable. |
| integration_execute | Run a named action against a connected integration with the provided parameters. |
| integration_capabilities | List all actions available for a connected integration. |
API endpoints
All integration endpoints are under /api/v1/integrations
and require a Sanctum bearer token. Full OpenAPI 3.1 docs are available at
/docs/api.
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/integrations | List all integrations for the team. |
| GET | /api/v1/integrations/{id} | Get a single integration with full status details. |
| POST | /api/v1/integrations/connect | Initiate an OAuth2 connection — returns the authorization URL. |
| POST | /api/v1/integrations/{id}/disconnect | Disconnect an integration and revoke stored tokens. |
| POST | /api/v1/integrations/{id}/ping | Ping the connected service to verify token validity. |
| POST | /api/v1/integrations/{id}/execute | Execute a named action against the connected service. |
| GET | /api/v1/integrations/{id}/capabilities | List available actions for a connected integration. |