# Push HubSpot marketing qualified leads into Salesloft cadences

> The moment a contact becomes marketing qualified in HubSpot, they land in the right Salesloft cadence and your SDR channel hears about it.

- Workflow type: code
- Services: Salesloft, HubSpot, Slack
- Categories: Sales, Marketing
- Published: 2026-08-09

## What it does

- Fires the instant a contact is created as, or moves to, marketing qualified lead in HubSpot, so nothing waits for a nightly sync.
- Checks Salesloft by email address before doing anything, so an existing person is reused instead of duplicated.
- Adds the person with their name, email, job title, company and phone, then enrolls them in the cadence that matches their region and company size.
- Posts to your SDR channel in Slack showing who was added, which cadence they landed in, and where the lead originally came from.

## What you'll need

- A HubSpot account where you can turn on outgoing notifications for contact changes.
- A Salesloft login with permission to add people and enroll them in cadences.
- A Slack workspace and the channel your SDRs actually watch.
- The cadences you want to route into, already built in Salesloft. Each one needs to be a team cadence or owned by the Salesloft user you connect, otherwise Salesloft will refuse the enrollment.

## Prompt

Build this as a webhook workflow. HubSpot should call it when a contact is created or when a contact's lifecycle stage changes. As the very first step, inspect the incoming payload and only continue when the lifecycle stage is marketing qualified lead. Anything else should exit quietly, so we are not running the whole pipeline on every routine contact edit.

Take the contact ID from the webhook payload and fetch the full contact record from HubSpot using Search Contacts. I need first name, last name, email address, job title, company name, phone number, lifecycle stage, original lead source, and the fields I route on, which are region or country and company size or number of employees.

If the contact has no email address, stop there and post a short note to Slack saying the lead was skipped and why. Salesloft can only create a person when it has an email address, or a phone number together with a last name, so there is nothing useful to do without one.

Otherwise, look the contact up in Salesloft using List People filtered on that exact email address. If a person already exists, keep their ID and skip creation entirely. Never create a second record for an email address that is already in Salesloft.

If nobody matches, create the record with Create Person, carrying first name, last name, email address, job title, company name and phone number across from the HubSpot contact.

Choose the cadence deterministically from the HubSpot fields, with no judgement calls anywhere. Use a simple lookup table I can edit at the top of the workflow that maps region and company size to a named cadence. For example, North America above 500 employees goes to the enterprise cadence, North America below 500 goes to the mid-market cadence, and EMEA goes to the EMEA inbound cadence. If nothing in the table matches, fall back to a single default cadence so every lead is routed somewhere.

Enroll the person into that cadence with Add Person to Cadence. Be aware that Salesloft returns a permission error here unless the cadence is a team cadence, is owned by the connected Salesloft user, or that user holds the Personal Cadence Admin permission. If the enrollment is refused, do not swallow it: say so explicitly in the Slack message so somebody can fix the cadence ownership.

Finally, post to my SDR channel in Slack with Send a Message. Show who was added, including name, job title and company, which cadence they landed in, the original lead source from HubSpot, and whether the Salesloft person was newly created or already existed.

## How to customize

- Change the routing rules: swap region and company size for industry, budget, or whatever your team actually segments on.
- Point the fallback cadence at whichever catch-all sequence you want leads to land in when nothing else matches.
- Send the alert to a different channel, or add extra details like the page the lead converted on.

## FAQ

### Will this create duplicate people in Salesloft?

No. Before creating anything we look up the email address in Salesloft. If that person is already there, we reuse the existing record and simply enroll them in the cadence.

### What happens if a lead does not match any of my routing rules?

They go into a single default cadence that you choose, so no lead is ever left sitting unassigned while somebody figures out where it belongs.

### Does this work if the contact has no email address?

Salesloft needs an email address, or a phone number together with a last name, before it can add someone. Contacts without one are skipped and called out in the Slack message rather than failing quietly.

### Why would Salesloft refuse to add someone to my cadence?

Salesloft only allows enrollment into cadences that are team cadences, that the connected user owns, or when that user has the Personal Cadence Admin permission. Making the cadence a team cadence resolves it.

### How quickly does a lead reach a cadence?

It runs as soon as HubSpot reports the change, so leads are typically enrolled and announced in Slack within seconds of being qualified.

Use this prompt in General Input: https://www.generalinput.com/prompts/push-hubspot-marketing-qualified-leads-into-salesloft-cadences