> ## 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.

# Pulse Setup

> Connect AWS services, Slack, Teams, and third-party webhooks as signal sources for Pulse

Pulse pulls signals from three families of sources: AWS service pollers, chat platforms (Slack and Teams), and third-party monitoring webhooks. All are configured from the **Manage subscriptions** page in Pulse.

***

## AWS Polling

AWS polling lets Pulse pull events directly from your AWS accounts on a schedule — no webhook configuration required. Each source is enabled per-connection.

| Source              | What Pulse Collects                                                       | Cadence       |
| ------------------- | ------------------------------------------------------------------------- | ------------- |
| **CloudTrail**      | API call audit logs — who did what, when, on which resource               | Every 5 min   |
| **AWS Health**      | Service health events impacting your account or region                    | Every 5 min   |
| **Cost Anomaly**    | Spend spikes detected by AWS Cost Anomaly Detector                        | Every 6 hours |
| **GuardDuty**       | Threat intelligence findings — compromised instances, suspicious behavior | Periodic      |
| **Config**          | Resource configuration drift against Config rules                         | Periodic      |
| **Access Analyzer** | IAM and S3 access findings — overly permissive or public resources        | Periodic      |

### Enabling a Poller

<Steps>
  <Step title="Open polling settings">
    In Pulse, click **Manage subscriptions** and navigate to the **AWS Polling** section. You'll see your connected AWS accounts and their current polling status.
  </Step>

  <Step title="Validate first">
    Click **Validate** next to the source. Pulse performs a dry run to confirm your credentials have the required read permissions. A clear ✓ means ready; an error code (e.g. `AccessDenied`) tells you exactly what's missing.
  </Step>

  <Step title="Enable">
    Toggle the source on. Pulse starts polling immediately.
  </Step>
</Steps>

### Auto-Pause

If a poller fails five consecutive times, Pulse pauses it automatically and surfaces the error code. To resume: fix the issue, re-validate, then re-enable the toggle.

<Note>
  AWS polling requires an active [AWS connection](/guide/connections/aws) with read permissions for the relevant services.
</Note>

***

## Slack & Teams Subscriptions

When the CloudThinker bot is present in a channel, messages in that channel become Pulse signals — alert bot posts, incident announcements, on-call chatter — classified alongside your infrastructure events.

### Creating a Subscription

<Frame>
  <img src="https://mintcdn.com/cloudthinker/XTcsZ6apGZ4QSuTn/images/pulse/05-pulse-create-subscription.jpg?fit=max&auto=format&n=XTcsZ6apGZ4QSuTn&q=85&s=4b5588a0aa6c6dc380df9dd5bd3ee9f8" alt="Create Subscription dialog with Platform dropdown set to Slack, Channel search field, invite instruction callout, and Enabled toggle" width="1504" height="1266" data-path="images/pulse/05-pulse-create-subscription.jpg" />
</Frame>

<p style={{textAlign: 'center', fontSize: '0.9em', color: '#666', marginTop: '8px'}}>Select a platform, pick a channel, invite the bot, save</p>

<Steps>
  <Step title="Select platform">
    Choose **Slack** or **Microsoft Teams**.
  </Step>

  <Step title="Pick a channel">
    Search for the channel you want to monitor.
  </Step>

  <Step title="Invite the bot (Slack only)">
    Run `/invite @CloudThinker` in the target channel — Slack only delivers messages to apps that are channel members.
  </Step>

  <Step title="Save">
    **Enabled** is on by default. Click **Create subscription**.
  </Step>
</Steps>

Subscriptions can be toggled on/off independently — useful for muting a channel during a maintenance window without losing the configuration.

### Channel Types

| Type                | Best For                                                      |
| ------------------- | ------------------------------------------------------------- |
| **Alert**           | Channels used exclusively for automated alert bots            |
| **Communication**   | Channels used for human discussion — incident chats, handoffs |
| **Mixed** (default) | Channels with both automated alerts and human messages        |

***

## Third-Party Webhooks

Any monitoring tool that supports outbound webhooks can send signals to Pulse. The following platforms have built-in field mapping:

<CardGroup cols={3}>
  <Card title="Datadog" icon="https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/datadog.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=e8382167f2a1eb1e00971b5f4d703d48" width="24" height="24" data-path="images/icons/datadog.svg">Monitors, alerts, anomaly detections</Card>
  <Card title="Grafana" icon="https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/grafana.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=c1329049025cd3c3a0909b400baef7be" width="24" height="24" data-path="images/icons/grafana.svg">Alert rule firings and annotations</Card>
  <Card title="New Relic" icon="circle-dot">Incidents and NRQL alert results</Card>
  <Card title="PagerDuty" icon="https://mintcdn.com/cloudthinker/aLd-ttc-SCW-aFky/images/icons/pagerduty.svg?fit=max&auto=format&n=aLd-ttc-SCW-aFky&q=85&s=cdc34a966d5d46da70c3bc509a2a7492" width="24" height="24" data-path="images/icons/pagerduty.svg">Incident and alert webhooks</Card>
  <Card title="Prometheus" icon="fire">Kubernetes alert rules</Card>
  <Card title="Sentry" icon="bug">Error events and performance alerts</Card>
</CardGroup>

Create a webhook endpoint under **Webhooks** in CloudThinker and point your monitoring tool at the generated URL. See [Webhooks](/guide/webhooks/overview) for setup instructions.

***

## Signal Categories

Every signal — regardless of source — is assigned one of eight categories:

| Category          | Examples                                                        |
| ----------------- | --------------------------------------------------------------- |
| **Compute**       | EC2 status, Lambda timeouts, ECS failures, container restarts   |
| **Network**       | NAT gateway anomalies, CloudFront degradation, VPC changes      |
| **Security**      | GuardDuty findings, IAM changes, S3 public access, WAF triggers |
| **Cost**          | Cost anomalies, idle resources, Savings Plan drops, RI expiry   |
| **Data**          | RDS connection issues, S3 operations, database events           |
| **Deploy**        | CodeDeploy, ECS rollouts, CloudFormation stack changes          |
| **Communication** | Slack and Teams messages, alert bot notifications               |
| **Unclassified**  | Default until the AI classifier assigns a category              |
