The live integrations behind the sales pipeline and the bots. Each has a direction (in / out / both), an auth model and a single owner. Since the Maestro cutover the pipeline runs on AWS (Lambda · DynamoDB · SQS · ECS Fargate · Bedrock); Airtable stays the config/brain SSOT. If anything in this list goes down, the corresponding flow in Current Flow stops cold.
| System | Role | Direction | Auth | Owner |
|---|---|---|---|---|
| Airtable | Config / brain SSOT · 4 bases | ↕ both | PAT · 2 tokens | Farid |
| HubSpot | CRM source · deals / contacts / owners | ↓ in | OAuth + API key | Jess |
| AWS | Maestro pipeline · Lambda · DynamoDB · SQS · ECS Fargate · Bedrock | ↕ both | IAM · us-east-2 | Daniel |
| n8n Cloud | Generation crons (→ /generate) + legacy send-worker | ↑ out | API key · happenventures workspace | Farid |
| Gmail | Outbound send (as the rep · gmail.send) | ↑ out | Service acct · domain-wide delegation | Ops |
| Slack | Hermes chat + #hv-alerts observability | ↕ both | Bot token | Daniel |
| QuickBooks | Finance bots data | ↓ in | OAuth | Finance |
| Make.com | Legacy automations | ↕ both | API key | Farid |
These four are the config/brain bases the bots and Hub actually read and write. The Airtable PAT's scope is broader — it can reach many more HV workspaces (including archived and non-system bases) — but only these four are part of the live pipeline; the older PAT still used by some workflows sees only the original three.
16 playbooks. Fields: Task Name, Owner, Status, Enabled, Approval, Schedule, Bot Settings (link), Inputs (link). Editing here is the only legitimate way to enable/disable a playbook.
Per-bot config (a.k.a. Bot Settings). Fields: system_prompt, voice, guardrails, never_do, escalation_logic, model. The sales draft bot is Gabrielle Sales (rec K11x… — formerly Sales_Assistant / ClawBot); the Maestro consumer reads this record to draft.
applies_to="All bots" — global, not per-playbook. Categories: Inbox Rules, Content, Human Required, Communication Limits, Data Hygiene. Priorities 1 (Critical) → 5 (Catch-all).
Two heavy-link records: recXbj3ykSg5Tqw9v Suppression_List (DNC · 9 outreach playbooks · ~17 SSOT links) and recPk47mTFYk78BWG Company Employee Database (rep inbox/Slack · 16 SSOT links).
Since the cutover the sales queue lives in this AWS single-table (us-east-2), not Airtable's task_queue_sales. n8n crons POST /generate → SQS → task_consumer Lambda → DynamoDB. Reviewers act in Hub v2 (Approve&Send, Edit, Reject, Snooze, Comment, Escalate); approved rows are delivered by the Unified Sender (SQS outbound-messages → message-dispatcher Lambda → per-channel adapter: Gmail / Slack / WhatsApp).
Internal work driven by Robin (R3 ops bot) from inbound emails, forms, Slack. Migrated to the same DynamoDB single-table (source='robin', cut over 2026-06-12); the Hub reads/acts on DynamoDB. Frank is the separate finance bot.