AISARAISAR
All webhooks

Users & team

Invitation accepted

user.invitation_accepted

Fires when an invited user accepts their invitation and joins the company. The payload carries both the newly created user and the accepted invitation.

HTTP request

AISAR sends a signed POST request to your webhook_url:

http
POST {webhook_url}
Content-Type: application/json
X-AISAR-Signature: sha256=...

{
  "event": "user.invitation_accepted",
  "event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
  "timestamp": "2026-03-26T12:00:00.000000Z",
  "company_id": 1,
  "data": {
    "user": {
      "id": 60,
      "name": "New User Name",
      "email": "newuser@company.kz",
      "availability": null
    },
    "invitation": {
      "id": 12,
      "email": "newuser@company.kz",
      "role": "agent",
      "status": "accepted"
    }
  }
}

The X-AISAR-Signature header carries an HMAC-SHA256 signature of the request body — use it to verify the request came from AISAR.

Example payload

json
{
  "event": "user.invitation_accepted",
  "event_id": "evt_01JXXXXXXXXXXXXXXXXXXXXX",
  "timestamp": "2026-03-26T12:00:00.000000Z",
  "company_id": 1,
  "data": {
    "user": {
      "id": 60,
      "name": "New User Name",
      "email": "newuser@company.kz",
      "availability": null
    },
    "invitation": {
      "id": 12,
      "email": "newuser@company.kz",
      "role": "agent",
      "status": "accepted"
    }
  }
}

Payload fields

FieldTypeDescription
userobjectThe newly joined user
user.idintegerUser ID
user.namestringFull name (first + last combined)
user.emailstringUser email
user.availabilitystring|nullAvailability status
invitationobjectThe invitation that was accepted
invitation.idintegerInvitation ID
invitation.rolestringRole granted: `admin` or `agent`
invitation.statusstringAlways `accepted`