Skip to content

User Creation Webhook Fails When Milo Is Offline, Leaving Zitadel & Milo Out of Sync #56

@JoseSzycho

Description

@JoseSzycho

Summary

When a user is created in Zitadel while the Milo system is offline, the user-creation webhook sent from Zitadel fails. Because the webhook does not retry, the Milo user is never created, causing the systems to become out of sync.

As a result, although the user exists in Zitadel, they will not be able to log in to Milo in the future. Since there is no recovery or retry mechanism, the only current workaround is to delete the Zitadel account and ask the user to create a new one.

Steps to Reproduce

  1. Bring the Milo system offline (or otherwise make the user-creation endpoint unreachable).
  2. Create a new user in Zitadel.
  3. Zitadel sends the user-creation webhook.
  4. The webhook fails due to Milo being offline.
  5. User is created in Zitadel but not in Milo.

Expected Behavior

Zitadel should retry the webhook delivery or provide a mechanism to reconcile user state once Milo becomes available again.

Actual Behavior

  • The webhook fails once, with no retry.
  • Milo never receives or processes the user-creation event.
  • User cannot log in to Milo.
  • Manual deletion and recreation of the user account is required.

Impact

  • System state becomes inconsistent between Zitadel and Milo.
  • User login failures occur that cannot be resolved without manual intervention.
  • Poor user experience.

Related Issue

zitadel/zitadel#10268

Requested Enhancement

Add a retry mechanism, cron-job, or a reconciliation process so Zitadel that can can pull and sync users creation events after downtime.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions