Qualify Tally demo requests in HubSpot and Slack

By General Input

Every new Tally form submission gets enriched, scored against your ICP, added to HubSpot, and posted to the right Slack channel.

Integrations

  • Tally
  • HubSpot
  • Slack Bot

Type

Agentic Task

Categories

  • Sales
  • Operations

Build an agent workflow that triages new submissions on my Tally demo-request / contact form. When a submission arrives, the agent should enrich the lead, score it against my ICP, sync it to HubSpot, and post a summary into the right Slack channel.

Trigger: a Tally webhook on the form. (I will paste the form ID / form URL when I configure it.) Treat the webhook payload as the entry point, and use Tally's Get Submission to pull the full submission with all question and answer fields if any field is missing or truncated in the webhook body.

Step 1 - Read the submission. Parse the answers into a clean structure: name, work email, company name, company website, job title, team size / use case / budget / timeline / anything else the form asks. Keep the raw submission ID and the form ID so we can link back.

Step 2 - Enrich with a quick web pass. Using the company name and website, find: what the company does in one sentence, rough employee headcount band, industry / vertical, the buyer's likely role seniority, and anything notable (recent funding, hiring signals, public customer logos). Cap this at a short paragraph - this is decision support, not a research report.

Step 3 - Score against this ICP (edit before running):

ICP: [describe your ideal customer here - e.g. B2B SaaS companies, 50-500 employees, in North America or EU, buyer is a Head of RevOps / Sales Ops / GTM Eng, current pain is messy lead handoff or manual CRM updates. Disqualifiers: students, agencies pitching us, single-person shops, free-email-only signups with no company].

Output a verdict of qualified / nurture / disqualified, plus 1-3 sentences of reasoning that quote the specific form answers and enrichment facts that drove the call.

Step 4 - Sync to HubSpot. First use HubSpot Search Contacts (or Get Contact by email) to see if the person already exists. If they do, use Update Contact to refresh name, company, job title, lifecycle stage, and a 'Last Tally submission' note with the verdict and reasoning. If they don't, use Create Contact with email, first/last name, company, job title, lifecycle stage = 'lead' (or 'marketingqualifiedlead' if qualified), lead source = 'Tally - [form name]', and the same note. Always store the verdict so we can filter on it later.

Step 5 - If the verdict is qualified, use HubSpot Create Deal. Put it in the [pipeline name] pipeline at the [stage name] stage (default: New Business pipeline, Appointment Scheduled or equivalent first stage). Name the deal '[Company] - inbound demo request'. Associate it with the contact (and the company record if HubSpot auto-creates one). If the form captures budget or timeline, pass those through as deal amount / close date estimate. Do NOT create a deal for nurture or disqualified leads.

Step 6 - Post to Slack using the Slack Bot Send a Message action.

For qualified leads, post to #sales-qualified (or whichever channel I name) with: a one-line headline ('New qualified demo request: [Name] at [Company]'), the verdict + reasoning, the enrichment summary, the 3-5 most important form answers, and links to the HubSpot contact and the HubSpot deal.

For nurture leads, post a shorter message to #sales-nurture with: headline ('New low-fit submission: [Name] at [Company]'), the verdict + one-line reason, the form answers, and a link to the HubSpot contact only (no deal). For disqualified leads, also post to #sales-nurture but mark them clearly so the team can ignore most of them at a glance.

Formatting: Slack messages should be scannable in 5 seconds - use bold for the headline, bullet the key answers, and put long enrichment text behind a 'Show more' style collapse if it would crowd the channel. Use Slack's mrkdwn (single asterisks for bold, <url|text> for links), not standard Markdown.

Edge cases: if the email is missing or obviously fake, still create the contact with whatever data exists but mark the verdict 'disqualified - bad data' and post to the nurture channel. If HubSpot returns a duplicate or validation error, log it in the Slack message so I know to fix it. Never silently drop a submission.

Related prompts

Explore more prompts
A brand asset library your marketing team actually searchesTurn Mailjet email clicks into ranked HubSpot follow-upsClean out the Looker dashboards and Looks nobody opensLiveKit live operations console for room moderationWake up dormant Keap leads with a researched reasoniMessage campaign console with pre-flight checks and delivery boardLiveChat coverage board for planning next week's shiftsPhone routing control panel for LiveKit voice agentsA searchable RFP answer library your bid team drafts fromLinkedIn Ads budget pacing dashboard for every client account