> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cloudthinker.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Triggers & Outcomes

> Connect the tools that start Resolve, and choose where it hands off incident work.

**Resolve → Triggers & Outcomes** is where you connect the tools that send Resolve alerts and choose where it hands off incident work: tickets, chat updates, and fixes. Each platform shows a readiness badge, so you can see what still needs work before an incident hits.

## Before you start

* A CloudThinker workspace. [Resolve](https://docs.cloudthinker.io/guide/incident/overview.md) has no separate switch: open it from the sidebar.
* The workspace **Admin** role. Connecting Slack, Microsoft Teams, or Google Chat also needs the organization **Owner** or **Admin** role. Organization roles are separate from workspace roles, and an organization Owner or Admin is a workspace Admin everywhere. See [How organization and workspace roles combine](https://docs.cloudthinker.io/guide/security/roles.md#how-organization-and-workspace-roles-combine).
* Admin access to the platform you're adding (for example Datadog, Slack, or Jira).

## Open a platform

**1. Open Triggers & Outcomes**

In the sidebar, open **Resolve → Triggers & Outcomes** (under **Configuration**).

**2. Pick a tab**

Choose **All**, **Triggers**, or **Outcomes** above the list. Each tab shows a count.

**3. Find the platform**

Type its name in **Search platforms**, then select it.

| Tab | Shows | Detail sections |
| - | - | - |
| **All** | Every platform | **Connection**, **Signals to Resolve**, and **What Resolve can do** |
| **Triggers** | Tools that send alerts or telemetry, such as Datadog, Prometheus, PagerDuty, and AWS | **Connection** and **Signals to Resolve** |
| **Outcomes** | Tools Resolve hands work to, such as Jira, GitHub, Confluence, and Google Chat | **Connection** and **What Resolve can do** |

Slack, Microsoft Teams, Jira Service Management, and ServiceNow appear in both tabs.

![Resolve Triggers & Outcomes page with platforms grouped by readiness and a search field](https://mintcdn.com/cloudthinker/7N5Axt6gSxkmeWiW/images/v2/resolve-integrations.webp?fit=max\&auto=format\&n=7N5Axt6gSxkmeWiW\&q=85\&s=0d3985f064960e0c8b5474323648bfed)

Resolve Triggers & Outcomes: platforms grouped by readiness, Needs attention first

## Connect an account

**1. Click Connect**

In the **Connection** section, click **Connect**. Some platforms, such as Slack and Microsoft Teams, open the provider's sign-in straight away. Others open a dialog for credentials.

**2. Finish the provider flow**

Approve access in the provider, or paste the credentials the dialog asks for. Each platform's page under [Connections](https://docs.cloudthinker.io/guide/connections/overview.md) lists the access it needs.

**Success state:** the section shows **Connected** and lists the connection instance. Some platforms accept more than one, such as several AWS accounts.

## Triggers

A Resolve trigger is a tool that sends Resolve alerts. It isn't an [Automation trigger](https://docs.cloudthinker.io/guide/automation/automations.md). On the **Triggers** tab, **Signals to Resolve** brings alerts into [Pulse](https://docs.cloudthinker.io/guide/pulse/overview.md), which drops noise and groups related alerts. To find which signal path your tool takes, see [Connect alert sources](https://docs.cloudthinker.io/guide/incident/connect-alert-sources.md).

### Add a signal

On a monitoring platform, under **Signals to Resolve**, click **Add signal** (or **Add another signal**). For most tools this opens the **Create Webhook** dialog with the field mapping filled in. Follow [Webhook signals](https://docs.cloudthinker.io/guide/incident/webhook-integrations/overview.md) from there.

**Success state:** the source's row shows **Active**, and your test alert appears on **Resolve → Pulse**. A successful HTTP response alone only proves delivery.

| Source row badge | Meaning | What to do |
| - | - | - |
| **Active** | The source is on and receiving. | Nothing. |
| **Paused** | The webhook, channel, or polling source is turned off. This is the source's own state, not the workspace **On duty** switch. | For a polling source, turn its row's switch back on. For a channel, turn its switch back on under **Listen for incidents**. A paused webhook rejects deliveries with `400`, and no Resolve screen resumes it: email [support@cloudthinker.io](mailto:support@cloudthinker.io) with the source name and workspace. |
| **Error** | The source is in a failed state, for example a polling source that stopped after repeated errors. | Fix the source's connection or settings, then turn it back on. |

To edit a webhook or rotate its secret, open the **Manage** menu (**⋯**) on its row and choose **Edit** or **Regenerate credentials**.

For AWS polling and Slack or Teams channels, see [Pulse setup](https://docs.cloudthinker.io/guide/pulse/setup.md). For a system with no platform in the list, use [Custom source](https://docs.cloudthinker.io/guide/incident/webhook-integrations/custom-source.md).

## Outcomes

On the **Outcomes** tab, **What Resolve can do** lists what Resolve carries out to the platform. Only an enabled outcome that's missing its target (like a Jira project key) marks the platform as needing setup.

| Outcome | Platforms | What you set | When it happens |
| - | - | - | - |
| **Post incident updates** | Slack, Microsoft Teams, Google Chat | The channel. On by default, so right after you connect, the row shows **Needs setup** until you pick a channel. | When an incident opens, changes status, and resolves |
| **Create war-room channels** | Slack | Minimum severity: **Critical only**, **High & critical** (default), or **All severities**. | When a paged incident's severity clears the floor. See [On-call](https://docs.cloudthinker.io/guide/incident/oncall.md). |
| **Create follow-up tickets** | Jira, Linear, Backlog, Azure DevOps, ServiceNow | Jira or Backlog project key (for example `ENG`), Linear or Azure DevOps project, or ServiceNow assignment group. | After the incident closes, and only when remediation is still open |
| **Keep tickets updated** | Jira, Linear, Backlog, Azure DevOps | Nothing extra. | Only when a follow-up ticket is already linked to the incident |
| **Propose fix merge requests** | GitHub, GitLab, Bitbucket, Azure DevOps | Nothing extra. The repository connection needs write access. To limit reach, grant it only the repositories it needs (for GitHub, see [Required permissions](https://docs.cloudthinker.io/guide/connections/github.md#required-permissions)). | When the fix is a code change Resolve can safely draft. It opens a draft only: you review and merge, and your git host's branch protection still applies. |
| **Propose alert rule changes** | GitHub, GitLab, Bitbucket, Azure DevOps | The repository that holds your alert rules. | When you promote or tune a [Detector](https://docs.cloudthinker.io/guide/incident/detectors.md), it opens a draft merge request against your alert rules. Drafts only — you review and merge. |
| **Publish postmortems** | Confluence, Notion | Confluence space key or Notion parent page ID. | After the incident is resolved, even with no follow-up work. Skipped for false alarms and incidents with no evidence to investigate. |
| **Keep the provider alert in step** | Jira Service Management | Nothing extra. | As the incident progresses: Resolve acknowledges the alert and adds what it finds. Closing or escalating the alert still asks you first. |

A war room is a dedicated Slack channel for one severe incident. The broadcast channel you set for **Post incident updates** keeps working alongside it.

Where to find each target:

| Target | Where it is |
| - | - |
| Jira project key | The letters before the number in any issue key. Issue `ENG-142` is in project `ENG`. |
| ServiceNow assignment group | The group name as it appears in ServiceNow, for example `Cloud Operations`. |
| Confluence space key | In the space's URL, after `/spaces/`. |
| Notion parent page ID | The 32-character string at the end of the page's URL. |

**1. Turn on the outcome**

In **What Resolve can do**, find the row and switch it on.

**2. Fill in the target**

Enter the channel, project key, space, or page ID the row asks for. Outcomes marked **Nothing extra** have no target.

**Success state:** the row's badge changes from **Off** or **Needs setup** to **Ready**.

## Read readiness

Three kinds of badge appear on this page:

| Badge kind | Values | Where it appears |
| - | - | - |
| Platform badge | **Ready**, **Needs connection**, **Needs setup**, **Partially ready**, **Needs attention**, **Not configured** | On each platform in the list, and in the list's group headings |
| Outcome row badge | **Off**, **Needs setup**, **Ready** | On each row under **What Resolve can do** |
| Source row badge | **Active**, **Paused**, **Error** | On each row under **Signals to Resolve** (see [Add a signal](#add-a-signal)) |

Each platform carries one badge that sums up its whole setup, not only the login. For example, if you turn on **Create follow-up tickets** for Jira but haven't connected a Jira account, Jira shows **Needs connection**. The list groups platforms under **Needs attention**, **Ready**, **Needs setup**, and **Not configured** (collapsed by default). The **Needs setup** group collects three badges: **Needs connection**, **Needs setup**, and **Partially ready**.

| Badge | List group | Meaning | What to do |
| - | - | - | - |
| **Ready** | **Ready** | Everything you set up works. On a monitoring platform it doesn't prove an event arrived. | Nothing, except confirm one signal on **Resolve → Pulse** for a signal source. |
| **Needs connection** | **Needs setup** | A required account isn't connected, or an enabled outcome needs one. | Click **Connect**. |
| **Needs setup** | **Needs setup** | A monitoring platform has no signal yet, or an enabled outcome has no target. | Add a signal or fill in the target. |
| **Partially ready** | **Needs setup** | Some connections, or some signals, aren't working. | Open the platform and fix the row in error. |
| **Needs attention** | **Needs attention** | The connection failed, or an outcome is blocked. | Read the row's message, then reconnect or fix the target. |
| **Not configured** | **Not configured** | You haven't touched this platform. | Ignore it unless you need it. |

## Troubleshooting

> [accordion] Add signal button is missing
>
> **Cause:** you need the workspace **Admin** role, or the platform takes no webhook signals. **Fix:** ask a workspace Admin, or check [Pulse setup](https://docs.cloudthinker.io/guide/pulse/setup.md) for the platform's other signal paths.

> [accordion] Platform stays on Needs setup after connecting
>
> **Cause:** monitoring platforms need at least one signal, and enabled outcomes need a target. **Fix:** add a signal, or fill in or switch off the outcome marked **Needs setup**.

> [accordion] Signal is Active but nothing appears in Pulse
>
> **Cause:** the alert was suppressed as noise, or the field mapping doesn't match the payload. **Fix:** check [Resolve troubleshooting](https://docs.cloudthinker.io/guide/incident/troubleshooting.md) and the mapping in [Webhook signals](https://docs.cloudthinker.io/guide/incident/webhook-integrations/overview.md).

> [accordion] No platforms found
>
> Clear the text in **Search platforms**. If the list fails to load, click **Try again**.

## Next steps

> [card] [Set up webhook signals](https://docs.cloudthinker.io/guide/incident/webhook-integrations/overview.md)
>
> Map a monitoring tool's alerts into Pulse.

> [card] [Verify Pulse sources](https://docs.cloudthinker.io/guide/pulse/setup.md)
>
> Confirm a webhook, polling source, or chat channel delivers.

> [card] [Choose who gets paged](https://docs.cloudthinker.io/guide/incident/oncall.md)
>
> Decide who Resolve brings in when an incident qualifies.

> [card] [Adjust Resolve settings](https://docs.cloudthinker.io/guide/incident/settings.md)
>
> Control when CloudThinker investigates on its own.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.