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 |
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.
| 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 |
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 |
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 |
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 |
HubSpot notifications mode
HubSpot has its own notifications mode that gates whethernew_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
The notification sink for most other integrations.
Agent Actions
Enable specific actions per agent.
Learning Rules
Filter what gets learned from ingested integration data.