Daily PQL alerts from Mixpanel into HubSpot and Slack

By General Input

Every weekday at 8am, surface the freshest product-qualified leads in Mixpanel, tag them in HubSpot, and post a ranked digest to your sales team in Slack.

Integrations

  • Mixpanel
  • HubSpot
  • Slack Bot

Type

Agentic Task

Categories

  • Sales
  • Product

Every weekday at 8am in my timezone, run an agent that finds my freshest product-qualified leads in Mixpanel, tags them in HubSpot, and posts a ranked digest to a sales channel in Slack. The goal is that sales sees the hottest new opportunities every morning, with no manual triage from me.

Step 1, find candidates in Mixpanel. Use Query Segmentation against my Mixpanel project for the last 7 days, one call per high-intent event I care about. Default signals: invited a teammate, viewed the pricing or upgrade page, used a paid-tier feature N or more times, and completed the activation funnel. Make the event names and per-event thresholds easy to edit at the top of the workflow. Then use Query Profiles to pull the user profiles for any distinct_ids that crossed at least one threshold, so we have their email, display name, company, and any plan or workspace properties.

Step 2, dedupe against last week. Skip anyone who was already a PQL in the previous run (track this with a small state file or by reading the HubSpot lifecycle stage). We only want net-new PQLs in today's digest.

Step 3, match and update HubSpot. For each qualifying user, call Search Contacts in HubSpot by email to find their contact record. If there is no match, drop them from the contact-update step and add them to a separate 'no HubSpot match' section in the Slack digest so the team can decide whether to add them manually. If there is a match, call Search Deals to check whether the contact is already associated with an open deal. If they are, skip them entirely. Otherwise, call Update Contact to set lifecycle stage to 'Product Qualified Lead' and write any custom PQL properties I configure (PQL score, top signal, signal count, qualification date). Never downgrade a contact whose lifecycle stage is already Product Qualified Lead or further down the funnel.

Step 4, attach context. For each contact we updated, call Create Note in HubSpot, associated with that contact, summarizing which Mixpanel events tripped the threshold, the timestamps of the most recent hits, and a one-line 'why now' talking point a rep can open the call with. Keep notes short and scannable, not essays.

Step 5, post the digest. Use Slack Bot's Send a Message to post a single ranked message to a channel I specify (default #sales-pqls). Include the top 5 to 10 new PQLs ranked by signal strength, each with the user's name and company, the signals they fired, and a direct link to their HubSpot contact record. Add a short footer with the total count of new PQLs and any 'no HubSpot match' users. Use Slack mrkdwn formatting and one message per run, not a thread of many.

Safety rules: never downgrade an existing PQL or anyone further down the lifecycle, never touch contacts in an open deal, and if Mixpanel returns no qualifying users, post a short 'no new PQLs today' note instead of staying silent so the team knows the workflow ran.

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