Automate Typeform → Make.com → Pipedrive with an OpenAI score, upsert contacts, and Slack alerts. Includes v2 Pipedrive module notes and retry handling.
Introduction
You are getting Typeform responses and someone manually triages them before entering leads into Pipedrive. That slows response and makes prioritisation ad hoc. You want a reproducible gate: every response gets a short qualification score, then the record is upserted into Pipedrive and only high scoring leads ping Slack.
By the end you will have a Make.com scenario that catches Typeform responses, runs a compact OpenAI or rules-based scoring routine, writes the score back to Pipedrive (using the v2 modules), logs activity in Google Sheets for audit, and posts Slack alerts for hot leads.
What You'll Need
- Typeform account with the form you capture responses from (webhooks enabled or use Make.com Typeform watch module).
- Make.com account with connections to Typeform, Pipedrive (use the v2 OAuth connection), OpenAI, Google Sheets, and Slack.
- Pipedrive account with permission to create/update Persons or Leads, and a custom field for "lead_score" (number) and "score_reason" (text).
- OpenAI API key (for GPT scoring) or a ruleset you can implement in Make.com.
- Google Sheets spreadsheet for an audit log (optional but recommended).
Notes: OpenAI calls incur cost. Pipedrive modules in Make.com moved to API v2 in 2026; recreate any old connections using OAuth and test before switching scenarios live.
How It Works (The Logic)
Trigger: new Typeform response → Make.com normalises fields → optional quick rules-based checks → call OpenAI to compute a numeric score and short reason → search Pipedrive for person by email → update if found or create if not, writing lead_score and score_reason → append audit row to Google Sheets → post Slack message when score exceeds threshold.
Trigger → Normalise → Score → Pipedrive upsert → Log → Slack alert
Step-by-Step Setup
- Prepare Typeform and Pipedrive fields
- Make the email field required on your Typeform, add fields you need for qualification (company, budget, timeline, role, message).
- In Pipedrive create two custom fields:
lead_score(number) andscore_reason(text). Note the exact API property keys; you will map to these in Make.com.
Gotcha: If email is optional you must add an idempotency alternative such as a submission_id custom field stored in Pipedrive.
- Start a new Scenario in Make.com and add the Typeform trigger
- Module: Typeform, "Watch Responses" (or use a webhook if you prefer lower latency). Select the form and fetch a sample response to get the payload.
- Immediately add a "Set variable" or "Tools > JSON Parse" step to normalise fields: lowercase and trim the email, normalise phone digits, and extract free text fields.
- Add a lightweight rules-based filter (optional)
- Before calling OpenAI, run simple checks to short-circuit scoring for obvious low-value submissions: if company empty and budget not set, tag as low and continue to upsert without OpenAI to save calls.
This reduces cost and keeps the OpenAI step focused on ambiguous or promising submissions.
- Add OpenAI scoring (GPT) module
- Module: OpenAI (Make.com), "Create a text completion" or "Chat completion" using your chosen model. Build a concise prompt that returns a JSON object with fields: score (0-100) and reason (1-sentence).
Example prompt structure (keep it strict):
You are a lead grader. Input: {company, role, budget, timeline, message}. Output as strict JSON: {"score":<0-100>,"reason":"one sentence reason"}.
- Configure the module to parse the response. Use the parsed
scoreandreasonin later steps.
Gotcha: enforce a strict JSON response in the prompt and validate parsing in Make.com; fallback to rules if parsing fails.
- Search Pipedrive for existing person by email
- Module: Pipedrive (v2), "Search Persons" or use the Pipedrive HTTP module with the v2 endpoint. Pass the normalised email.
- Route on whether a person is found.
Migration note: confirm you are on the v2 module in Make.com. Pipedrive v1 modules will stop working after July 31, 2026. Recreate connections using OAuth if needed.
- Route A: Update existing person
- Module: Pipedrive (v2), "Update Person". Map fields and only write non-empty incoming values. Map the two custom fields:
- lead_score → mapped numeric score
- score_reason → mapped reason text
- If you use Deals, optionally update or create a Deal stage when score > threshold.
Gotcha: Pipedrive custom field keys are required. Use the API key name, not the visible label, in Make.com mapping.
- Route B: Create person (and optional deal)
- Module: Pipedrive (v2), "Create Person". Provide name, email array, phone, company association if desired, and set
lead_scoreandscore_reasoncustom fields during creation. - Optional: create a Deal if score exceeds a higher threshold, set pipeline and stage, and link to the person.
- Audit log in Google Sheets
- Module: Google Sheets, "Add a row". Write: submission_id, email, score, reason, action (created/updated), person_id, run_timestamp, scenario_run_id.
This sheet is your trace for reprocessing, billing, or QA.
- Slack alerts for hot leads
- Add a filter: continue only when score >= your threshold (for example 80).
- Module: Slack, "Post a message" to your sales channel. Keep message short and include a Pipedrive link: build URL using your Pipedrive account pattern and person_id.
Example message: "Hot lead: Name, Company, Score 87, Email. Open in CRM: . Reason: "
- Error handling and retries
- Configure Make.com error handlers for OpenAI rate limits or Pipedrive 5xx errors. Use retries with exponential backoff for transient errors.
- On permanent failure, append a row to a dead-letter sheet and send a compact Slack notification to
#opswith submission_id and the error.
- Test thoroughly and deploy
- Test flows: new email creates a person, repeat submission updates the existing person, high scoring submission triggers Slack, and OpenAI parse failures go to a fallback rules path.
- Monitor execution logs for the first 48 hours and validate Google Sheets audit records.
Real-World Business Scenario
A SaaS vendor uses this exact pattern. Their Typeform demo requests now get an automated score from OpenAI and only the top 10% of requests produce immediate Slack pings to the SDR team. That reduced noisy outreach and improved first-contact time for high-value prospects. The audit sheet also simplified weekly reconciliation between marketing and sales.
Common Variations
- Use rules-only scoring for cost control, for instance: budget > X AND timeline < 3 months → score 90.
- Enrich with a company lookup (Clearbit) between Typeform and scoring to improve accuracy before calling OpenAI.
- Instead of creating persons, write high-score responses into a ClickUp board or Salesforce using equivalent modules.
A practical closing note
You built a Make.com pipeline that captures Typeform responses, applies a repeatable OpenAI scoring step, upserts into Pipedrive v2 with custom fields, logs runs to Google Sheets, and alerts sales on high scoring leads. If you want help implementing this with OAuth Pipedrive v2 modules, hardened error handling, or scaled rate-limit strategies, Olmec Dynamics implements and maintains these workflows for clients. See our work on moving Typeform responses into Pipedrive How to Push Typeform Submissions into Pipedrive Using Make.com and our guide on AI scoring for Pipedrive How to Implement AI Lead Scoring for Pipedrive Using OpenAI and Make.com.