Sync Koji AI Interviews to Salesforce: Customer Insights on Every Account, Contact, and Opportunity
Push interview transcripts, AI themes, sentiment, and quality scores from Koji into Salesforce in real time using webhooks and the Salesforce REST API — so account executives, customer success managers, and revenue ops teams act on customer evidence inside the CRM they already live in.
Sync Koji AI Interviews to Salesforce
Answer first: You can pipe every Koji AI-moderated interview into Salesforce in three steps — (1) create three or four custom fields on the Contact and Account objects (Latest_Customer_Quote__c, Interview_Themes__c, Interview_Quality_Score__c, Transcript_URL__c), (2) deploy a small webhook forwarder that verifies the Koji signature and PATCHes those fields via the Salesforce REST API, and (3) subscribe to Koji's interview.analysis_ready event. End-to-end latency from interview completion to Salesforce update is typically under 5 seconds. With tools like Koji, your reps no longer need to dig through transcripts — the customer's own words live on the account record.
If you're tired of customer voice being trapped in survey dashboards, this is the integration that closes the loop between your AI-native research stack and the system of record your revenue team already runs on.
Why connect Koji to Salesforce
Salesforce is the system of record for B2B revenue. But Salesforce alone can only tell you what a customer did (deals, support tickets, product usage events) — it cannot tell you why they did it. Traditional CX programs try to fill that gap with NPS surveys piped into custom fields, but a numeric score with one open-text field is a very thin signal compared with a 12-minute conversational interview moderated by an AI that knows when to probe.
Koji is purpose-built to generate that deeper signal at scale. The AI interviewer asks the questions you scope, follows up automatically when answers are vague, scores each conversation for quality (only 3+ conversations count toward usage), extracts themes and sentiment, and writes back a clean structured artifact. Pipe that into Salesforce and three things change:
- Account executives open an opportunity and immediately see the prospect's own words about their current pain, who else is in the buying committee, and what alternatives they're evaluating — no waiting for a researcher to summarize.
- Customer success managers get an automatic alert in the account feed when a renewal-cycle interview comes back with negative sentiment or a churn-risk theme, weeks before the renewal date.
- Revenue operations can build reports and dashboards that segment customers by themes extracted from interviews (e.g., "all accounts where 'integration friction' surfaced in the last 90 days") — something no survey tool can do because surveys do not extract themes natively.
What the integration writes back
Every time an interview reaches the analysis_ready state, Koji emits a webhook with a structured payload. The integration writes the following onto the matching Salesforce Contact (and rolls up to the parent Account):
- Latest customer quote — The single most representative pull-quote, picked by the AI consultant.
- Interview themes — Comma-separated list of top themes extracted from the conversation.
- Sentiment —
positive,neutral, ornegative, with optional sub-scores per theme. - Quality score — 1–5, the same score Koji uses for credit gating. Below 3 = filtered.
- Transcript URL — A signed link to the full transcript inside Koji, for reps who want context.
- Completion timestamp — Used to power "last spoken to" filters in pipeline reports.
Optionally you can map structured-question answers to dedicated fields. Koji supports six structured question types — open_ended, scale, single_choice, multiple_choice, ranking, and yes_no (see the structured questions guide) — and each carries a stable question ID, so a single integration build will continue to work as you tweak interview wording.
Step 1 — Create the Salesforce custom fields
In Salesforce Setup, navigate to Object Manager → Contact → Fields & Relationships and create the following:
| API Name | Type | Length | Notes |
|---|---|---|---|
Latest_Customer_Quote__c | Long Text Area | 4000 | Visible on layouts |
Interview_Themes__c | Text | 255 | Comma-separated themes |
Interview_Sentiment__c | Picklist | — | positive / neutral / negative |
Interview_Quality_Score__c | Number | 1, 0 | 1–5 scale |
Transcript_URL__c | URL | 255 | Signed Koji link |
Last_Koji_Interview_At__c | Date/Time | — | Sort & filter |
Repeat on the Account object if you want roll-up visibility, or create a Salesforce flow that propagates the Contact-level fields to the parent Account whenever the Contact is updated.
Add the new fields to your default Contact and Account page layouts so reps can see them without expanding "Show more."
Step 2 — Deploy the webhook forwarder
Koji webhooks are HMAC-signed and emit POST requests to a URL you control. The simplest production-grade pattern is a serverless function (Vercel Function, AWS Lambda, Cloudflare Worker) that:
- Verifies the signature using the shared secret from Koji webhook settings — never skip this; webhooks without signature verification are an injection vector.
- Looks up the Salesforce Contact by email (from the interview's respondent email) using a SOQL query:
SELECT Id FROM Contact WHERE Email = :email LIMIT 1. - PATCHes the Contact via
/services/data/vXX.0/sobjects/Contact/{id}with the fields above. - Handles anonymous interviews — if
respondent_emailis null (interview was run in anonymous mode), do not write back. Optionally log the event to a dead-letter queue for manual review.
For authentication to Salesforce, the recommended path is a Connected App with the OAuth 2.0 Client Credentials Flow (server-to-server). Avoid the username/password flow — it's deprecated and triggers security alerts in modern orgs.
A single forwarder typically runs at <100ms p95 for the Salesforce write, well within Salesforce's API limits as long as you don't fire thousands of interviews concurrently. For high-volume programs, queue the events and write in micro-batches.
Step 3 — Subscribe to the Koji webhook event
In Koji, open Settings → Webhooks → New Webhook and:
- Set the Target URL to your forwarder endpoint.
- Subscribe to the
interview.analysis_readyevent (this fires once analysis finishes — not when the interview merely completes, so you receive themes and quality score together). - Optionally subscribe to
interview.completedas well if you want a faster, "transcript only" write before the analysis arrives. - Save the signing secret and store it as an environment variable in your forwarder.
The full event reference lives in the webhook setup doc, and the research automation webhooks page covers idempotency, retries, and replay.
No-code path — Zapier or Make
If you cannot run a serverless function, the same integration is buildable in Zapier or Make in under 30 minutes:
- Trigger: Koji (webhook) →
interview.analysis_ready. - Action: Salesforce → Find Contact by Email.
- Action: Salesforce → Update Contact with the mapped fields.
- Optional action: Slack post to a
#customer-voicechannel with the quote.
This path is what most early-stage teams pick when they don't yet have an engineering team to own the forwarder. See the Zapier research automation doc for the full step-by-step.
Workflows that become possible
Once interview data flows into Salesforce, the Salesforce platform itself unlocks a set of automations that would be impossible with surveys:
- Churn risk flow — When
Interview_Sentiment__c = 'negative'AND the parent Account's ARR is above a threshold, create a high-priority Case routed to the CSM and post to a Slack channel. - Discovery completeness scoring — In Sales Cloud, populate a custom Opportunity field that says "discovery interview complete" only when an Account has at least N interviews with quality score ≥4 in the last 60 days. This becomes a forecast-stage gate.
- Voice-of-customer reports — Build a Salesforce report that groups Accounts by themes pulled from interviews (
CONTAINS(Interview_Themes__c, 'onboarding')) and intersects with deal stage. You now have a quantitative view of qualitative signal. - Renewal pre-work — Trigger an interview link 60 days before each renewal, write the result back, and brief the CSM with a pre-renewal call summary generated from the transcript.
Comparison: Koji + Salesforce vs survey-tool + Salesforce
Most teams already have a Qualtrics, SurveyMonkey, or Typeform integration with Salesforce. Why replace it with Koji? Three concrete differences:
- Open-text quality. Surveys collect a sentence. Koji's AI moderator probes — it sees a thin answer and asks the follow-up the human researcher would have asked. The "Latest Customer Quote" field ends up populated with substance, not "it's fine."
- Built-in theme extraction. With surveys, theming requires a separate tagging pass (or a manual researcher). Koji writes the themes directly. Salesforce filtering on themes becomes a native CRM operation, not a separate analytics workflow.
- Quality gating. Surveys cannot tell whether the respondent took the survey seriously. Koji scores each interview 1–5 and only writes back the ones that pass the bar — keeping your CRM clean.
If you're still on a traditional survey + CRM pattern, the convert survey to AI interview guide walks through the migration without breaking your existing flows.
Plan requirements
Webhooks and the headless API are available on the Interviews plan (€79/month, 79 credits/month) and Enterprise. The Insights plan (€29/month) does not include webhooks — for that tier, the Zapier route is the supported path. See the plan comparison guide for the full feature matrix and the API authentication doc to set up your first key.
Anonymous mode and compliance
Koji supports a fully anonymous mode in which no respondent email is collected. For those interviews, the webhook payload arrives with respondent_email = null and your forwarder should skip the Salesforce write rather than try to match. For compliance-heavy industries, see the GDPR-compliant AI user research doc and the anonymizing customer interview data walkthrough.
Related Resources
- Structured Questions Guide — the six question types Koji supports and how each renders in reports.
- HubSpot Research Integration — the same pattern, mapped to HubSpot CRM.
- Webhook Setup — full reference for Koji webhook events, signatures, and retries.
- Research Automation Webhooks — idempotency, replay, and dead-letter patterns.
- Zapier Research Automation — no-code automations across your stack.
- CRM Research Integration Guide — broader patterns for any CRM.
- User Research API Guide — programmatic access to studies, interviews, and reports.
Related Articles
Real-Time Research Insights: How to See Themes, Quotes, and Quality Scores as Interviews Complete
Stop waiting weeks for analysis — modern AI research platforms surface themes, structured-question distributions, sentiment, and quality-scored quotes the moment each interview ends. Here is how real-time research insights work in Koji and how to design studies that take advantage of them.
Send Research Insights to Slack: Real-Time Customer Interview Notifications via Webhooks
Pipe customer interview insights from Koji into your Slack workspace in real time. Use Koji webhooks to notify a #research channel the moment an interview completes, post quote highlights to #product-feedback, or alert #cs-alerts when a churn signal is detected. Step-by-step setup with a working Slack incoming webhook recipe.
Sync Koji Research Insights to Notion: Build a Self-Updating Research Repository
Connect Koji to Notion via Zapier (or webhook) so every completed AI interview becomes a fresh Notion page — with transcript, structured answers, themes, quality score, and AI summary attached. Build a research repository that updates itself.
Send Koji Insights to Linear: Auto-File Engineering Tickets from Customer Interviews
Wire Koji to Linear so every customer interview that surfaces a real pain point auto-creates a tagged Linear issue — with verbatim quote, theme, study link, and quality score attached. Replace the Slack-thread-to-screenshot-to-ticket workflow with a webhook.
Connect Koji to Zapier: Automate Customer Research Workflows in Minutes
Route every completed AI customer interview from Koji into 6,000+ Zapier apps — including Notion, Linear, Salesforce, Airtable, and Gmail. A step-by-step integration guide.
User Research API: Embed AI Interviews into Any Product or Workflow
How to use Koji's User Research API to run AI-moderated interviews from your own backend. Covers REST endpoints, the embed widget, webhooks, authentication, rate limits, and headless interview patterns.
API Authentication
Learn how to authenticate with the Koji API using API keys and Bearer tokens.
Sync Koji Customer Interviews to HubSpot: Live Insights on Every Contact
Push Koji interview transcripts, themes, and quality scores onto HubSpot contact and company records in real time using webhooks and the HubSpot API.
Research Automation: How to Build Real-Time Research Pipelines with Webhooks
Koji webhooks push interview and report data to your systems the instant something happens — enabling Slack alerts, CRM sync, automated tagging, and fully automated research pipelines that operate without manual intervention.
Webhook Setup
Receive real-time notifications when interviews complete and analysis finishes using webhooks.
How to Use Your CRM Data for Targeted AI Research: Import Participants and Personalize Every Interview
Your CRM already contains your best research sample. Learn how to export customer segments, import them into Koji, send personalized interview links, and get 3–5x higher response rates than generic research recruitment.
Headless API Overview
Manage interviews programmatically with the Koji REST API — start, message, and complete interviews from your own code.
Structured Questions in AI Interviews
Mix quantitative data collection — scales, ratings, multiple choice, ranking — with AI-powered conversational follow-up in a single interview.
Churned Customer Interviews: How to Talk to Users Who Left (and Win Them Back)
Learn how to conduct churned customer interviews that reveal why users really left — and how AI-moderated interviews make it scalable. Includes questions, structure, and templates.
How to Convert Any Survey into an AI Interview in 30 Seconds
Step-by-step guide to converting Google Forms, Typeform, SurveyMonkey, and other surveys into AI-powered interviews using Kojify.