Skip to main content

Documentation Index

Fetch the complete documentation index at: https://cal.com/docs/llms.txt

Use this file to discover all available pages before exploring further.

Audit logs record security-sensitive actions performed within your Cal.com organization. Each event captures who performed the action, what changed, and when it happened. Use audit logs to monitor access control changes, investigate security incidents, and satisfy compliance requirements.
Audit logs are an enterprise feature available to organizations on Cal.com. Events are recorded automatically — no configuration is required.

Tracked events

Cal.com automatically records audit events across the following categories: security, access control, API credential lifecycle, workflow automation, billing, and event type management.

Security events

EventDescription
LOGINA user logged in. Failed login attempts are recorded with a FAILURE result.
SSO_LOGINA user authenticated via SSO (SAML or OIDC).
PASSWORD_CHANGEDA user changed their password.
PASSWORD_RESET_REQUESTEDA password reset was initiated.
TWO_FACTOR_ENABLEDTwo-factor authentication was turned on.
TWO_FACTOR_DISABLEDTwo-factor authentication was turned off.
IMPERSONATION_STARTAn admin began impersonating another user.
IMPERSONATION_STOPAn admin stopped impersonating another user.
EMAIL_CHANGEDA user’s email address was updated.
ACCOUNT_LOCKEDA user account was locked.
ACCOUNT_UNLOCKEDA user account was unlocked.

Access control events

These events are recorded when organization or team memberships change.
EventDescriptionData captured
MEMBER_ADDEDA user was invited to join a team or organization.Invited user and assigned role
MEMBER_REMOVEDA user was removed from a team or organization.Removed member and team IDs
ROLE_CHANGEDA member’s role was updated.Previous role and new role
INVITATION_SENTAn invitation email was sent to a prospective member.Invitee email and target team
TEAM_CREATEDA new team was created within an organization.Team ID and creator
TEAM_DELETEDAn existing team was deleted.Team ID

API credential events

EventDescription
API_KEY_CREATEDA new API key was generated.
API_KEY_REVOKEDAn existing API key was revoked.

Workflow events

EventDescription
WORKFLOW_CREATEDA new workflow was created.
WORKFLOW_MODIFIEDAn existing workflow was updated.
WORKFLOW_DELETEDA workflow was deleted.

Billing events

These events are recorded when subscription or seat changes occur.
EventDescription
PLAN_UPGRADEDA subscription was upgraded to a higher tier.
PLAN_DOWNGRADEDA subscription was downgraded to a lower tier.
SUBSCRIPTION_CANCELLEDA subscription was cancelled.
SEAT_ADDEDA new seat was added to the subscription.

Event type events

EventDescription
EVENT_TYPE_CREATEDA new event type was created.
EVENT_TYPE_MODIFIEDAn existing event type was updated.
EVENT_TYPE_DELETEDAn event type was deleted.

Event structure

Each audit event captures a consistent set of fields:
FieldDescription
ActionThe type of event (e.g., ROLE_CHANGED, LOGIN).
ActorThe user who performed the action.
ResultWhether the action succeeded (SUCCESS), failed (FAILURE), or was denied (DENIED).
SourceWhere the action originated (e.g., webapp, API v1, API v2, SAML, OAuth).
TargetThe resource affected by the action, identified by type and ID (e.g., a specific user, team, or membership).
Previous / new valueFor mutation events like ROLE_CHANGED, the value before and after the change.
TimestampWhen the event occurred.
IP addresses are stored as HMAC hashes for privacy. Raw IP addresses are never persisted in audit logs.

Access control event examples

Role change

When an admin changes a team member’s role, the audit log captures both the previous and new role values:
  • Action: ROLE_CHANGED
  • Target type: membership
  • Previous value: MEMBER
  • New value: ADMIN

Member removal

When members are removed from a team, an audit event is recorded for each member and team combination:
  • Action: MEMBER_REMOVED
  • Target type: membership
  • Target ID: The affected member’s ID

Member invitation

When new members are invited, the audit log records the invitation details:
  • Action: MEMBER_ADDED
  • Target type: membership

PBAC permissions for audit logs

If your organization uses PBAC (Permission-Based Access Control), audit log access is governed by dedicated permissions:
PermissionScope
booking.readOrgAuditLogsView audit logs across the entire organization
booking.readTeamAuditLogsView audit logs for a specific team
Assign these permissions to custom roles to control who can access audit log data.