# Route Typeform leads to Excel, HubSpot, and Slack

> Score every new Typeform response, log it to your Excel Leads Master sheet, add it to HubSpot, and ping sales in Slack with the highlights.

- Workflow type: agent
- Services: Typeform, Microsoft Excel, HubSpot, Slack
- Categories: Sales, Operations
- Published: 2026-05-20

## What it does

- Reads every new Typeform submission the moment it lands, no manual exports.
- Scores the lead from 1 to 5 based on their answers and writes a clean row to your Excel Leads Master table, with a separate Cold tab for low-fit leads.
- Creates a HubSpot contact with the right lifecycle stage, and skips duplicates if the email already exists in your CRM.
- Posts a one-line summary in your sales Slack channel with a direct link to the new HubSpot record.

## What you'll need

- A Typeform account with the lead-capture form you want to route.
- A Microsoft 365 login with edit access to the Excel workbook holding your Leads Master table.
- A HubSpot account where new contacts should be created.
- A Slack workspace and the channel where the sales team wants pings.

## Prompt

I want an agent workflow that captures and routes every inbound lead from my Typeform survey into Excel, HubSpot, and Slack.

Trigger: a webhook from Typeform that fires when a new response is submitted to my lead-capture form.

When a submission comes in, the agent should:

1. Call Typeform "Retrieve Responses" to pull the full payload for the new submission so it has every answer, not just the webhook preview.

2. Reason about the answers and extract: the lead's full name, company, work email, a short summary of their intent or use case, and a simple fit score from 1 to 5. Start with this rubric and let me tune it: 5 = enterprise title plus stated budget plus clear use case, 3 to 4 = mid-market or a clear pain but no budget yet, 1 to 2 = student, personal use, competitor, or obvious spam.

3. Call HubSpot "Search Contacts" by the parsed email to check whether this person already exists in my CRM. If a contact is found, skip the HubSpot create step entirely but still log the new submission to Excel and still post to Slack with a note that this is a returning lead.

4. Call Microsoft Excel "Add Table Row" to append a normalized row to my workbook. If the fit score is 3, 4, or 5 the row goes to the "Leads Master" table on the main tab. If the score is 1 or 2 the row goes to the "Cold" tab instead. Columns to populate: date submitted, source (always "Typeform" plus the form name), full name, company, email, intent summary, fit score, and a link back to the raw Typeform response.

5. If the HubSpot search in step 3 did not find a contact, call HubSpot "Create Contact" with the parsed fields. Set the lifecycle stage based on score: 5 = Sales Qualified Lead, 3 to 4 = Marketing Qualified Lead, 1 to 2 = Subscriber. Include the intent summary in a notes or message-to-sales property.

6. Call Slack "Send a Message" to my #sales channel with a one-line summary of the lead. Format: "New lead: {name} at {company}, score {score}/5, {one-sentence intent}." Include a link to the HubSpot contact record (or a note that the contact was already in HubSpot) and a link to the row in Excel if easy to construct.

Nuance and edge cases to handle:

- If the email is missing or obviously fake (free-mail with a junk pattern, no @ sign, role addresses like info@), still log to the Cold tab in Excel but skip HubSpot and post a lower-priority Slack message.

- If any single step fails (HubSpot rate-limited, Excel table not found, Slack channel archived), continue with the remaining steps and include the failure in the Slack message so I know what to retry manually.

- Keep the Slack message short. Do not paste the full Typeform payload.

## How to customize

- Change the scoring rubric. Tell the agent how to weight job title, company size, intent, or any custom Typeform question.
- Swap which workbook tab gets the Cold leads, or split into more buckets like Hot, Warm, and Cold.
- Pick a different Slack channel, change the message format, or only notify when the score is 4 or higher.
- Adjust the HubSpot lifecycle stage mapping, for example send 5s straight to Sales Qualified Lead.

## FAQ

### What if the same person fills out my Typeform twice?

The workflow checks HubSpot for an existing contact with that email before creating a new one. Duplicates are logged to your Excel sheet but skipped in HubSpot so your CRM stays clean.

### How does the 1 to 5 fit score work?

The agent reads each response and assigns a score based on the answers you collected. You can tune the rubric in plain English, for example treat enterprise titles and a stated budget as a 5, and individual contributors with no budget as a 1.

### Can low-score leads go to a different sheet or tab?

Yes. By default leads scoring 1 or 2 land in a Cold tab and 3 to 5 land in the main Leads Master table. You can rename the tabs, change the cutoff, or send each score to its own tab.

### Will this work with HubSpot Free?

Yes. Creating contacts, setting lifecycle stage, and searching by email all work on HubSpot Free. If you upgrade later, the same workflow keeps running.

### How fast does the Slack message arrive after a form submission?

Typeform sends the submission to the workflow within seconds. The Slack ping usually lands less than a minute after the form is submitted, even when Excel and HubSpot are both updated first.

Use this prompt in General Input: https://www.generalinput.com/prompts/route-typeform-leads-to-excel-hubspot-and-slack