Skip to content

codriter/leadflow

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 

Repository files navigation

Leadflow: Marketing Agency Discovery Call Automation

Leadflow is a no-code/low-code automation system for handling paid discovery call leads for a marketing agency. It captures a lead from a Tally form, stores the submission in Airtable, qualifies the lead with deterministic rules, enriches the record with an OpenAI summary, sends transactional email through SendGrid, notifies the owner in Slack, and records workflow activity.

The current project is a portfolio MVP for Northstar Growth Studio. It is not a traditional web application. The Make.com scenario is the central workflow engine and contains most of the business logic.

What The System Does

The MVP proves this workflow:

Tally form
  -> Make.com scenario
  -> Airtable CRM
  -> rule-based qualification
  -> OpenAI lead summary and score
  -> SendGrid confirmation/payment emails
  -> Slack owner notification
  -> Airtable Activity Log

For qualified leads, the system sends a Stripe test-mode payment link for a $149 Paid Marketing Discovery Call. Payment confirmation and scheduling are handled manually in this MVP.

Stack

Area Tool Purpose
Lead capture Tally Public discovery call request form
Automation Make.com Main scenario orchestration and business logic
CRM/database Airtable Leads, configuration, and activity logs
AI enrichment OpenAI API Owner-facing lead summary, score, fit label, and next action
Email SendGrid Lead confirmation and qualified payment link emails
Owner alerts Slack Internal summary notification
Payment link Stripe test mode Static test payment link for the paid discovery call

Repository Contents

.
├── Northstar Growth Studio - Lead Intake Workflow.blueprint.json
├── README.md
├── docs/
│   ├── mvp/
│   └── full/
├── implementation_plan/
│   └── mvp/
├── project_diary.md
└── accs.md

Important files:

  • Northstar Growth Studio - Lead Intake Workflow.blueprint.json - Make.com scenario blueprint.
  • docs/mvp/todo.md - MVP requirements and acceptance criteria.
  • docs/mvp/workflow-diagram.md - Mermaid workflow diagram.
  • docs/mvp/ai-qualification-spec.md - OpenAI prompt and JSON output contract.
  • docs/mvp/email-templates.md - SendGrid and Slack message templates.
  • docs/mvp/testing-checklist.md - test cases for qualified, needs-review, and OpenAI failure paths.
  • implementation_plan/mvp/ - guided build steps.
  • accs.md - local account notes. Keep this private and do not publish secrets.

Airtable Data Model

The MVP uses three Airtable tables.

Leads

Stores the lead submission and workflow results:

  • contact and company information;
  • marketing budget, goal, services, and timeline;
  • deterministic qualification result;
  • AI lead score, fit classification, summary, and recommended action;
  • payment link URL;
  • booking status and owner notes.

Activity Log

Stores automation events such as:

  • Lead Created;
  • Rule Qualification Completed;
  • AI Completed;
  • Email Sent;
  • Slack Sent;
  • Error.

Configuration

Stores non-secret workflow settings that Make reads at runtime:

  • stripe_payment_link_url;
  • discovery_call_price_usd;
  • sendgrid_from_email;
  • slack_channel;
  • openai_model_id;
  • agency_name.

API keys and tokens must not be stored in Airtable or committed to this repository. Use native Make connections for secrets.

Qualification Rules

A lead is Qualified only when all of these conditions are true:

  • budget is $3,000-$10,000 or $10,000+;
  • start timeline is Immediately or Within 30 days;
  • website URL is present;
  • email consent is checked;
  • at least one service is selected.

Qualified leads receive the payment link email. All other valid leads are marked as Needs Review, do not receive the payment link email, and still trigger a Slack owner notification.

OpenAI does not decide final routing in the MVP. It enriches the record with a summary, score, fit classification, recommended action, and pain points.

How To Set Up

1. Prepare External Accounts

Create or verify access to:

  • Make.com;
  • Tally;
  • Airtable;
  • Stripe in test mode;
  • SendGrid;
  • Slack;
  • OpenAI Platform.

2. Create Airtable Base

Create a base named:

Marketing Agency Discovery Call Automation MVP

Add the three required tables:

  • Leads;
  • Activity Log;
  • Configuration.

Use docs/mvp/todo.md or implementation_plan/mvp/03-airtable-base-setup-done.md as the field reference.

3. Create The Tally Form

Create a Tally form for:

Paid Marketing Discovery Call Request

Required fields:

  • full name;
  • business email;
  • company name;
  • website URL;
  • monthly marketing budget;
  • primary marketing goal;
  • current biggest marketing challenge;
  • services interested in;
  • start timeline;
  • email consent checkbox.

4. Create The Stripe Test Payment Link

In Stripe test mode, create a payment link for:

Paid Marketing Discovery Call - $149

Save the test payment URL in Airtable Configuration as stripe_payment_link_url.

5. Configure SendGrid

Set up a verified sender or test sender. The MVP uses two emails:

  • lead confirmation email;
  • qualified payment link email.

The copy is defined in docs/mvp/email-templates.md.

6. Configure Slack

Create or use a Slack channel:

#leadflow-mvp

When Make asks for a Slack connection, use the standard Slack user connection. Advanced OAuth settings are not needed unless you intentionally created a custom Slack app.

7. Configure OpenAI

Create an OpenAI API key and store it only in the Make OpenAI connection. Store the selected model ID in Airtable Configuration as openai_model_id.

The expected JSON output is documented in docs/mvp/ai-qualification-spec.md.

How To Import The Make Scenario

  1. Open Make.com.
  2. Create a new scenario or open the scenario import menu.
  3. Import the blueprint file:
Northstar Growth Studio - Lead Intake Workflow.blueprint.json
  1. Reconnect each module to your own accounts:
  • Tally or webhook trigger;
  • Airtable;
  • OpenAI;
  • SendGrid;
  • Slack.
  1. Check module mappings after reconnecting accounts. Imported blueprints can lose account-specific table IDs, field IDs, or connection references.
  2. Do not turn the scenario on permanently until the test cases pass.

How To Use

Run A Test Submission

  1. In Make, click Run once.
  2. Submit the Tally form with test lead data.
  3. Confirm Make receives the submission.
  4. Confirm Airtable creates a record in Leads.
  5. Confirm qualification and AI fields are written back to Airtable.
  6. Confirm the correct SendGrid emails are sent.
  7. Confirm the owner summary appears in Slack.
  8. Confirm Activity Log contains the expected events.

Qualified Lead Test

Use a lead with:

  • budget: $3,000-$10,000 or $10,000+;
  • timeline: Immediately or Within 30 days;
  • email consent checked;
  • website present;
  • at least one service selected.

Expected result:

  • Rule Qualification Result = Qualified;
  • Status = Payment Link Sent;
  • confirmation email sent;
  • payment link email sent;
  • Slack summary sent;
  • Activity Log updated.

Needs Review Test

Use a lead with a lower budget or slower timeline, for example:

  • budget: Under $1,000 or $1,000-$3,000;
  • or timeline: 1-3 months or Just exploring.

Expected result:

  • Rule Qualification Result = Needs Review;
  • Status = Needs Review;
  • confirmation email sent;
  • payment link email not sent;
  • Slack summary sent;
  • Activity Log updated.

OpenAI Failure Test

Temporarily use an invalid model ID or disable the OpenAI module.

Expected result:

  • Make should not stop the entire workflow;
  • deterministic qualification should still run;
  • Airtable should show AI unavailable or the documented fallback value;
  • Activity Log should record an AI failure;
  • Slack summary should still be sent.

Operational Notes

  • Use Stripe test mode only for the MVP.
  • Do not use real customer data in test submissions.
  • Do not commit API keys, webhook secrets, tokens, or private customer information.
  • Keep account notes and credentials outside public documentation.
  • Capture screenshots only after hiding secrets and private data.

MVP Done Criteria

The MVP is complete when:

  • a Tally submission creates an Airtable lead;
  • the lead is routed as Qualified or Needs Review;
  • OpenAI summary and score are stored in Airtable;
  • a qualified lead receives the Stripe test payment link email;
  • a needs-review lead does not receive the payment link email;
  • Slack receives the owner summary;
  • Activity Log records the key workflow events;
  • one qualified and one needs-review test case pass;
  • no secrets or real customer data are visible in screenshots or committed files.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors