Setup Guide — Agency Automation Starter Kit
Import → swap credentials → customize one node → test → activate. 15 minutes per workflow per client. This is the PDF that ships inside the ZIP (HTML preview below).
1. Import JSON (1 min)
- Unzip
agency-automation-starter-core.zip - In n8n (cloud or self-hosted, free tier OK): Workflows → Import from File
- Select
workflows/lead-intake-to-crm-sync.json(or any) - Workflow appears with notes in flow. Do NOT activate yet.
n8n → Workflows → … → Import from File → *.json
2. Swap credentials (5 min) — the only required edit
Each workflow’s first node says CONFIGURE in its notes. Open it, replace the placeholder credential.
Airtable/HubSpot/Notion
Add your API key / OAuth in n8n Credentials → select in node dropdown. Table names are in the node’s notes.
Add your API key / OAuth in n8n Credentials → select in node dropdown. Table names are in the node’s notes.
Slack / Gmail / Stripe
OAuth connect once, then pick channel / inbox in the node. Slack channel defaults to
OAuth connect once, then pick channel / inbox in the node. Slack channel defaults to
#leads — change per client.OpenAI
Set OpenAI credential (sk-…). Prompt is in the OpenAI node’s prompt field — edit tone there. Model defaults to
Set OpenAI credential (sk-…). Prompt is in the OpenAI node’s prompt field — edit tone there. Model defaults to
gpt-4o-mini.Webhook / Cron
Webhook: copy Test URL → paste in Typeform/Calendly. Cron: set timezone to client’s (default UTC).
Webhook: copy Test URL → paste in Typeform/Calendly. Cron: set timezone to client’s (default UTC).
Tip: Duplicate workflow → rename to
client-slug — lead-intake before editing. Keep the original as template.3. Customize one node per client (5 min)
You never rewrite the workflow — you edit exactly one Set node per workflow (labeled CLIENT CONFIG).
// CLIENT CONFIG (Set node)
// Edit these 3 fields per client, leave rest:
{
"slack_channel": "#client-acme",
"crm_table": "Clients/Deals",
"client_name": "Acme Inc."
}
— then the workflow routes correctly.
- Slack digests: change channel in Slack node + cron timezone
- Proposal reminders: wait durations are Wait nodes — 7d default
- AI prompts: tone is in OpenAI node → swap “friendly vs formal” there
4. Test → Activate (2 min)
- Click Execute Workflow → send test webhook (Postman or real Typeform)
- Check Slack / Airtable for result. If error, see troubleshooting below.
- Toggle Active on (top-right). Done — billing the client for customization, not boilerplate.
Proof step: Screenshot the active canvas + Slack result → attach to Gumroad review request. First 5 reviews drive conversion.
Troubleshooting — when n8n nodes change
This is the #1 risk in the plan: n8n silently breaks templates on version bumps.
- Slack “channel_not_found”: Bot isn’t in channel → invite
@n8nto channel. - Airtable 422: Field name changed → update field list in Airtable node notes.
- Gmail 403: Re-auth OAuth — Google expires every 7d on test apps.
- OpenAI 429: Rate limit → lower cron frequency or add Wait node.
- Workflow deactivated after n8n update: Re-import updated JSON from Gumroad “new version” email (free 6 months).
Updates policy: free re-download for 6 months. After that, $19 update pack (planned). Keep your order email.
Per-workflow cheatsheet (excerpt)
| Workflow | Edit this node | Field |
|---|---|---|
| Lead Intake → CRM | Set → CLIENT CONFIG | airtable_base, slack_channel |
| AI Follow-Up | OpenAI | prompt tone |
| Invoice Reminder | Wait | 7d → 3d if aggressive |
| Slack Digest | Slack | channel + cron 8am TZ |
| Client Onboarding | Notion | template page ID |
| Weekly Report | Function | KPI fields |
| AI Lead Scoring (Pro) | OpenAI | scoring rubric |
Ready?
Import the free workflow in your n8n instance now — 2 minutes to prove it.