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

# Integration Modes

> Ingest, Actions, and Notifications: the three things an integration can do for you.

## Three modes

Every integration in Halo can support up to three modes. You toggle them per integration at the top of the integration's detail page.

| Mode | What it does |
| - | - |
| **Ingest** | Pull data from the integration into Halo |
| **Actions** | Let agents invoke functions in the integration |
| **Notifications** | Send notifications from Halo into the integration |

Each integration declares which modes it supports. For example, HubSpot supports all three. Linear supports only Actions. Zoom supports only Ingest.

## Ingest

Ingest mode pulls data from the integration into Halo's database. Two flavors:

* **Relational ingest** — data goes into Halo tables for use in prompts and segments. Examples: Stripe customers and subscriptions, Intercom contacts and tickets.
* **Knowledge ingest** — data is also chunked, embedded, and searchable by the AI. Examples: HubSpot engagement bodies, Zoom transcripts, PandaDoc contract content.

Ingest defaults to **on** when unset. Sync runs in two ways:

| Source | When |
| - | - |
| **First connect** | Full historical backfill triggered by OAuth callback / API key validation |
| **Cron** | Hourly background job, incremental, for integrations with `cronSync: true` |
| **Webhooks** | Real-time updates when the integration supports them |

Disabling ingest stops both cron and webhook processing.

### What gets ingested

| Integration | Data |
| - | - |
| HubSpot | contacts, companies, deals, engagements (emails, notes, calls, meetings) |
| Slack | channel conversations, team insights |
| Stripe | customers, subscriptions, payments |
| Zoom | meeting transcripts, recordings |
| Fathom | meeting transcripts, attendee insights |
| PandaDoc | contracts, signer activity |
| Intercom | contacts, companies, conversations, tickets |

Linear is the exception — no ingest mode. Halo tracks Linear issues *it* created (for reply behavior) but doesn't pull existing Linear issues into the knowledge base.

## Actions

Actions mode enables the integration's tools for AI agents. When on, you can wire the integration's actions to specific agents at **AI Agents > \[Agent] > Actions**.

Actions defaults to **on** when unset, but agents are still gated separately — even with actions mode on, an agent only has the action available if you've explicitly enabled it on that agent.

### Available actions

| Integration | Actions |
| - | - |
| HubSpot | `create_deal`, `update_contact`, `log_activity`, `create_note` |
| Slack | `post_message` |
| Stripe | `billing` (refund, cancel, credit, extend trial — submitted to a human approval queue) |
| Linear | `create_bug`, `create_feature_request` |

Each action shows a **destructive flag** (red badge) if it mutates external state. Be deliberate when enabling destructive actions.

### Why two layers

The two-layer design (workspace mode + per-agent enable) lets you:

* **Disable an entire integration's actions** when you need to (e.g. during a maintenance window)
* **Vary by agent** — your sales agent might have HubSpot create\_deal but not your support agent
* **Test new actions on one agent** before rolling out

## Notifications

Notifications mode sends events from Halo into the integration. Today, the primary notification sink is **Slack** — most integrations don't define their own notifications mode but instead route alerts through Slack when both are connected.

Notifications defaults to **off** when unset.

### Slack notification types

When Slack notifications are enabled, you can subscribe to:

| Type | When it fires |
| - | - |
| `new_ticket` | A new ticket is created |
| `high_priority_ticket` | A new ticket matches your priority filters |
| `escalation` | The AI escalates a conversation |
| `negative_sentiment` | A conversation turns negative |
| `feedback_alert` | A negative or low-rated feedback comes in |
| `knowledge_gap` | The AI repeatedly fails to answer the same question |
| `new_hubspot_engagement` | A HubSpot engagement is processed (when HubSpot notifications mode is on) |
| `stripe_event` | A Stripe event of interest fires (customer created, subscription cancelled, payment failed, etc.) |
| `contract_event` | A PandaDoc contract event is processed |
| `health_score_drop` | A company's health score drops a tier |
| `digest` | Daily/weekly summary of activity |

Each type can be enabled or disabled independently. Notifications go to a default channel you configure (or per-rule channels for advanced setups).

### HubSpot notifications mode

HubSpot has its own notifications mode that gates whether `new_hubspot_engagement` Slack notifications fire. With HubSpot notifications **off**, engagements still ingest as knowledge but don't ping Slack.

## Per-integration mode summary

| Integration | Ingest | Actions | Notifications |
| - | :-: | :-: | :-: |
| HubSpot | Yes | Yes | Yes (via Slack) |
| Slack | Yes (channel context) | Yes | Yes (sink) |
| Stripe | Yes | Yes | Via Slack |
| Linear | No | Yes | No |
| Zoom | Yes | No | No |
| Fathom | Yes | No | No |
| PandaDoc | Yes | No | Via Slack |
| Intercom | Yes | No | No |

## Where to go next

> **[Slack Integration](https://docs.haloagents.ai/integrations/slack.md)**
>
> The notification sink for most other integrations.

> **[Agent Actions](https://docs.haloagents.ai/agents/actions.md)**
>
> Enable specific actions per agent.

> **[Learning Rules](https://docs.haloagents.ai/knowledge/learning-rules.md)**
>
> Filter what gets learned from ingested integration data.


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