{"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:35:03.171Z"},"content":[{"type":"documentation","id":"3401bda2-5abd-4d84-b05d-c6115ea7e070","slug":"make-research-automation","title":"Connect Koji to Make (Make.com): Build No-Code Customer Research Automations","url":"https://www.koji.so/docs/make-research-automation","summary":"Koji connects to Make (formerly Integromat) without a dedicated app using two modules. An HTTP > Make a request module calls Koji's Start Interview endpoint (POST with API token, study_id, respondent_email or respondent_id) to launch interviews from any Make trigger. A Webhooks > Custom webhook module catches Koji's analysis_ready payload (themes, sentiment, quality score, structured answers, transcript URL) and routes it onward. Three recipes: churn interview from a Stripe cancellation to Slack/Notion; post-onboarding interview from a CRM stage back to the contact; scheduled batch from Google Sheets. Make routers and filters branch on structured-question values (six types, each typed) — e.g., act only when sentiment is negative and quality is high, or route by single_choice root cause. Store the token in a Make connection, verify the HMAC webhook signature, and enable error handlers. Headless API and webhooks are on the Interviews plan (EUR79/mo) and Enterprise; the Insights plan (EUR29/mo) supports outbound HTTP triggers but not inbound webhooks.","content":"# Connect Koji to Make (Make.com): Build No-Code Customer Research Automations\n\n**Answer first:** Make (formerly Integromat) is a visual automation canvas, and Koji plugs into it cleanly without a dedicated app. Two building blocks do everything: an **HTTP module** that calls Koji's headless API to start interviews, and a **Webhooks module** that catches Koji's `analysis_ready` events and routes the insights anywhere — Slack, Notion, a CRM, a spreadsheet, or an email. That lets you assemble end-to-end research pipelines by dragging modules: *when a Stripe subscription cancels, start a Koji churn interview; when it is analyzed, post the themes to Slack and log the row in Notion.* It is the same pattern as Koji's [Zapier](/docs/zapier-research-automation) and [n8n](/docs/n8n-research-automation) integrations, with Make's routers and filters for more complex branching. Most scenarios take 20 to 40 minutes to build.\n\n## Why use Make with Koji\n\nMake sits between hundreds of apps and lets you wire logic visually — triggers, routers, filters, iterators — without writing a service. For customer research, that means you can put a Koji AI interview at the exact moment a meaningful event happens *anywhere in your stack*, and then send the resulting insight to the exact place your team already looks. You get the depth of a moderated interview (Koji's AI asks adaptive follow-ups in voice or text and analyzes every conversation automatically) with the reach of an automation platform that already speaks to your billing, CRM, forms, and messaging tools.\n\nCompared to hand-built middleware, Make gives you retries, error handling, and a visual audit trail for free — and compared to a raw survey tool, platforms like Koji turn each triggered touch into a real conversation rather than a form nobody finishes.\n\n## The two building blocks\n\n### 1. HTTP module → start an interview (Make to Koji)\nAdd an **HTTP > Make a request** module pointed at Koji's [Start Interview endpoint](/docs/starting-interviews-via-api):\n- Method `POST`, with your Koji API token in the Authorization header (see [API authentication](/docs/api-authentication)).\n- Body includes the `study_id`, `respondent_email` (or `respondent_id`), and any personalization fields mapped from the trigger.\nKoji returns an interview link you can send yourself or let Koji deliver.\n\n### 2. Webhooks module → catch the insights (Koji to Make)\nAdd a **Webhooks > Custom webhook** module and register its URL as a Koji [webhook](/docs/webhook-setup). When an interview reaches `analysis_ready`, Make receives the payload — top themes, sentiment, quality score, structured answers, transcript URL — and every module after it can route that data anywhere.\n\n## Three scenario recipes\n\n**Recipe A — Churn interview from a cancellation.**\n`Stripe (Watch cancellations)` -> `HTTP (start Koji interview)`. Then a second scenario: `Webhooks (Koji analysis_ready)` -> `Router` -> `Slack (post themes to #retention)` + `Notion (append to churn database)`. Pair with [cancel-flow exit interviews](/docs/cancel-flow-exit-interview).\n\n**Recipe B — Post-onboarding interview from your CRM.**\n`HubSpot/Salesforce (contact reaches \"onboarded\" stage)` -> `HTTP (start Koji interview)` -> on completion, `Router` writes sentiment and themes back to the CRM contact and alerts the CSM. See [CRM research integration](/docs/crm-research-integration-guide).\n\n**Recipe C — Scheduled batch from a spreadsheet.**\n`Schedule (every Monday)` -> `Google Sheets (iterate new rows)` -> `HTTP (start interview per row)` -> results append to a Sheet via a webhook scenario. See [Google Sheets + Koji](/docs/google-sheets-research-integration).\n\n## Use routers and filters for real logic\n\nMake's **routers** let one Koji webhook fan out to multiple destinations, and **filters** let you act only on the interviews that matter. Common patterns:\n- Filter `sentiment = negative AND quality_score >= 0.7` -> alert the account owner immediately.\n- Route by `single_choice` root-cause value to different Slack channels or Jira projects.\n- Iterate over `multiple_choice` or `ranking` answers to write one row per selected option.\n\nThis is where structured questions pay off. Each Koji study can mix six question types — `open_ended`, `scale`, `single_choice`, `multiple_choice`, `ranking`, and `yes_no` — and because each returns a typed value, your Make filters and routers can branch on them deterministically. Design them with the [structured questions guide](/docs/structured-questions-guide).\n\n## Reliability and security notes\n- Store your Koji API token in a Make **connection/keychain**, not in plain module fields.\n- Koji signs webhooks with an HMAC secret — verify the signature in a filter before processing.\n- Turn on Make's error handlers so a transient failure retries instead of dropping an interview.\n- For sensitive studies, run Koji in **anonymous mode** and route only aggregate insights, never raw transcripts, downstream.\n\n## Plans and limits\nThe headless API and webhooks that Make relies on are included on the **Interviews plan (EUR79/month, 79 credits)** and **Enterprise**. On the **Insights plan (EUR29/month)** you can still trigger interviews with Make's HTTP module using CSV-based flows, but inbound webhooks require the higher tier. One completed interview consumes one credit.\n\n## A closer look at the webhook payload\n\nThe Custom webhook module receives one JSON object per analyzed interview. Determine the structure once (Make's \"Redetermine data structure\" makes this a click) and every field becomes mappable: `respondent_email` or `respondent_id` for identity, `sentiment` and `themes` for the headline, `structured_answers` for typed values, `quality_score` to filter low-effort responses, and `transcript_url` to link back. From there Make's mapping panel wires each field into whatever downstream module you choose.\n\n## When to choose Make vs Zapier vs n8n\n\nAll three run the same Koji pattern — HTTP out to start interviews, a webhook in to catch insights — so pick by fit:\n- **Zapier** is the fastest to a first working zap and has the widest app catalog; ideal for simple one-trigger, one-action flows. See [Connect Koji to Zapier](/docs/zapier-research-automation).\n- **Make** shines when a single interview needs to fan out with routers, filters, and iterators, or when you want a visual audit trail and cheaper high-volume operations.\n- **n8n** is the choice when you need self-hosting or want the pipeline in your own infrastructure. See [Connect Koji to n8n](/docs/n8n-research-automation).\n\n## Common pitfalls (and how to avoid them)\n- **Unverified webhooks.** Always check Koji's HMAC signature in an early filter so only genuine payloads proceed.\n- **No error handling.** Wrap the HTTP module with a Make error handler and retries so a transient failure does not silently drop an interview.\n- **Over-broad triggers.** Filter to the events that deserve an interview; do not launch one on every record change.\n- **Token in plain text.** Keep the Koji API token in a Make connection, not a bare module field.\n\n## Put the interview at the moment that matters\n\nThe reason to run Koji through Make is timing. A survey sent days later gets stale, low-candor answers; an AI interview triggered the instant a customer cancels, upgrades, or finishes onboarding catches them while the experience is vivid. Make is the switchboard that makes that timing automatic across your entire stack — and Koji is the AI moderator that turns the moment into a real, analyzed conversation instead of a form nobody finishes.\n\n## Build Recipe A step by step\n\nTo make the pattern concrete, here is the cancellation-to-Slack scenario end to end. First scenario (trigger the interview): add a **Stripe > Watch Events** module filtered to `customer.subscription.deleted`; add an **HTTP > Make a request** module that POSTs to Koji's Start Interview endpoint, mapping the Stripe customer email into `respondent_email` and your churn `study_id` into the body. Save and turn it on — every cancellation now launches an interview.\n\nSecond scenario (handle the result): add a **Webhooks > Custom webhook** module and paste its URL into Koji as a webhook target; run one interview so Make can determine the data structure. Add a **Router** with two routes — route one has a **Slack > Create a Message** module posting the sentiment and top themes to `#retention`; route two has a **Notion > Create a Database Item** module logging the respondent, themes, quality score, and transcript URL. Add a filter on route one for `sentiment = negative` so only the interviews worth a human's attention ping the channel. That is a complete, production-ready churn-listening loop built from five modules and zero lines of code — and it keeps running whether you are watching or not.\n\n## Related Resources\n- [Connect Koji to Zapier](/docs/zapier-research-automation)\n- [Connect Koji to n8n](/docs/n8n-research-automation)\n- [Research Automation with Webhooks](/docs/research-automation-webhooks)\n- [Structured Questions in AI Interviews](/docs/structured-questions-guide)\n- [Starting Interviews via API](/docs/starting-interviews-via-api)\n- [Google Sheets + Koji](/docs/google-sheets-research-integration)","category":"API Reference","lastModified":"2026-07-09T03:25:39.306312+00:00","metaTitle":"Koji + Make (Make.com): No-Code Research Automation","metaDescription":"Build Make.com scenarios that trigger Koji AI interviews from any app and route themes, sentiment, and transcripts to Slack, Notion, your CRM, or a spreadsheet — using HTTP and Webhooks modules.","keywords":["koji make integration","make.com research automation","integromat customer research","no code ai interviews","make webhook koji","trigger interviews from make","automate user research make"],"aiSummary":"Koji connects to Make (formerly Integromat) without a dedicated app using two modules. An HTTP > Make a request module calls Koji's Start Interview endpoint (POST with API token, study_id, respondent_email or respondent_id) to launch interviews from any Make trigger. A Webhooks > Custom webhook module catches Koji's analysis_ready payload (themes, sentiment, quality score, structured answers, transcript URL) and routes it onward. Three recipes: churn interview from a Stripe cancellation to Slack/Notion; post-onboarding interview from a CRM stage back to the contact; scheduled batch from Google Sheets. Make routers and filters branch on structured-question values (six types, each typed) — e.g., act only when sentiment is negative and quality is high, or route by single_choice root cause. Store the token in a Make connection, verify the HMAC webhook signature, and enable error handlers. Headless API and webhooks are on the Interviews plan (EUR79/mo) and Enterprise; the Insights plan (EUR29/mo) supports outbound HTTP triggers but not inbound webhooks.","aiPrerequisites":["A Koji account with API access on the Interviews or Enterprise plan","A Make (Make.com) account","Basic familiarity with Make modules, routers, and webhooks"],"aiLearningOutcomes":["Start Koji interviews from any Make trigger with the HTTP module","Catch Koji analysis_ready events with a Make webhook","Route insights to Slack, Notion, a CRM, or a spreadsheet","Branch scenarios on structured-question values with routers and filters"],"aiDifficulty":"intermediate","aiEstimatedTime":"11 min read"}],"pagination":{"total":1,"returned":1,"offset":0}}