AtlasWork, planned itself.

    The AI-native, all-in-one work platform. Tasks, projects, CRM, contracts, and analytics in one calm workspace.

    System status
    • SSO
    • SCIM
    • Two-factor sign-in
    • Audit log

    Product

    • Overview
    • PDF tools
    • Diagram tools
    • People & HR
    • Integrations
    • Marketplace
    • Pricing

    Resources

    • Guides
    • Glossary
    • Compare
    • Docs
    • API reference
    • Support
    • Changelog
    • Status

    Company

    • About
    • Careers
    • Press
    • Contact

    Legal & trust

    • Trust center
    • Security
    • Privacy
    • Terms
    • DPA
    • GDPR
    • SLA
    • Refunds
    • Google API data
    Atlas, a product by wrxstack.com·© 2026 wrxstack·All rights reserved
    PrivacyTermsSecurityStatus

    You are in control of your cookies

    Atlas uses strictly necessary cookies to keep you signed in. With your consent, we add anonymized product analytics, conversion attribution, and remembered preferences. Change your mind any time at /privacy/cookies.

    Off until you agree · Change it any time

    • NecessaryAlways on
    • AnalyticsOpt-in
    • MarketingOpt-in
    • PreferencesOpt-in
    Still loading. Try again in a moment.Still loading. Try again in a moment.Still loading. Try again in a moment.
    Skip to documentation
    Docs
    Back to Atlas

    Start here

    • Overview

    Developer

    • REST API guide
    • Authentication
    • API reference
    • MCP (AI agents)
    • MCP tools reference
    • SDKs
    • Quick actions
    • Changelog

    Webhooks

    • Overview
    • Quickstart
    • Events
    • Payloads and headers
    • Security and signing
    • Delivery and retries
    • Managing via API

    Connect

    • Connectors
    • Integrations

    Product

    • Collaboration and chat
    • Signing in and security
    • Client portal
    • Client portal domains

    Reference

    • Glossary
    • Keyboard shortcuts
    • Module reference

    Webhooks

    Events

    A webhook subscribes to events by pattern. A pattern names one event, every event about one kind of resource, or every event at once. This page explains how matching works and lists every event Atlas publishes.

    How event matching works

    A webhook lists one or more event patterns. Atlas sends an event to the webhook when any one of its patterns matches, under three rules.

    • Exact. A pattern such as task.completed matches only that event.
    • Resource wildcard. A pattern ending in .* matches every event about that resource. task.* matches task.created and task.completed, but not project.created. The boundary is the dot, so task.* does not match a name that merely begins with the same letters.
    • Every event. The pattern * matches every published event except the ones that carry personal or pay data: employees, candidates, job applications, job offers, payroll runs, HR tickets, leave requests, reimbursement claims, performance reviews, changes of role, meeting transcripts, files attached to incidents, onboardings and engagements, chat messages, chat channels, huddles, client engagements, deliverables, billing milestones, and connected accounts. A webhook receives those only when it names them, or their resource, as in employee.*.
    PatternMatchesDoes not match
    task.completedtask.completedtask.created
    task.*task.created, task.completedtasks.created, project.created
    *every event but the people eventsemployee.hired, payroll_run.paid

    A webhook's events list holds 1 to 50 patterns through /v1/webhooks, each 1 to 64 characters. A pattern that is not a published event, a resource wildcard, or * is refused with a validation error, so a misspelt event name is caught when you save the webhook rather than failing silently.


    Published events

    Every event Atlas publishes, grouped by what it concerns. The same list is offered in Settings and accepted by the API.

    EventGroupMeaning
    task.createdTasks
    A task was created.
    task.updatedTasks
    A field on a task was changed. The payload lists the fields that changed.
    task.completedTasks
    A task moved into a done status, whether by an edit, a workflow transition, or its last open subtask being finished.
    task.assignedTasks
    A task was assigned to a person, including a person assigning it to themselves.
    task.deletedTasks
    A task was moved to the trash.
    task.archivedTasks
    A task was archived.
    task.restoredTasks
    A task was restored from the archive or the trash.
    task_attachment.addedTasks
    A file was attached to a task.
    task_attachment.deletedTasks
    A file was removed from a task.
    task.movedTasks
    A task moved to another status column on its board, by an edit or a workflow transition.
    project.createdProjects
    A project was created.
    project.updatedProjects
    A field on a project was changed. The payload lists the fields that changed.
    project.completedProjects
    A project was marked done.
    project.archivedProjects
    A project was archived.
    project.deletedProjects
    A project was deleted.
    project_milestone.createdProjects
    A project milestone was created.
    project_milestone.updatedProjects
    A project milestone was edited.
    project_milestone.status_changedProjects
    A project milestone moved to a new status.
    project_milestone.deletedProjects
    A project milestone was deleted.
    project_status_update.createdProjects
    A status update was posted on a project.
    project_status_update.updatedProjects
    A project status update was edited.
    project_status_update.deletedProjects
    A project status update was deleted.
    project.restoredProjects
    A project was restored from the archive or the trash.
    project_risk.createdProjects
    An item was added to a project risk register, whether a risk, an issue, a decision, or an assumption.
    project_risk.updatedProjects
    An item in a project risk register was changed. The payload lists the fields that changed.
    goal.createdGoals
    An objective or key result was created.
    goal.updatedGoals
    A field on an objective or key result was changed, including its linked project.
    goal.completedGoals
    An objective or key result was marked completed.
    goal.deletedGoals
    An objective or key result was permanently deleted. Key results removed along with their objective do not send events of their own.
    habit.createdHabits
    A habit was created.
    habit.completedHabits
    A habit was checked in for a day. Checking in again for the same day sends nothing.
    habit.streak_milestoneHabits
    A check-in brought the current streak of a habit to exactly 7, 30, 100 or 365.
    comment.createdComments
    A comment was posted.
    comment.updatedComments
    A comment was edited.
    comment.deletedComments
    A comment was deleted.
    team.createdTeams
    A team was created.
    team.updatedTeams
    A team was renamed or its details changed.
    team.deletedTeams
    A team was deleted.
    workspace_invite.createdWorkspace
    Someone was invited to join the workspace, or their invite was sent again.
    workspace_invite.revokedWorkspace
    An invite to join the workspace was revoked.
    workspace_member.joinedWorkspace
    A person accepted an invite and joined the workspace.
    workspace_member.role_changedWorkspace
    The role of a workspace member changed.
    workspace_member.removedWorkspace
    A member was removed from the workspace.
    data_export.completedWorkspace
    A workspace data export finished, and its archive is ready to download.
    announcement.createdAnnouncements
    A workspace announcement was created as a draft.
    announcement.updatedAnnouncements
    A workspace announcement was edited.
    announcement.publishedAnnouncements
    A workspace announcement was published to its members.
    announcement.unpublishedAnnouncements
    A workspace announcement was taken down.
    announcement.deletedAnnouncements
    A workspace announcement was deleted.
    automation_run.completedAutomations
    An automation finished a run. The run states whether every step succeeded.
    automation_run.failedAutomations
    An automation run failed, or some of its steps did.
    time_approval.requestedTime
    Time entries were submitted for approval.
    time_approval.approvedTime
    Submitted time entries were approved.
    time_approval.rejectedTime
    Submitted time entries were rejected.
    time_entry.createdTime
    A time entry was logged, or a timer was started.
    time_entry.updatedTime
    A time entry was changed, including a running timer being stopped. The payload lists the fields that changed.
    time_entry.deletedTime
    A time entry was deleted.
    meeting.createdMeetings
    A meeting was created.
    meeting.updatedMeetings
    A meeting was changed.
    meeting.deletedMeetings
    A meeting was deleted.
    meeting_transcript.readyMeetings
    A meeting transcript is complete and ready to read.
    meeting_notes.generatedMeetings
    Notes, decisions, and action items were generated for a meeting from its transcript.
    wiki_page.createdWiki
    A knowledge base page was created.
    wiki_page.updatedWiki
    A knowledge base page was edited.
    wiki_page.deletedWiki
    A knowledge base page was deleted.
    wiki_page.publishedWiki
    A draft knowledge base page was published.
    wiki_page.revision_restoredWiki
    A knowledge base page was restored to an earlier revision.
    diagram.createdDiagrams
    A diagram was created.
    diagram.updatedDiagrams
    A diagram was changed.
    diagram.publishedDiagrams
    A diagram was published.
    diagram.archivedDiagrams
    A diagram was archived.
    diagram.restoredDiagrams
    A diagram was restored.
    diagram.deletedDiagrams
    A diagram was moved to the trash.
    pdf_job.succeededPDF Studio
    A PDF conversion finished and its result is ready.
    pdf_job.failedPDF Studio
    A PDF conversion failed.
    pdf_document.createdPDF Studio
    A PDF document was created.
    pdf_document.finalizedPDF Studio
    The file uploaded for a PDF document was verified, and the document is ready to open.
    crm_account.createdCRM
    A CRM account was created.
    crm_account.updatedCRM
    A CRM account was changed.
    crm_account.archivedCRM
    A CRM account was archived.
    crm_account.restoredCRM
    A CRM account was restored.
    crm_contact.createdCRM
    A CRM contact was created.
    crm_contact.updatedCRM
    A CRM contact was changed.
    crm_contact.archivedCRM
    A CRM contact was archived.
    crm_deal.createdCRM
    A deal was created.
    crm_deal.updatedCRM
    A deal was changed.
    crm_deal.stage_changedCRM
    A deal moved to another pipeline stage.
    crm_deal.wonCRM
    A deal was marked won.
    crm_deal.archivedCRM
    A deal was archived.
    crm_activity.createdCRM
    An activity such as a call, an email, a meeting, or a note was logged on a CRM record.
    crm_account.mergedCRM
    A duplicate CRM account was merged into another account, and the event carries the account that remains.
    crm_deal.lostCRM
    A deal was marked lost.
    client_onboarding.startedClient onboarding
    A client onboarding was started.
    client_onboarding.cancelledClient onboarding
    A client onboarding was cancelled.
    client_onboarding.archivedClient onboarding
    A client onboarding was archived.
    client_onboarding.completedClient onboarding
    A client onboarding was completed.
    contract.createdContracts
    A contract was created.
    contract.updatedContracts
    A contract was edited.
    contract.approvedContracts
    A contract was approved in internal review.
    contract.declinedContracts
    A contract was declined in internal review.
    contract.sentContracts
    A contract was sent for signature.
    contract.signedContracts
    Every party signed a contract.
    contract.activatedContracts
    A contract became active.
    contract.terminatedContracts
    A contract was terminated.
    contract.renewedContracts
    A contract was renewed as a new contract.
    esign_agreement.senteSign
    An eSign agreement was sent to its signers.
    esign_agreement.viewedeSign
    A signer opened an eSign agreement.
    esign_agreement.signedeSign
    A signer signed an eSign agreement.
    esign_agreement.declinedeSign
    A signer declined an eSign agreement.
    esign_agreement.voidedeSign
    An eSign agreement was voided.
    esign_agreement.completedeSign
    Every signer signed an eSign agreement, and it is complete.
    esign_agreement.expiredeSign
    An eSign agreement expired before every signer signed.
    release.createdReleases
    A release was planned.
    release.updatedReleases
    A field on a release was changed, or its notes were saved. The payload lists the fields that changed.
    release.status_changedReleases
    A release moved to another status in its lifecycle.
    release.releasedReleases
    A release was marked Released. The event also carries the reason when an owner or administrator released it past a blocker.
    release.scope_changedReleases
    Tasks were added to, or removed from, the scope of a release.
    release.approval_requestedReleases
    Sign-off on a release was requested from one or more people.
    release.approval_decidedReleases
    An approver approved or rejected a release.
    release.deployment_recordedReleases
    A deployment of a release to an environment was recorded, or its status changed.
    release.notes_publishedReleases
    The release notes of a release were published inside the workspace.
    release.deletedReleases
    A release was deleted.
    release.moratorium_exception_requestedReleases
    An exception to a moratorium was asked for a release. The payload names the moratorium and the request.
    release.moratorium_exception_approvedReleases
    An exception to a moratorium was approved for a release, so the moratorium warns about it instead of blocking it.
    release.moratorium_exception_rejectedReleases
    An exception to a moratorium was rejected for a release.
    release_moratorium.startedReleases
    A moratorium came into force. Computed when moratoriums are read, so it is sent once per occurrence, when the first read after the start happens.
    release_moratorium.endedReleases
    A moratorium that was announced as started is no longer in force.
    release_moratorium.blockedReleases
    A moratorium refused an action: creating a release, moving a release to Released, or recording a deployment. The payload names the action and every blocking moratorium.
    booking.createdBookings
    A guest booked a time on a booking page.
    booking.cancelledBookings
    A booking was cancelled, by its host or by the guest.
    booking.rescheduledBookings
    A booking moved to a new time, by its host or by the guest.
    booking_page.createdBookings
    A booking page was created.
    booking_page.updatedBookings
    A booking page was changed. The payload lists the fields that changed.
    booking.no_show_markedBookings
    The host marked a booking as a no-show because the guest did not attend.
    employee.hiredPeople
    An employee record was created.
    employee.updatedPeople
    An employee record was changed.
    employee.terminatedPeople
    An employee was terminated.
    hr_ticket.createdPeople
    An employee raised an HR helpdesk ticket.
    hr_ticket.resolvedPeople
    An HR helpdesk ticket was resolved.
    leave_request.requestedPeople
    A leave request was filed. When its policy approves it automatically, it arrives already approved.
    leave_request.approvedPeople
    A leave request was approved.
    leave_request.rejectedPeople
    A leave request was rejected.
    reimbursement_claim.createdPeople
    A reimbursement claim was created as a draft.
    reimbursement_claim.submittedPeople
    A reimbursement claim was submitted for approval.
    reimbursement_claim.approvedPeople
    A reimbursement claim was approved.
    reimbursement_claim.rejectedPeople
    A reimbursement claim was rejected.
    reimbursement_claim.paidPeople
    A reimbursement claim was paid.
    performance_review.createdPeople
    A performance review was created.
    performance_review.updatedPeople
    A performance review was edited.
    performance_review.finalizedPeople
    A performance review was finalized with its final rating.
    role_change.requestedPeople
    A change of role was requested for an employee.
    role_change.manager_approvedPeople
    A manager approved a requested change of role.
    role_change.appliedPeople
    HR approved a change of role, and it was applied to the employee.
    role_change.rejectedPeople
    A requested change of role was rejected.
    candidate.createdHiring
    A candidate was added.
    job_application.createdHiring
    A candidate applied, or was added, to a job opening.
    job_application.advancedHiring
    A job application moved to the next stage.
    job_application.rejectedHiring
    A job application was rejected.
    job_offer.sentHiring
    A job offer was sent to the candidate.
    job_offer.acceptedHiring
    A candidate accepted a job offer.
    job_offer.declinedHiring
    A candidate declined a job offer.
    payroll_run.approvedPayroll
    A payroll run was approved.
    payroll_run.paidPayroll
    A payroll run was marked paid.
    incident.declaredIncidents
    An incident was declared.
    incident.acknowledgedIncidents
    A responder acknowledged an incident.
    incident.severity_changedIncidents
    The severity of an incident was raised or lowered.
    incident.status_changedIncidents
    An incident moved to a new status.
    incident.mitigatedIncidents
    The impact of an incident was mitigated.
    incident.resolvedIncidents
    An incident was resolved.
    incident.reopenedIncidents
    A resolved incident was reopened with a reason.
    incident.postmortem_publishedIncidents
    The postmortem for an incident was published.
    chat_message.createdChat
    A chat message was posted. Only a message in a public workspace channel is sent with its text.
    chat_message.updatedChat
    The text of a chat message was edited. Only a message in a public workspace channel is sent with its text.
    chat_message.deletedChat
    A chat message was deleted.
    chat_channel.createdChat
    A chat channel was created. Opening a direct message does not send this event.
    chat_channel.archivedChat
    A chat channel was archived.
    huddle.startedChat
    A huddle was started.
    huddle.endedChat
    A huddle ended, because its host or an administrator ended it or its last participant left.
    engagement.createdEngagements
    A client engagement was created.
    engagement.updatedEngagements
    The details of a client engagement were edited.
    engagement.transitionedEngagements
    A client engagement moved to another lifecycle status.
    engagement.closedEngagements
    A client engagement was closed.
    deliverable.submittedEngagements
    A deliverable was submitted to the client for review.
    deliverable.approvedEngagements
    A deliverable was approved and accepted.
    deliverable.rejectedEngagements
    A deliverable was rejected.
    billing_milestone.reachedEngagements
    A billing milestone was reached and its fee earned.
    connector.connectedIntegrations
    A connector was connected to the workspace, or a revoked connection was connected again.
    connector.disconnectedIntegrations
    A connector connection was disconnected and its stored credentials were cleared.
    connector.sync_failedIntegrations
    A scheduled sync for a connector connection failed.
    form_submission.createdForms
    Someone submitted a form, and a task was created from the answers.
    attachment.createdAttachments
    A file was attached to an incident, a client onboarding or an engagement, and passed verification.
    attachment.deletedAttachments
    A file was removed from an incident, a client onboarding or an engagement.
    report.deliveredReports
    A scheduled report was generated and sent to its recipients.
    subscription_plan.changedBilling
    The workspace moved to a different plan. The payload carries the plan it was on before.
    invoice.paidBilling
    A charge was paid, and a tax invoice was issued for it.
    *All events
    Every event in this list, including any added later, except the People, Hiring and Payroll events, which you choose by name.

    How events are produced

    Where events come from, and what an event carries.

    Events come from the audit log

    Every event is recorded in the workspace audit log at the moment the action happens, and that record is what produces the webhook event. The resource in the event is loaded afresh as the API returns it, so data.object has the same shape as a GET on that resource. The one exception is a resource that has been permanently deleted, which is described by its id and deletedAt alone. Subscribe narrowly in production, to only the events you handle.
    About this page

    On this page

    • How event matching works
    • Published events
    • How events are produced