- Form submit
- Fetch company site
- Claude scores fit
Auto-qualify inbound leads before a rep sees them
Score every demo request against your ICP, update HubSpot and ping the right rep in Slack within a minute of the form submit.
An n8n agent reads requests in shared client channels, classifies and sizes them, and files them in Airtable with an owner and due date.
Agency clients drop requests into shared Slack channels at all hours: copy tweaks, urgent bug reports, ideas for new campaigns. Account managers scroll back every morning to work out what was asked, and small requests slip through. Nobody can see how much unplanned work each client is generating.
Run n8n with Docker on a small VPS behind HTTPS, since Slack only delivers events to public HTTPS URLs. Store the Slack, Anthropic and Airtable credentials in n8n's credential manager.
Add a Slack Trigger node for new messages and keep only channels whose names start with client-. Drop bot messages and thread replies so the agent sees only new top-level messages.
Add a Basic LLM Chain node with the request filter prompt below, which answers REQUEST or NOT_REQUEST. Only requests continue to the agent, which keeps model costs low.
Connect an Anthropic Chat Model to an AI Agent node and give it two tools: an Airtable search tool to find duplicate open requests and an Airtable create tool to add records. Paste the triage prompt as the system message.
Keep a Clients table in Airtable with the account manager and SLA hours for each channel. The agent sets Owner and Due Date from that table instead of guessing.
Add a Slack node that replies in the original thread with the request ID, a one-line summary and the due date. Tick a Misfiled checkbox in Airtable for wrong calls and review them every Friday.
You triage client requests for {{agency_name}}. Each input is a Slack message from a client channel.
For each request:
1. Search the Requests table for an open request from the same client with a similar summary. If one exists, do not create a new record; return its ID.
2. Otherwise create a record with:
- Summary: one sentence starting with a verb
- Type: Bug, Content change, New work, Question or Access
- Priority: Urgent only if the client says something is broken or live; otherwise Normal
- Effort: S (under 1 hour), M (half a day) or L (more than a day)
- Source link: the Slack message permalink
3. Mark New work with Effort L as "Needs estimate" so the account manager can quote it.
Never promise a due date sooner or later than the SLA in the Clients table.Read this Slack message from a client channel. Answer REQUEST if the client is asking for something to be done, changed, fixed or answered. Answer NOT_REQUEST for thanks, greetings, acknowledgements or general chat. If the message both thanks the team and asks for something new, answer REQUEST. Reply with one word only.
Message: {{message_text}}Score every demo request against your ICP, update HubSpot and ping the right rep in Slack within a minute of the form submit.
After each sales call, Zapier sends the transcript to Claude, which writes the notes and updates next steps and deal fields in Salesforce.
Every new Zendesk ticket gets a category, priority and sentiment tag plus a draft reply in an internal note before an agent opens it.