# Turn Auth0 signups into HubSpot leads with a Slack alert

> When someone new signs up through Auth0, add them to HubSpot as a lead and post a short alert in a Slack channel so your team can react in real time.

- Workflow type: agent
- Services: Auth0, HubSpot, Slack Bot
- Categories: Sales, Operations
- Published: 2026-07-17

## What it does

- Watches Auth0 for successful signups and reacts within minutes of the user joining.
- Creates a matching HubSpot contact with name, email, lifecycle stage set to lead, and a note explaining how they signed up (Google, email and password, SAML, and so on).
- Skips duplicates by looking the person up in HubSpot first, and tells your team in Slack whether the contact was new or already existed.
- Posts a short signup message to a growth or sales Slack channel so nobody has to check Auth0 to spot new users.
- Ignores obvious test accounts and Auth0's own admin users, so your CRM and Slack channel stay clean.

## What you'll need

- An Auth0 tenant with permission to read tenant logs and user profiles
- A HubSpot login (any plan, including the free tier)
- A Slack workspace with a channel for growth or sales notifications

## Prompt

Every time a new user finishes signup in Auth0, sync them into HubSpot as a lead and post a short heads-up in a growth or sales Slack channel.

Trigger: poll Auth0 for new tenant log events using the new_log_event poll trigger (Search Log Events under the hood). Only act on entries where the log type code is ss (signup success). Ignore every other type code.

For each new signup event, do the following.

1. Load the full user profile. Call Auth0 Get User with the user_id from the log event. Pull the email, given_name and family_name (or split the full name), the primary connection (for example google-oauth2, Username-Password-Authentication, or a SAML strategy), the signup source, and any app_metadata or user_metadata the app captured. If the email is missing, or the address looks like a test account (for example ends in example.com, uses +test@ tagging, or matches an internal QA pattern), skip the event. Also skip Auth0's own admin users (identity provider auth0 with an admin app_metadata flag) and social-only accounts that have no verified email.

2. Look the person up in HubSpot. Call HubSpot Search Contacts with a filter of email equals the Auth0 email. If a contact is returned, remember its id and mark this signup as an existing contact.

3. If no contact was found, call HubSpot Create Contact with these properties: email (required); firstname and lastname parsed from the Auth0 profile; lifecyclestage set to lead. Then call HubSpot Create Note and associate it with the new contact, containing a short summary like "Signed up via google-oauth2 on 2026-07-17T14:03Z. Source: marketing site. Metadata: {plan: free, referrer: blog}." Include the Auth0 connection type, the signup timestamp from the log event, and any interesting fields from app_metadata or user_metadata.

4. Post a short New signup message to a growth or sales Slack channel using Slack Bot Send a Message. Keep it to a few lines, using Slack mrkdwn. Include the user's email, the Auth0 connection type in plain language (Google, Email + password, SAML, and so on), and whether the HubSpot contact was newly created or already existed. Example: "New signup: jane@acme.com via Google. Added to HubSpot as a new lead." or "Repeat signup: jane@acme.com via SAML. Contact already in HubSpot."

Rules to always follow: process each new signup event at most once; skip social-only test accounts and Auth0's own admin users; do not create duplicate HubSpot contacts; keep the Slack message short and readable; if Auth0, HubSpot, or Slack returns an error the workflow cannot recover from, log it and continue with the next event so one bad signup does not stall the queue.

## How to customize

- Change which Slack channel receives the alert, or route different signup sources to different channels
- Adjust the HubSpot lifecycle stage or add extra contact properties (for example a signup source or plan tier)
- Add filters so only paid-plan signups, work emails, or specific Auth0 connections trigger the alert

## FAQ

### How quickly does the Slack alert appear after someone signs up?

Auth0 signup events typically show up within a minute, and this workflow reacts on its next check, so the alert usually lands in Slack within a couple of minutes of the person finishing signup.

### What happens if the person is already in HubSpot?

The workflow will not create a duplicate. Instead, the Slack message notes that the contact already existed, so your team can look up their prior history in HubSpot before reaching out.

### Does it work with social logins like Google or with SAML SSO?

Yes. The workflow reads the Auth0 connection type (Google, Username and Password, SAML, and so on) and includes it in both the HubSpot note and the Slack message so you can tell how each person joined.

### Can I stop test accounts and internal users from being synced?

The workflow already skips accounts that look like test or admin users. You can extend the filter by email domain or Auth0 connection if your team uses a specific pattern for internal signups.

### Do I need a paid HubSpot plan for this to work?

No. Contact creation and search are available on every HubSpot tier, including the free CRM.

Use this prompt in General Input: https://www.generalinput.com/prompts/turn-auth0-signups-into-hubspot-leads-with-a-slack-alert