{"site":{"name":"Koji","description":"AI-native customer research platform that helps teams conduct, analyze, and synthesize customer interviews at scale.","url":"https://www.koji.so","contentTypes":["blog","documentation"],"lastUpdated":"2026-07-09T17:32:33.823Z"},"content":[{"type":"documentation","id":"1ff4d3b4-58b8-45aa-8fa4-c6c93a55fc1f","slug":"segment-research-integration","title":"Segment + Koji: Trigger AI Interviews from CDP Audiences and Sync Insights Back as Traits","url":"https://www.koji.so/docs/segment-research-integration","summary":"The Koji + Segment integration is bidirectional and requires no native connector. From Segment into Koji: a Segment Audience (Engage/Personas) or a forwarded track event triggers a Koji AI-moderated interview to each matching user via Zapier, a Segment Function, or reverse ETL (Hightouch/Census). From Koji back into Segment: on each interview's analysis_ready event, a forwarder calls Segment's HTTP Tracking API to post a `Koji Interview Completed` track event (themes, sentiment, quality score, transcript URL) and identify traits like last_interview_sentiment and last_interview_themes, which Segment fans out to the warehouse, Braze, Customer.io, Mixpanel, and dashboards. Identity resolves via respondent_email or a custom respondent_id; anonymous-mode studies skip the write-back. Uses Koji's headless API and HMAC-signed webhooks. Webhooks/API are on the Interviews plan (EUR79/mo) and Enterprise; Zapier and CSV import work on any plan. Design studies with Koji's six structured question types so answers return to Segment as clean, segmentable traits.","content":"# Segment + Koji: Turn CDP Audiences Into AI Interviews — and Pipe the Answers Back Into Every Tool\n\n**Answer first:** Segment is the system of record for *who* your users are and *what* they do. Koji's AI-moderated interviews answer the question a CDP structurally cannot: *why*. The integration runs both directions. **Into Koji:** a Segment Audience or a forwarded Segment event triggers a Koji AI interview to exactly those people — trial stallers, milestone-hitters, freshly-churned accounts. **Back into Segment:** the moment an interview is analyzed, Koji fires a `Koji Interview Completed` track call and updates user traits like `last_interview_sentiment` and `last_interview_themes`, which Segment then fans out to your warehouse, email platform, and dashboards automatically. There is no one-click connector to install — Koji exposes a headless API, HMAC-signed webhooks, and a Zapier app, and Segment speaks all three. A working v1 takes about 30 minutes.\n\nIf you have ever built a Segment Audience called \"activated but silent for 14 days\" and wished you could just *ask them* what happened, this is the integration that turns that audience into a stack of transcripts by Friday.\n\n## Why connect Segment and Koji\n\nA CDP is superb at behavioral truth and blind to motivation. Teams usually patch that blindness with low-signal tactics: a quarterly NPS blast, a Slack message to CS asking for \"vibes,\" or five calendar-negotiated interviews a month that sample a rounding error of the cohort. Koji removes the scaling ceiling — its AI moderator runs voice or text interviews around the clock, with no scheduling and no human moderator — but the real unlock is **precision targeting**. You do not want to interview \"users.\" You want to interview the 212 people in one specific Segment Audience. Segment already computes those audiences continuously; the integration simply hands each new member to Koji.\n\nBecause Koji's AI asks adaptive follow-up questions instead of running a fixed script, one triggered interview produces the kind of \"why\" a survey never reaches — and every answer flows back into the same Segment identity you started from. Platforms like Koji make the depth of a moderated interview available at survey scale.\n\n## What flows in each direction\n\n### Segment → Koji (trigger interviews from behavior)\n- A user enters a Segment **Audience** (Engage/Personas) or fires a qualifying **track** event.\n- Segment forwards that to Koji through one of three transports (below).\n- Koji starts an interview for that respondent, keyed by `userId` or email, and delivers a personalized link over email, SMS, or an in-product embed.\n\n### Koji → Segment (insights become traits and events)\n- On each interview reaching `analysis_ready`, Koji's webhook posts to your forwarder.\n- The forwarder calls **Segment's HTTP Tracking API**: a `track` event named `Koji Interview Completed` (properties: top themes, sentiment, quality score, interview mode, transcript URL) plus an `identify` call setting durable traits.\n- Segment fans those traits to every destination — Snowflake/BigQuery, Braze, Customer.io, Mixpanel, your BI dashboards — with zero extra wiring.\n\n## Three ways to wire it up\n\n**1. No-code with Zapier (about 30 minutes).** Use Segment's Zapier destination (or an Audience webhook) as the trigger and Koji's \"Start Interview\" Zap action as the effect. For the return trip, trigger a Zap on Koji's webhook and use Segment's Zapier action to send `track`/`identify`. Best for a first test — see [Connect Koji to Zapier](/docs/zapier-research-automation).\n\n**2. Segment Functions forwarder (about 1 hour).** Write a small **Destination Function** that receives Koji webhook payloads and calls Segment's Tracking API, plus an **Audience webhook** (or Source Function) that calls Koji's [headless API](/docs/headless-api-overview) to start interviews. This is the clean production path and keeps everything inside Segment.\n\n**3. Reverse ETL / warehouse-first (production-grade).** If your audiences live in the warehouse, sync them to a webhook with Hightouch or Census and call Koji's [Start Interview endpoint](/docs/starting-interviews-via-api). Koji insights land back in the warehouse as a modeled table you can join to any metric.\n\n## Identity resolution: matching interviews to the right user\n\nTwo clean patterns:\n- **Email-keyed:** pass the Segment identifier as `respondent_email`; Koji echoes it on the webhook so you can `identify` the right user.\n- **ID-keyed:** if your `userId` is a UUID, pass it as Koji's `respondent_id` (separate from email). The same key returns on the webhook, so insights attach to the exact profile — even for pseudonymous users.\n\nFor sensitive studies, run the interview in **anonymous mode**: no email is collected, and you simply skip the Segment write-back.\n\n## Design the interview so the data is actually joinable\n\nThe reason Segment + Koji beats a fancy survey link is Koji's **structured questions**. Every study can mix six question types — `open_ended`, `scale`, `single_choice`, `multiple_choice`, `ranking`, and `yes_no` — and each produces a typed, aggregatable value alongside the conversational transcript. A `scale` NPS item or a `single_choice` \"primary reason\" becomes a clean property you can write straight back to Segment as a trait and segment your entire base by. See the [structured questions guide](/docs/structured-questions-guide) to design questions that analyze themselves.\n\n## High-value Segment audiences to point at Koji\n- **Activation drop-offs** — signed up, never reached the aha event (feed [onboarding drop-off research](/docs/onboarding-drop-off-research-guide)).\n- **Expansion signals** — power users still on a low tier (feed [account expansion research](/docs/expansion-upsell-research-guide)).\n- **Silent churn risk** — usage decayed 50% month-over-month.\n- **Just-churned** — subscription cancelled in the last 24 hours (route to [cancel-flow exit interviews](/docs/cancel-flow-exit-interview)).\n- **New power users** — crossed a usage milestone; capture testimonials while enthusiasm is high.\n\n## Example: closing the trial-conversion loop\n1. Segment Audience: `trial_started` AND NOT `subscription_created` AND `days_since_signup >= 10`.\n2. Audience entry triggers a 4-question Koji AI interview (one `single_choice` on the main blocker, two `open_ended` probes, one `scale` on likelihood to pay).\n3. Interview completes: `Koji Interview Completed` lands in Segment with `theme = \"SSO missing\"`, `sentiment = \"frustrated\"`, `quality_score = 0.86`.\n4. Segment routes it to Snowflake (for the PM's trial-conversion model) and to Customer.io (which enrolls \"frustrated / SSO\" users in a tailored win-back sequence).\n\nYou now segment trial conversion by *stated reason*, not guesswork — exactly what [free trial feedback research](/docs/free-trial-feedback-guide) is for, running continuously.\n\n## Plans and limits\nWebhooks and the headless API are included on the **Interviews plan (€79/month, 79 credits)** and **Enterprise**. The **Insights plan (€29/month)** does not include webhooks, but Zapier and CSV import still work, so you can build a manual version on any plan. Interview volume is governed by your credit balance; one completed interview consumes one credit.\n\n## The webhook payload, field by field\n\nWhen an interview reaches `analysis_ready`, Koji's webhook delivers a compact JSON object your forwarder maps onto Segment. The fields you will use most:\n- `respondent_email` / `respondent_id` — the identity key you passed in, returned unchanged for joining.\n- `sentiment` — an overall label (for example `positive`, `neutral`, `frustrated`).\n- `themes` — the ranked list of coded themes across the conversation.\n- `structured_answers` — one entry per structured question, each with its typed value.\n- `quality_score` — a 0-to-1 confidence signal you can filter low-effort interviews on.\n- `transcript_url` — a link back to the full conversation in Koji.\n\nBecause you decide which of these to forward, you keep tight control over what ever lands in your CDP.\n\n## Common pitfalls (and how to avoid them)\n- **Interviewing everyone at once.** A CDP makes it tempting to fire at a 10,000-person audience. Start with a tight, high-intent slice (a few hundred) so you can read every transcript and refine the questions before scaling.\n- **Skipping identity mapping.** If you forward insights without a stable `respondent_id`, they will not join back to the right profile. Decide your key — email or ID — before you build the return leg.\n- **Writing raw transcripts to Segment.** Keep the CDP clean and privacy-safe by forwarding only structured insights; leave transcripts in Koji.\n- **No frequency cap.** Suppress users who were interviewed in the last N days so a busy audience does not receive repeat invitations.\n\n## What to expect: week one vs. quarter one\n\nIn week one you will typically wire a single audience-to-interview flow and watch the first transcripts land. By the end of a quarter, most teams run three to five always-on flows — activation, expansion, churn, and testimonial capture — each feeding themed traits back into Segment. At that point qualitative \"why\" is no longer a quarterly project; it is a live property on every user, refreshed continuously and available to every downstream tool the moment it is created.\n\n## Related Resources\n- [Research Automation with Webhooks](/docs/research-automation-webhooks)\n- [Connect Koji to Zapier](/docs/zapier-research-automation)\n- [Starting Interviews via API](/docs/starting-interviews-via-api)\n- [Structured Questions in AI Interviews](/docs/structured-questions-guide)\n- [Mixpanel + Koji](/docs/mixpanel-research-integration)\n- [Amplitude + Koji](/docs/amplitude-research-integration)\n- [Understanding Themes & Patterns](/docs/understanding-themes-patterns)","category":"API Reference","lastModified":"2026-07-09T03:24:48.541319+00:00","metaTitle":"Segment + Koji Integration: AI Interviews From CDP Audiences","metaDescription":"Trigger Koji AI interviews from Segment Audiences and events, then sync themes, sentiment, and quality scores back into Segment as track events and user traits.","keywords":["segment koji integration","segment cdp research","trigger interviews from segment audience","customer data platform research","segment webhook interviews","ai interviews from segment","segment reverse etl research"],"aiSummary":"The Koji + Segment integration is bidirectional and requires no native connector. From Segment into Koji: a Segment Audience (Engage/Personas) or a forwarded track event triggers a Koji AI-moderated interview to each matching user via Zapier, a Segment Function, or reverse ETL (Hightouch/Census). From Koji back into Segment: on each interview's analysis_ready event, a forwarder calls Segment's HTTP Tracking API to post a `Koji Interview Completed` track event (themes, sentiment, quality score, transcript URL) and identify traits like last_interview_sentiment and last_interview_themes, which Segment fans out to the warehouse, Braze, Customer.io, Mixpanel, and dashboards. Identity resolves via respondent_email or a custom respondent_id; anonymous-mode studies skip the write-back. Uses Koji's headless API and HMAC-signed webhooks. Webhooks/API are on the Interviews plan (EUR79/mo) and Enterprise; Zapier and CSV import work on any plan. Design studies with Koji's six structured question types so answers return to Segment as clean, segmentable traits.","aiPrerequisites":["A Koji account with API access on the Interviews or Enterprise plan","A Segment workspace with Engage/Audiences or event access","Familiarity with webhooks or Zapier"],"aiLearningOutcomes":["Trigger Koji AI interviews from a Segment Audience or event","Send interview insights back into Segment as track events and traits","Resolve identity between Segment and Koji with email or respondent_id","Choose between Zapier, Segment Functions, and reverse ETL setups"],"aiDifficulty":"intermediate","aiEstimatedTime":"12 min read"}],"pagination":{"total":1,"returned":1,"offset":0}}