Skip to content

Integrations

An integration is a connection to an external system that automation actions use to do work: file a Jira ticket, post a card to a Teams or Webex space, or POST a payload to any HTTP endpoint. Integrations are no longer a standalone “event to subscription to delivery” mechanism. Today they supply the connection plus the callable actions; the automation platform decides when those actions run and in what order.

Both integrations and Notifications deliver outside the UI, but they cover different needs:

NotificationsIntegrations
AudienceIndividual users who subscribedA channel, ticket queue, or external system
Configured byEach user, in their settingsAn admin, once, for the whole org
Driven byPer-user subscriptions to targetsAdmin-managed connections plus automation actions
Typical use”Send my Slack DM when my system is unhealthy""Open a Jira ticket when any incident opens”
ExamplesSlack DM, SMTP, TelegramJira project, Teams channel, custom webhook

A team would typically run both: each on-call gets personal notifications, and an admin wires up an integration so an automation can file a ticket or post to a shared channel when a major event happens.

The integration system has two building blocks, and the actual “do something” step lives in an automation:

  • Providers. Plugins that define a connection to an external system. A provider declares a connection schema, an optional test-connection endpoint, and optional dynamic option resolvers that feed the automation editor’s config dropdowns. Bundled providers include Jira, Microsoft Teams, and Webex.
  • Connections. Admin-created, credentialed instances of a provider, stored centrally and encrypted at rest. A connection is selectable in an automation action’s config form.

The work itself is an automation action (for example integration-jira.create_issue) that references a connection through its provider id. When the action runs, it resolves that connection’s credentials and calls the external system.

An integration never fires on its own. It runs as a step inside an automation:

  1. An automation trigger fires (an incident opened, a system degraded, a schedule elapsed).
  2. The automation runs its steps. One of those steps is an integration action.
  3. The action runs as the automation’s runAs service account, resolves its connection’s credentials, and calls the external system.
  4. The result (an external id such as a Jira issue key, plus any errors and retries) is recorded in the automation run log, not a separate delivery log.

Retry and queue semantics belong to the automation platform: a slow or failing external call is retried by the run engine, and you inspect what happened in the run detail view. See Automations for triggers, steps, artifacts, and run history.

The integration plugins shipped with Checkstack at the time of writing:

Integration pluginWhat it contributes
integration-jira-backendA Jira connection plus actions to create, transition, comment on, and search issues. Create produces a jira.issue artifact later steps can read.
integration-teams-backendA Microsoft Teams connection plus an action to post a message to a channel.
integration-webex-backendA Webex connection plus an action to post a message to a space.
integration-webhook-backendA generic HTTP action that POSTs a JSON (or form-encoded) payload to a URL you configure inline. The most flexible option.
integration-script-backendActions that run a shell command or a TypeScript script for arbitrary custom logic.

There is no dedicated Slack integration provider. For Slack, either use the generic webhook action with a Slack incoming webhook URL, or use the Slack notification plugin for per-user delivery.

Where to goWhat you do there
Platform -> IntegrationsLand on the provider list. Every registered integration provider appears here.
Platform -> Integrations -> a providerManage that provider’s connections (create, edit, test, delete). Providers without a connection schema show no connections to manage.
Automations editorAdd an integration action to an automation and pick the connection it uses. This is where delivery is actually wired up.
Plugin ManagerInstall or remove integration provider plugins.
  • Connection configurations are encrypted at rest using your ENCRYPTION_MASTER_KEY. Jira credentials, Teams and Webex tokens, and any inline webhook secret live in the database as ciphertext. See Secret encryption.
  • Integration actions run as the automation’s runAs service account and are gated by the action’s required access rules. Being able to author an automation does not by itself grant the ability to act on a connection: the service account still needs the matching access rule. See Automations for how runAs bounds what an automation may do.
  • Errors surfaced from an external call are masked before they reach the run log so a credential echoed in a raw error does not leak.