Skip to main content
For general webhook concepts like bubble-up behavior, payload visibility rules, and versioned snapshots, see Webhook Concepts.

Description

This event is triggered when an existing user’s information is updated, or when their role or group assignments change (subordinate bubble-up).

Integration Details

  • Subscription Key: auth.user.updated
  • Use Case: Sync profile changes (like email, name, or role assignments) to your external database.
  • Related Events: auth.user.created

Trigger

  • Event Type: auth_user_updated
  • Source: Update of a record in the auth.user table, or bubble-up from subordinate changes to auth.user_role or auth.user_group.

Payload Example

{
  "id": 123,
  "external_id": "ext_u_123",
  "identity_id": "auth0|abc",
  "azure_object_id": "00000000-0000-0000-0000-000000000000",
  "is_active": true,
  "name": "John Doe Updated",
  "username": "johndoe",
  "email": "john.doe@example.com",
  "phone_number": "+1234567890",
  "timezone": "UTC",
  "profile_pic_file_id": 1001,
  "old_id": 567,
  "created_at": "2023-10-01T12:00:00Z",
  "created_by": 1,
  "updated_at": "2023-10-02T10:00:00Z",
  "updated_by": 1,
  "user_roles": [
    {
      "id": 1,
      "role": "RECRUITER",
      "created_at": "2023-10-01T12:00:00Z",
      "created_by": 1,
      "updated_at": "2023-10-01T12:00:00Z",
      "updated_by": 1
    }
  ],
  "user_groups": [
    {
      "id": 1,
      "group_id": 10,
      "created_at": "2023-10-01T12:00:00Z",
      "created_by": 1,
      "updated_at": "2023-10-01T12:00:00Z",
      "updated_by": 1,
      "group": {
        "id": 10,
        "name": "Engineering",
        "description": "Engineering department",
        "external_id": "eng_dept",
        "parent_group_id": null
      }
    }
  ]
}

Payload Type Showcase

{
  id: number;
  external_id: string | null;
  identity_id: string | null;
  azure_object_id: string | null;
  is_active: boolean;
  name: string;
  username: string;
  email: string;
  phone_number: string | null;
  timezone: string | null;
  profile_pic_file_id: number | null;
  old_id: number | null;
  created_at: string;
  created_by: number;
  updated_at: string;
  updated_by: number | null;
  user_roles: {
    id: number;
    role: string;
    created_at: string;
    created_by: number;
    updated_at: string;
    updated_by: number;
  }[];
  user_groups: {
    id: number;
    group_id: number;
    created_at: string;
    created_by: number;
    updated_at: string;
    updated_by: number;
    group: {
      id: number;
      name: string;
      description: string | null;
      external_id: string | null;
      parent_group_id: number | null;
    };
  }[];
}

Field Notes

  • role on user_roles references auth.role enum values (e.g., RECRUITER, EVALUATOR, MASTER_RECRUITER).
  • user_groups nests the group summary so consumers can display membership without a separate fetch.
  • azure_object_id and identity_id are included for SSO-integrated consumers.
  • Role and group changes on a user trigger bubble-up — the user’s updated_at is touched, firing an auth.user.updated event.