Перейти к основному содержимому

Интеграции

Каталог инструментов, в которые движок умеет отправлять, подключения проекта и что каждое из них доставило недавно.

The Integrations screen in the Live environment
The Integrations screen, Live environment.
The Integrations screen in the Live environment, dark theme
The Integrations screen, Live environment.

The catalogue

Eight tools, always all of them: Slack, Discord, Microsoft Teams, a plain webhook, Zapier, Make, n8n and email. What is possible is never hidden, which is why the catalogue leads the page rather than the list of what happens to be connected. The chat tools take channels, the webhook takes endpoints, the automation platforms take hooks, and email sends from the platform itself. A new connection starts in log-only test mode, so nothing fires for real before it is configured.

Connections

The connected rows: each connection, its destination count and when it was last used
The connected rows: each connection counts its destinations and says when it was last used.
The connected rows: each connection, its destination count and when it was last used, dark theme
The connected rows: each connection counts its destinations and says when it was last used.

A tool may hold several connections, and each row reads as a count and a recency: "4 channels, used 12 minutes ago". The recency shows when something last landed and falls back to when a send was last attempted, because those are different questions: a connection failing every send for a week reads as attempted-but-not-delivering rather than hiding behind either "never used" or a reassuring timestamp. A connection nothing has sent through says "never used".

Configure

Each connection carries a test mode: real sends deliver, test targets route to the targets marked for testing, and log only records what would have been sent without dialling anybody. An organisation-wide connection also declares its reach across projects: enforced everywhere, opt-in per project, or a chosen subset. A body template shapes what a send carries. Disabling a connection is reversible; revoking is permanent and asks first.

Send a test

Send a test dials the tool now and waits for the answer, because a queued confirmation is not an answer to "does this connection work". It goes through the same resolved path a workflow step takes, so a test cannot pass while the real send fails. The report says what the tool said; a log-only connection reports logged-only rather than delivered, because "delivered" for a connection that dialled nobody would be a lie.

Where this meets the API

On the wire: the catalogue and the rows are the integrationProviders and integrationConnections queries; connecting and shaping are createIntegrationConnection, addIntegrationTarget, setIntegrationTestMode, setIntegrationReach and setIntegrationBodyTemplate; the lifecycle is disableIntegrationConnection and revokeIntegrationConnection; the test send is sendIntegrationTest (GraphQL reference). Everything else that leaves through a connection is sent by the action engine: a workflow step fans one message out to many destinations, and the Messaging pillar says what a message is.