Post Slack alerts for Auth0 login failures and lockouts

Get a Slack ping the moment Auth0 flags a brute-force lockout or repeated failed logins, already enriched with the affected user's name and email.

Agentic Task
Auth0Slack BotEngineeringOperationsNotifications & AlertsResearch & Monitoring
PromptCreate

I want an agent workflow that watches my Auth0 tenant log in real time and turns login-failure signals into actionable Slack alerts in our security channel.

Trigger: use the Auth0 poll trigger with event type new_log_event so the workflow fires once per new tenant log event.

For every new log event, read the Auth0 log type code and only act on failure signals. Everything else (successful logins s, logouts slo, successful signups ss, Management API calls sapi/fapi, change-password events) should be ignored so the workflow returns quietly.

Failure codes to act on:

• f, fp, fu = failed login (generic, wrong password, invalid email or username) • fs = failed signup • limit_wc = account blocked by Auth0 brute-force protection (10 consecutive failures for the same user+IP, or 100 failures from the same IP in 24h)

Behavior for limit_wc: always post one high-severity alert per event to our Slack security channel using the Slack Bot Send a Message operation. The message must call out the affected user, source IP, geolocation (city and country from the log entry), user agent, and the event timestamp, and must include a suggested action: contact the user to confirm the attempts, and unblock the account in Auth0 if they are legitimate. Format with a red-circle severity indicator and bold labels so it stands out in the channel.

Behavior for f / fp / fu: do NOT alert on isolated events. Consolidate repeated failures inside a short window (default 5 minutes, make this configurable) that share the same user_id OR the same source IP. Post exactly ONE Slack message per consolidated group with the attempt count, the user or IP that was targeted, and a link to the Auth0 dashboard filtered by that user or IP (https://manage.auth0.com/dashboard/... with the tenant and query) so on-call can drill in with one click. Format with a warning emoji.

Behavior for fs (failed signups): consolidate the same way as f/fp/fu and post one Slack alert per burst.

Enrichment: for every alert that identifies a specific user, call the Auth0 Get User operation with the user_id from the log entry and show the user's name and email in the Slack message instead of the raw internal id (auth0|xxx, google-oauth2|xxx, etc.). Remember to URL-encode the pipe character in the user id path segment. If the log event does not carry a resolvable user_id (e.g. an unknown-email failure that only has an IP), fall back gracefully to whatever identifier the log provides and note it in the alert.

Use the Slack Bot Send a Message operation for every Slack post. During setup ask the user which Slack channel to alert (a single dedicated security channel is the intended default) and confirm the bot has been invited to it.

Reference: Auth0 brute-force protection docs at https://auth0.com/docs/secure/attack-protection/brute-force-protection describe the exact thresholds behind the limit_wc event.

Additional information

What does this prompt do?
  • Watches your Auth0 tenant in real time for failed sign-in attempts, failed sign-ups, and accounts blocked by brute-force protection.
  • Posts a high-severity Slack message to your security channel the instant an account gets locked, with the affected user, IP, location, device, timestamp, and a suggested next step.
  • Groups repeated failed attempts against the same user or IP into a single consolidated Slack alert with an attempt count, so the channel never fills up with noise during an attack.
  • Shows the affected person's name and email in every alert instead of the raw internal ID, so on-call can act without opening the Auth0 dashboard first.
What do I need to use this?
  • An Auth0 tenant you can connect (with permission to read logs and users)
  • A Slack workspace with a channel dedicated to security alerts, and the General Input bot invited into it
  • A rough idea of how many failed attempts inside how many minutes should count as suspicious for your team
How can I customize it?
  • Pick which Slack channel receives the alerts, or split high-severity lockouts to a separate channel or on-call DM.
  • Tune the grouping window and the number of failed attempts before a consolidated alert fires.
  • Extend the suggested action to match your playbook, for example paging the on-call rotation or opening a ticket in your incident tool.

Frequently asked questions

What Auth0 events does this actually catch?
Failed logins (wrong password, unknown email or username), failed sign-ups, and accounts that Auth0 has blocked with its built-in brute-force protection. Successful logins, logouts, and admin activity are ignored.
Won't my Slack channel get spammed during an attack?
No. Repeated failures against the same user or the same IP inside a short window are rolled up into a single Slack message with an attempt count and a link to the Auth0 dashboard, instead of one message per failed attempt.
Do I need Auth0's paid Log Streams add-on?
No. This reads your tenant log through the standard Auth0 Management API, so it works on any Auth0 plan where you can read logs and users.
Will alerts show the user's real name and email?
Yes. Every alert looks up the affected account in Auth0 so the Slack message displays a real name and email, not an internal identifier like auth0|abc123.
What should I do when a lockout alert lands?
The alert suggests a next step (contact the user, or unblock them in Auth0 if the attempts were legitimate) and includes the IP, geolocation, user agent, and timestamp so you have everything you need to make the call.

Stop hearing about attacks the next morning.

Pipe your Auth0 lockouts and brute-force signals straight into the Slack channel your on-call already watches.