Recipe Test Template Card
A done-for-you TinyCommand recipe that captures leads, enriches company + person from email, scores ICP, syncs to your CRM, and sends a confirmation email end to end.
Growth
What you'll build
This recipe spans multiple TinyCommand utilities and ships as a bundle of workflows + data models.
- TinyForm: Lead capture form.
- Workflow: Trigger on submit → normalize email → extract domain → conditional company enrichment → person enrichment → ICP scoring → CRM sync → confirmation email → optional Slack alert.
- TinyTables: companies, contacts, leads (pre-modeled).
- Email: TinyEmail templates (confirmation + internal alert).
- CRM: HubSpot mapping (works similarly with Zoho/Salesforce).
How it works
- Form submit (TinyForm)
User fills full_name, email, optional company, use_case, team_size. UTM params captured via hidden fields.
- Normalize & extract
Lowercase the email, trim whitespace, and extract the domain. Detect personal emails (e.g., gmail.com) and branch logic accordingly.
- Company Enrichment (conditional)
If domain is corporate, call Company Enricher (TinyTables) to fetch company profile (name, employees, revenue range, industry, tech stack, HQ, website, LinkedIn). Upsert into companies by domain.
- Person Enrichment
Use Person Enricher on email (and full_name if available). Upsert into contacts by email.
- Create Lead row
Insert into leads with normalized identifiers, UTM metadata, and raw form payload.
- ICP Scoring & Segmentation
Apply rules (industry, size, tech stack, intent keywords, personal email penalty) → produce icp_score and segment (ICP-A/B/Non-ICP). Update leads.
Heading
Key features
- Multi-workflow bundle: purpose-built chain from form to CRM.
- Dual enrichment: company + person from a single email.
- ICP scoring out of the box: tuned rules you can edit.
- CRM-ready mappings: HubSpot defaults, easily remapped.
- Idempotent + observability hooks: prevent dupes, track outcomes.
Example Use Cases
- Multi-workflow bundle: purpose-built chain from form to CRM.
- Dual enrichment: company + person from a single email.
- ICP scoring out of the box: tuned rules you can edit.
- CRM-ready mappings: HubSpot defaults, easily remapped.
- Idempotent + observability hooks: prevent dupes, track outcomes.
Prerequisites
Required:
- .TinyForm enabled
- TinyTables (auto-create these on install): companies, contacts, leads.
Integrations:
- Email via TinyEmail (or SMTP).
- CRM (HubSpot example mapping included).
- Enrichers: Company Enricher + Person Enricher toggled on.
What's included (Bundle)
Workflows:
- Lead Intake (trigger: Form submit).
- Enrichment & Scoring (branch + rules).
- CRM Sync (find/create company & contact, lifecycle/props).
- Messaging (confirmation email; optional Slack/TinyEmail alert).
Data Models (TinyTables):
- companies: domain, name, website, employees, revenue_range, industry, linkedin_url, technologies, location, enrichment_source, enrichment_at
- contacts: email, first_name, last_name, full_name, title, linkedin_url, phone, company_domain, enrichment_source, enrichment_at
- leads: email, company_domain, utm, form_payload, crm_contact_id, crm_company_id, icp_score, segment, status, created_at, updated_at
Email Templates (TinyEmail):
- Confirmation: "You\'re in—next steps for Example Company"
- Internal Alert: Fired when icp_score ≥ 65
-
Field mapping
Mapping of the fields required
Domain
Name
Number of employees
Website
Scoring rules
Domain
Name
Number of employees
Website
Setup
- Install recipe and connect integrations (TinyEmail + CRM).
- Deploy the form (inline or popup) and add UTM hidden fields.
- Edit scoring rules (optional).
- Map CRM fields (keep defaults or remap).
- Send test submissions (corp email + personal email) and review logs.
Test Plan
- Corporate email path: company + person enrichment, CRM upserts, confirmation sent, optional alert if ICP-A.
- Personal email path: person enrichment only, nurture enrollment.
- Duplicate submission: no duplicate rows; CRM contact updated.
- Rate-limit simulation: retries with backoff; idempotency keys respected.
Observability & Fail-safes
- Idempotency: use submission_id across all writes.
- Retries: Enrichment (max 3, exp backoff); CRM (respect Retry-After).
- Dead-letter: lead_errors TinyTable with payload + error + retry_count.
Frequently Asked Questions
Can I use Zoho or Salesforce instead of HubSpot?
- Can I use Zoho or Salesforce instead of HubSpot
Yes—keep the same workflow; update the CRM nodes and field mappings.
- What about free email domains?
We enrich the person, skip company enrichment by default, and route to nurture.
- How do I change ICP logic?
Edit the scoring rules node (YAML-like form) or attach your own rule engine.
Notes
- Works great as the first step to a PLG funnel—pair with nurture sequences.
- For advanced intent, add "visited pricing/templates page" to the scoring.
- Use Slack alerts sparingly; only for ICP-A to avoid noise.