The AI automations to sell that actually close deals are the four-to-six ready-to-run builds that solve revenue-critical problems - lead qualification, invoice extraction, CRM enrichment, support ticket triage, and sales-forecasting. In practice freelancers charge $500 - $2,500 per build (depending on complexity) and then lock in a monthly SaaS retainer of $100 - $500 for hosting, token usage, and upkeep. Below you'll find the exact stack for each automation, the step-by-step build, and the real-world failure modes you must guard against.
What you need
| Tool | Plan / Price* | Role |
|---|---|---|
| n8n | Community Edition is free to self-host (Docker); n8n Cloud starts at the Starter tier - check current pricing as tiers change | Orchestrates all workflow steps, webhook handling, and conditional logic |
| Make | Free tier (1 000 ops/mo) or Core $9 / mo | Alternative low-code orchestrator for clients who prefer a visual UI |
| Zapier | Starter $19.99 / mo | Quick-connect for SaaS apps that lack native APIs |
| OpenAI API | Pay-as-you-go: gpt-3.5-turbo $0.002 / 1k tokens, gpt-4 $0.03 / 1k prompt & $0.06 / 1k completion | Generates summaries, classifications, and RAG answers |
| Google Cloud Vision OCR | $1.50 / 1 000 pages (free tier 1 000 pages/mo) | Extracts text from PDFs/receipts for invoice automation |
| HubSpot CRM (Free) | Free tier includes contacts, pipelines, and webhooks | Stores leads, enriched data, and ticket status |
| Pipedream (Free) | Free tier 100 k executions/mo | Hosts lightweight webhook endpoints when n8n self-host isn't desired |
| Git (any) | Free | Version-controls workflow JSON for client hand-off |
| Docker | Free | Packages n8n for reproducible deployment |
\*Prices are current as of June 2024; check each provider's pricing page for the latest numbers.
Typical build time: 4 - 6 hours per automation (including testing, documentation, and client hand-off).
1. Lead-generation & qualification bot
What it does: Pulls new LinkedIn leads (via PhantomBuster), enriches them with OpenAI-generated summaries, and pushes qualified contacts into HubSpot.
Steps
- Create a PhantomBuster LinkedIn scraper - set the "LinkedIn Search URL" to your client's target query, schedule it every 24 h, and output a JSON array of
firstName,lastName,profileUrl. - Expose a webhook in n8n (
Webhooknode, HTTP Method POST, Path/lead-scrape). This receives the PhantomBuster payload. - Add an "Set" node to map fields to HubSpot's contact schema (
email,firstname,lastname,linkedin_url). - Insert an "OpenAI" node (model gpt-3.5-turbo) with the prompt:
Result: summary and fitScore fields added to the item.
- Add an "IF" node that routes contacts with
fitScore >= 70to the HubSpot "Create Contact" node; others go to a "Slack" node for manual review. - Configure the HubSpot node with OAuth credentials (client-id/secret from HubSpot developer portal) and map the enriched fields.
- Test the workflow by triggering the webhook with a sample payload (see code block).
If the workflow runs without error, HubSpot will show a new contact with a concise AI-generated summary and a fit score.
Time estimate: 2 h to configure nodes, 1 h to test, 1 h to document hand-off.
2. Invoice extraction & posting to accounting software
What it does: Listens for inbound invoice emails, extracts line items via OCR, classifies expense categories with OpenAI, and creates a draft invoice in QuickBooks Online.
Steps
- Set up an email parser (e.g., Gmail filter → forward to a Pipedream webhook).
- Create a Pipedream webhook (
/invoice-email) that receives the raw MIME message. - Add a "Google Cloud Vision OCR" node (API key from GCP) to convert attached PDFs to plain text.
- Insert an "OpenAI" node (model gpt-4) with this prompt:
- Map the JSON output to a "QuickBooks Online" node (OAuth credentials from QuickBooks developer portal) using the "Create Invoice" operation.
- Add an "IF" node to catch OCR failures (empty text) and route them to a Slack alert for manual handling.
Sample OpenAI response (truncated):
Time estimate: 3 h (email parsing, OCR, prompt tuning, QuickBooks mapping).
3. CRM enrichment with Retrieval-Augmented Generation (RAG)
What it does: When a sales rep opens a contact record, the automation fetches the latest news, LinkedIn posts, and company filings, then uses a RAG pipeline to surface a 3-bullet briefing.
Steps
- Add a "Webhook" node in n8n that receives a GET request from HubSpot's "Contact view" custom button (
/crm-enrich?contactId=123). - Use a "HTTP Request" node to call the SerpAPI news endpoint (
https://serpapi.com/search.json?engine=google_news&q={{ $json.companyName }}) - free tier 5 000 requests/mo. - Store the news snippets in a temporary variable via a "Set" node.
- Create a vector store in Pinecone (it offers a free starter tier - check the current quota) - upload the snippets as documents with metadata.
- Add an "OpenAI" node (model gpt-4) with a RAG prompt:
- Return the briefing to HubSpot via the "HTTP Response" node (JSON field
briefing). - In HubSpot, embed a custom button that calls the webhook and displays the briefing in a modal (use HubSpot's UI extensions).
Time estimate: 4 h (Pinecone setup, API key management, HubSpot UI integration).
4. Support ticket triage & auto-response
What it does: Routes incoming tickets from Zendesk to the appropriate support queue and sends an AI-generated acknowledgment.
Steps
- Create a "Zendesk Trigger" that POSTs new tickets to an n8n webhook (
/ticket-triage). - Add an "OpenAI" node (model gpt-3.5-turbo) with the prompt:
- Insert an "IF" node that branches based on the returned
category. Each branch connects to a different "Zendesk" node that updates the ticket'sgroup_id. - Add a "Send Email" node (SMTP credentials) that uses the
acknowledgmenttext to reply to the customer. - Log every classification to a Google Sheet for analytics (via the "Google Sheets" node).
Time estimate: 2 h (Zendesk webhook, OpenAI prompt, email template).
5. Sales-forecasting dashboard (optional premium add-on)
What it does: Pulls last 12 months of closed-won deals from HubSpot, feeds them to an OpenAI time-series prompt, and writes a forecast to a Google Data Studio report.
Steps
- Add a "HubSpot" node (operation "Search Deals") filtered by
dealstage = closedwonandclose_datewithin the past year. - Transform the result with a "Set" node to a CSV string (
date, amount). - Pass the CSV to an "OpenAI" node (model gpt-4) with the prompt:
- Write the forecast to a Google Sheet via the "Google Sheets" node.
- Connect the sheet to a pre-built Data Studio template (share the link with the client).
Time estimate: 5 h (data extraction, prompt engineering, Data Studio styling).
Where this breaks
"The moment you ignore token limits, your client's bill explodes."
| Failure mode | Symptom | Fix | |
|---|---|---|---|
| OpenAI rate-limit / quota | API returns 429 Too Many Requests after ~3 000 calls/day (gpt-3.5-turbo) | Implement exponential back-off in the n8n "HTTP Request" node; monitor usage via OpenAI dashboard and set a daily cap in the workflow (IF node). | |
| Auth token expiry | OAuth refresh fails, webhook returns 401 | Store refresh tokens in n8n's "Credentials" store; add a "Cron" node that runs every 12 h to re-authenticate and update the credential. | |
| Webhook reliability | Missed inbound emails or missed LinkedIn payloads | Use Pipedream's built-in retry logic; add a "Catch" node that writes failed payloads to a Google Sheet for manual replay. | |
| OCR mis-reads | Blank or garbled line items → wrong invoice totals | Pre-process PDFs with pdf2image (Docker) to improve contrast; add a validation step that checks for a minimum of 3 numeric values before sending to OpenAI. | |
| Cost blow-up | Monthly token spend > $200 without client awareness | Build a "Set" node that calculates $tokens * $0.002 after each OpenAI call and sends a Slack alert when the cumulative cost exceeds a threshold. | |
| Data privacy | Sensitive PII sent to third-party APIs | Mask email addresses and phone numbers before the OpenAI call (`{{ $json.email | replace: /.+@/,"***@" }}`); add a client-signed DPA for any cloud-hosted services. |
For a deeper technical reference, see n8n's documentation.
FAQ
How do I decide which platform (n8n, Make, Zapier) to use for a given client? Start with the client's existing SaaS stack. If they already pay for Zapier and need <1 000 tasks/mo, Zapier's Starter plan ($19.99/mo) is simplest. For more complex branching or self-hosted security, n8n (free Docker) gives unlimited nodes and full code access. When you need a visual UI with generous free limits and built-in data stores, Make (Core $9/mo) is a good middle ground. See the comparison in our guide on choosing a platform.
What should I charge for these automations? A solid rule of thumb is $500 - $2,500 per implementation plus a monthly retainer of $100 - $500 for hosting, token usage, and support. Our pricing framework is detailed in the article what to charge, which walks you through cost-plus vs. value-based models.
How do I find businesses that will actually pay for AI automations? Target mid-size SaaS and professional services firms that already use a CRM or accounting system but lack internal dev resources. The fastest way to land a client is to show a live demo of a 5-minute automation and then follow up with a case study. For outreach tactics, read finding clients.
Are there any legal concerns with sending data to OpenAI? OpenAI's API terms require you to have rights to the data you submit and to inform end-users if their data is processed by a third-party model. For GDPR-covered customers, anonymize personal identifiers before the API call and keep a data-processing agreement on file.
Can I bundle multiple automations into a single subscription? Yes. Many clients prefer a "Automation Suite" where you charge a single retainer that covers all active workflows. Just make sure each workflow's token usage is tracked separately so you can forecast monthly OpenAI costs and avoid surprise overruns.
Ready to start building? Grab our free starter kit and a pre-configured Docker compose for n8n at https://getaab.com/free. Happy automating!