Skip to content

Integration Mapping

Every integration should be owned by exactly one primary agent. Secondary agents may have read access where necessary. No agent should hold credentials it doesn't use.

Master Mapping Table

IntegrationPrimary OwnerSecondary AccessRationale
PostHogData AgentFunnel Agent (read, CVR only)Core analytics. Data Agent is the source of truth for all metrics.
BrazeProspect AgentCreative Agent (read, copy reference)Email/SMS domain. Prospect Agent manages all flows.
LookerData AgentBI dashboards are pure data domain.
Meta AdsMedia Buying AgentCreative Agent (read, performance data)Campaign management = media buying. Creative needs performance data to optimize concepts.
GitHubFunnel AgentCode changes = funnel changes. Monitoring belongs with the agent that acts on the data.
Sanity CMSFunnel AgentFunnel content management. Funnel Agent proposes edits; humans approve.
ZendeskProspect AgentCustomer support context informs prospect nurturing.
HiggsfieldCreative AgentAI video generation is a creative output tool.
ShotstackCreative AgentVideo compositing is a creative output tool.
Google Gmail (work)Master AgentProspect AgentJohn's work email is orchestration-level context. Prospect agent can see customer-related threads.
Google Gmail (personal)Master AgentPersonal email stays at orchestrator level only.
Google CalendarMaster AgentProspect AgentScheduling is orchestration. Prospect agent checks upcoming meetings for context.
NorthBeamData AgentMedia Buying AgentAttribution data primarily for reporting. Media Buying needs it for campaign decisions.
TikTok AdsMedia Buying AgentSame domain as Meta Ads.
SlackMaster AgentAll agents (send-only)Slack is the communication layer. All agents can send to Slack but routing goes through master.

Why These Assignments

PostHog → Data Agent (primary)

PostHog is primarily used for funnel CVR reporting and event analysis. This is data/reporting work. The Data Agent runs the 3×/day CVR check. Funnel Agent gets read access because it needs CVR context to understand impact of funnel changes.

Braze → Prospect Agent

Braze owns the post-quiz communication pipeline. The 25% purchaser gap, dead canvases, and SMS coverage issues are all Prospect Agent problems. Creative Agent needs read access to ensure emails/SMS copy stays consistent with creative direction.

GitHub → Funnel Agent

Code changes in funnel, funnel-cms, landing-pages, and checkout directly affect funnel conversion rates. The Funnel Agent is the one watching CVR — it should also watch for code changes that explain CVR shifts. No other agent cares about these repos.

Sanity CMS → Funnel Agent

Sanity CMS is where funnel copy, quiz questions, and interstitials live. The Funnel Agent proposes and drafts changes; humans approve via the existing review workflow.

Meta Ads → Media Buying Agent

Campaign management (launch, scale, kill) is a dedicated function. Creative Agent can read Meta performance data to understand which creative concepts perform — but it doesn't manage campaigns.

Higgsfield + Shotstack → Creative Agent

Both tools are purely for generating and assembling ad creative. No other agent needs these.

Google Calendar/Gmail → Master Agent

John's schedule and email are high-level orchestration context. The Master Agent should be the one monitoring for important emails and upcoming meetings. Prospect Agent gets access to work Gmail specifically for customer-related email threads.


Credential Segregation Plan

Current state: all credentials in one .env.credentials file accessible to all sessions.

Target state: each agent has its own .env with only the credentials it needs.

AgentCredentials
MasterSLACK_*, GOOGLE_*, OPENCLAW_*
DataPOSTHOG_PERSONAL_API_KEY, LOOKER_CLIENT_*, NORTHBEAM_API_KEY
CreativeHIGGSFIELD_*, SHOTSTACK_*, META_ACCESS_TOKEN (read), BRAZE_API_KEY (read)
Media BuyingMETA_ACCESS_TOKEN, TIKTOK_*, NORTHBEAM_API_KEY
FunnelGITHUB_PAT_TAGIATELLE, SANITY_EDITOR_TOKEN, POSTHOG_PERSONAL_API_KEY (read)
ProspectBRAZE_API_KEY, ZENDESK_TOKEN, GOOGLE_WORK_*

Channels and Routing

Currently: all Slack messages go to Sam. In the decomposed setup:

Who contactsRoutes to
John (DM)Master Agent
sam-chat channelMaster Agent (fan-out to relevant specialists)
funnel-squadFunnel Agent
c-suiteMaster Agent

The Master Agent receives the message and either handles it directly or dispatches to the appropriate specialist.


See also: Proposed Agents | Migration Plan

FuturHealth Internal — Confidential