AI lead qualifier from Gravity Forms into HubSpot and Slack
Every 15 minutes, score new Gravity Forms submissions hot, warm, or cold, file them in HubSpot with a written briefing, and ping sales in Slack only on hot leads.
Build me an inbound lead qualifier that runs on a cron every 15 minutes. The goal is to kill manual triage on our Gravity Forms contact form while still making sure every lead lands in HubSpot with real context.
On each run, call Gravity Forms List Entries (scoped to my lead/contact form) and pull only submissions created since the previous run. Filter on date_created so we never reprocess old entries. If no new entries came in, finish quietly.
For each new entry, extract the submitter's name, email, company, role, and free-text message, then reason about lead quality and produce a short three to five line briefing covering: who they are, what they appear to want, and a tier of hot, warm, or cold based on fit and intent.
Then push them into HubSpot. Use Create Contact for a single new lead, or Batch Upsert Contacts (matched on email) when several came in at once so we deduplicate cleanly. Map the lifecycle stage from the tier: hot becomes salesqualifiedlead, warm becomes marketingqualifiedlead, cold becomes lead. Populate firstname, lastname, email, company, and jobtitle from the submission.
After the contact is created or upserted, call HubSpot Create Note with the AI briefing as the note body and associate it to the contact record so reps see the context on the contact's timeline.
For hot tier leads only, also call Slack (the bot integration) Send a Message to our sales channel. The message should include the lead's name, company, role, the briefing, and a direct link to the HubSpot contact so reps can click straight through. Skip warm and cold leads from Slack entirely so the channel stays high-signal.
Ask me at setup time which Gravity Forms form ID is the lead form, which Slack channel to post hot leads into, and whether I want to tweak the hot/warm/cold rubric beyond the defaults of seniority, company size, and message intent.
Additional information
What does this prompt do?
- Pulls new contact form submissions out of Gravity Forms every 15 minutes so nothing sits in the WordPress dashboard waiting to be triaged.
- Reads each submitter's name, email, company, role, and message, then writes a short three to five line briefing on who they are, what they want, and how qualified they look.
- Creates the contact in HubSpot with the lifecycle stage already set: hot becomes a sales qualified lead, warm becomes a marketing qualified lead, cold stays a lead, and the AI briefing is attached as a note.
- Pings a sales Slack channel only for hot leads, with the briefing and a direct link to the HubSpot contact, so reps follow up fast without drowning in noise from cold tire-kickers.
What do I need to use this?
- A WordPress site running Gravity Forms with REST API access to your inbound lead or contact form.
- A HubSpot account with permission to create contacts and notes.
- A Slack workspace and the channel name where your sales team wants hot lead alerts.
How can I customize it?
- Change how often it runs. Every 15 minutes is the default, but you can slow it down to hourly if your form is quieter, or speed it up if speed-to-lead matters.
- Edit the scoring rules. Tell the workflow what hot, warm, and cold actually mean for your business: company size, job titles, keywords in the message, budget hints, or anything else that signals fit.
- Change who gets pinged and when. Pick a different Slack channel, add warm leads to the alert if your team can handle the volume, or route different lead types to different channels.
Frequently asked questions
Will this work with my existing Gravity Forms contact form?
Do I need a paid HubSpot plan?
What stops the same lead from being processed twice?
Why do cold leads skip Slack?
Can I send hot leads somewhere other than Slack?
Stop manually triaging inbound form submissions.
Connect Gravity Forms, HubSpot, and Slack once, and Geni will qualify every new lead and route hot ones to your sales team automatically.