Appearance
Integrations
TL;DR: Sam has 12 active integrations, all accessed through a single flat credential file (
.env.credentials). No tool isolation, no access scoping. Every integration is reachable from every session regardless of what the task is.
All credentials are stored in .openclaw/workspace/.env.credentials. Sam reads this file at the start of sessions via TOOLS.md instructions.
Integration Inventory
| Integration | Type | Auth Method | Status | Proposed Owner |
|---|---|---|---|---|
| PostHog | Analytics | Bearer phx_* key | 🟢 Active | Data Agent |
| Braze | Email/SMS | Bearer API key | 🟢 Active | Prospect Agent |
| Looker | BI/Dashboards | OAuth client_id/secret | 🟢 Active (read-only) | Data Agent |
| Meta Ads | Paid Social | Access token | 🟢 Active | Media Buying Agent |
| GitHub | Code repos | PAT (4 tokens) | 🟢 Active | Funnel Agent + Data Agent |
| Sanity CMS | Content | Read-only viewer token | 🟢 Active | Funnel Agent |
| Zendesk | CX/Support | API token | 🟢 Active | Prospect Agent |
| Higgsfield | AI Video | API key + secret | 🟢 Active | Creative Agent |
| Shotstack | Video Edit | API key + owner ID | 🟢 Active | Creative Agent |
| Google Gmail (work) | OAuth refresh token | 🟢 Active | Prospect Agent | |
| Google Gmail (personal) | OAuth refresh token | 🟢 Active | Sam (orchestrator) | |
| Google Calendar | Calendar | OAuth refresh token | 🟢 Active | Sam (orchestrator) |
| NorthBeam | Attribution | Data-Client-ID + Bearer | 🟡 Partial | Media Buying Agent |
| TikTok Ads | Paid Social | Not connected | ⬜ Pending | Media Buying Agent |
| BigQuery (via Looker) | Data Warehouse | Not connected | 🔴 Denied | Data Agent |
| Gr4vy (payments) | Payment Data | Not connected | 🔴 Denied | Sam (orchestrator) |
PostHog (Analytics)
Purpose: Primary funnel analytics — conversion rates, event tracking, user properties, A/B test results.
Endpoint: https://us.posthog.com (NOT app.posthog.com — redirects)
Auth: Authorization: Bearer $POSTHOG_PERSONAL_API_KEY (phx_ prefix)
Project: FuturHealth production (ID: 98417), US/Pacific timezone
Critical rule (from POSTHOG-RULES.md): Only use insight uC2ZuA1y ("Wegovy Pillform $198 Funnel") as the source of truth. Do not pull random events.
Key insights Sam tracks:
| Insight ID | Short ID | Name |
|---|---|---|
| 6389092 | uC2ZuA1y | Wegovy Pillform $198 Funnel — SOURCE OF TRUTH |
| 5075263 | — | Conv Funnel With New Events |
| 3123573 | — | conv_ funnel |
| 3184489 | — | Products Purchased Count Day Over Day |
Known quirks:
- Two keys:
POSTHOG_API_KEY(phc_ = project key, DON'T use for queries) andPOSTHOG_PERSONAL_API_KEY(phx_ = use this) - HogQL queries work for event counts but timeout on property GROUP BY
- Legacy trend endpoints return 403 — use HogQL or events API
conv_purchaseevents double-count upselled customers
Domains monitored: fh.co, futurhealth.com, funnel.fh.co, checkout.fh.co, landing.fh.co, plus.fh.co
Braze (Email + SMS)
Purpose: Email and SMS communications — cart abandon flows, onboarding sequences, prospect nurturing.
Endpoint: https://rest.iad-02.braze.com
Auth: Authorization: Bearer $BRAZE_API_KEY
App IDs: 6 app IDs configured
Key findings from audits:
- Cart abandon CVR: 5.6–6.5% (above 3–5% industry benchmark)
- Email click rates: ~1.5–2.5% (below 2.5–4% benchmark)
- 25% of purchasers are invisible to Braze — ID format mismatch (legacy hex IDs vs Firebase UIDs)
- 11 canvases had 0 entries for 7+ days — broken flows
- Only 2 working flows: New Wegovy Pill Flow (475/day) + old SMD Welcome Eligible (72/day)
- ~1,800 cart abandoners/day getting ZERO recovery emails
- Revenue impact estimated at $460–770K/month recoverable
Scripts written: braze-audit.js, braze-audit-full.js, braze-check-fields.js, braze-check-fields2.js
Looker (Business Intelligence)
Purpose: Revenue dashboards, funnel step analysis, product metrics, payment tracking.
Instance: futurhealth.cloud.looker.com
Auth: OAuth (POST /api/4.0/login with client_id/secret → access_token)
API user: api_viewer_product (ID 124, read-only)
Dashboard count: 160+ dashboards across Marketing, Product, CX, Payments folders
Key dashboards Sam accesses:
| Dashboard | ID | What it shows |
|---|---|---|
| Moon Metrics | 139 | Revenue + conversions |
| Revenue by Offer | 176 | Gr4vy AOV by offer ID |
| Funnel Step Analysis | 232 | Full funnel breakdown (30 elements) |
| Wegovy Upsell Split Test | 256 | Order bump test |
| Northbeam Campaigns | 346 | Attribution |
| Business Performance | 88 | Revenue, refunds, subscriptions |
Warning: Sam's predecessor agent crashed BigQuery via Looker — be careful with heavy queries.
Meta Ads (Paid Social)
Purpose: Ad campaign management — read access to existing account, write access to fresh account.
Ad Account: efunnel (#7), ID: act_2108575489887376
Auth: access_token=$META_ACCESS_TOKEN
Timezone: America/Los_Angeles
Existing Wegovy Account (read-only):
- Account:
act_1370572228200825("Wegovy Ad Account #8") - Total lifetime spend: $1.58M
- 30-day spend: $763K
- 30-day avg CPA: $319 (2,392 purchases)
- Best CPA: $173 (GIF format)
- Best performer: FHVI-754 (Jessica "Wegovy vs Wegovy Pills") — $114 CAC, 87% ROAS
Fresh account: $1,500/day budget, account ID provided by Elias
Upsell data: NOT yet passed back to Meta — algorithm not yet optimizing on real AOV (~$290–300)
GitHub (Code Repos)
Purpose: Monitor funnel code changes, track test deployments, watch for conversion-impacting commits.
Org: FuturHealth (74 private repos)
Account: futurhealth-automation
PATs: 4 tokens stored. GITHUB_PAT_TAGIATELLE has broadest access (74 repos)
Repos Sam monitors:
| Repo | What it contains | Priority |
|---|---|---|
| funnel-cms | Sanity CMS for funnels (updated daily) | High |
| funnel | Main funnel app | High |
| landing-pages | Landing page code | High |
| checkout | Checkout system | High |
| payments | Payment processing | Medium |
| dbt-fh | dbt data models | Low |
| futurhealth-analytics-looker | Looker config | Low |
| care-validate | CareValidate (4/20 platform) | Watch |
| futurhealth-agent | FuturHealth's own AI agent POC | Interesting |
Sanity CMS (Content Management)
Purpose: Control funnel copy, landing pages, quiz questions, interstitials.
Project: k8thhqoj (production dataset)
Auth: Read-only viewer token (Sam cannot write without approval flow)
Mapped content:
- 286 documents, 17 types, 2 datasets (production, dev)
- Main funnel: 34 steps (Wegovy Pill)
- Landing pages: 3 total
- Custom landing pages: possible (change hero + first interstitial, same quiz)
Frontend URLs:
- Landing pages:
start.fh.co/{slug} - Funnels:
start.fh.co/questionnaire/{funnel-slug}
Key finding: Phone number not collected in quiz funnel — it's captured at checkout/intake AFTER quiz. This creates the SMS coverage gap.
Zendesk (Customer Support)
Purpose: Read support tickets, analyze contact drivers, understand customer pain points.
Auth: API token (agent role)
Account: ai-svc@fh.co
Status: Connected. Not yet deeply integrated into regular workflows.
Higgsfield (AI Video Generation)
Purpose: Generate AI talking-head UGC videos and avatars for ad creative.
Docs: https://docs.higgsfield.ai/
Auth: API Key + API Secret
Use case: Generate video ads featuring AI spokespersons matching FuturHealth's target demographics (50–75 age group, authentic testimonial style).
Shotstack (Video Compositing)
Purpose: Compose, edit, and export video ads — text overlays, transitions, stitching.
Docs: https://shotstack.io/docs/guide/
Auth: API key + owner ID
Use case: Take Higgsfield AI video segments + static assets and assemble final ad creatives.
Google (Gmail + Calendar)
Purpose: Monitor John's email for relevant information; check calendar for upcoming meetings.
Work account: john@fh.co → token.json Personal account: johnlevan1@gmail.com → token-personal.json
Auth: OAuth2 via sam-assistant-489800 GCP project. Refresh tokens stored — auto-renew, no re-auth needed.
Scan frequency: Every 30 minutes (in heartbeat)
Status: Connected but rarely mentioned in daily logs. Google integration exists but email/calendar scanning not prominent in Sam's reported activities.
NorthBeam (Attribution)
Purpose: Track ad spend and order attribution across channels.
Base URL: https://api.northbeam.io/v1
Auth: Data-Client-ID header + Authorization: Bearer $NORTHBEAM_API_KEY
Working endpoints: /v1/spend, /v1/orders
Not working: Attribution endpoints return 403 — need upgraded API tier
Limitation: Spend endpoint only shows "custom-spend-The Offer" — not full channel attribution. Orders API returns 500K+ raw transactions — too granular. Sam is expected to use NorthBeam dashboard directly for attribution.
What's Not Connected
| Service | Why Not Connected | Priority |
|---|---|---|
| TikTok Ads | API credentials not yet obtained | Medium |
| BigQuery | Access denied by Charles (CTO) — API limits + PII risk | Would unlock via Looker |
| Gr4vy (payments) | Vetoed by U0987J8E9V3 — PII risk. Manual data provided by Bridgette | Low |
See also: Workflows | Integration Mapping | Proposed Agents