Skip to content About The people and vision powering Probo Blog The latest news from Probo Stories Hear from our customers Changelog Latest product updates Docs Documentation for Probo GitHub Explore our open-source compliance tools

Webhook Event Types

Probo sends webhook events for four resource categories. Each resource supports created, updated, and deleted events.

EventDescription
meeting:createdA meeting was created
meeting:updatedA meeting was updated
meeting:deletedA meeting was deleted
vendor:createdA vendor was created
vendor:updatedA vendor was updated
vendor:deletedA vendor was deleted
user:createdA user was created
user:updatedA user was updated
user:deletedA user was deleted
obligation:createdAn obligation was created
obligation:updatedAn obligation was updated
obligation:deletedAn obligation was deleted

The data field in the webhook payload contains the resource that triggered the event. Below are the fields for each resource type.

Sent for meeting:created, meeting:updated, and meeting:deleted events.

{
"id": "mtg_01ABC123",
"name": "Q1 Risk Review",
"date": "2025-03-15T14:00:00Z",
"minutes": "Discussion notes...",
"createdAt": "2025-01-10T09:00:00Z",
"updatedAt": "2025-03-15T16:00:00Z"
}
FieldTypeDescription
idstringMeeting identifier
namestringMeeting name
datestringMeeting date (RFC 3339)
minutesstring | nullMeeting minutes
createdAtstringCreation timestamp (RFC 3339)
updatedAtstringLast update timestamp (RFC 3339)

Sent for vendor:created, vendor:updated, and vendor:deleted events.

{
"id": "vnd_01DEF456",
"name": "Acme Cloud",
"category": "CLOUD_INFRASTRUCTURE",
"description": "Cloud hosting provider",
"statusPageUrl": "https://status.acme.cloud",
"termsOfServiceUrl": "https://acme.cloud/tos",
"privacyPolicyUrl": "https://acme.cloud/privacy",
"serviceLevelAgreementUrl": "https://acme.cloud/sla",
"dataProcessingAgreementUrl": null,
"businessAssociateAgreementUrl": null,
"subprocessorsListUrl": "https://acme.cloud/subprocessors",
"certifications": ["SOC2", "ISO27001"],
"countries": ["US", "DE"],
"securityPageUrl": "https://acme.cloud/security",
"trustPageUrl": "https://acme.cloud/trust",
"headquarterAddress": "123 Cloud St, San Francisco, CA",
"legalName": "Acme Cloud Inc.",
"websiteUrl": "https://acme.cloud",
"businessOwnerId": "usr_01GHI789",
"securityOwnerId": "usr_01JKL012",
"createdAt": "2025-01-05T10:00:00Z",
"updatedAt": "2025-01-05T10:00:00Z"
}
FieldTypeDescription
idstringVendor identifier
namestringVendor name
categorystringVendor category
descriptionstring | nullDescription
statusPageUrlstring | nullStatus page URL
termsOfServiceUrlstring | nullTerms of service URL
privacyPolicyUrlstring | nullPrivacy policy URL
serviceLevelAgreementUrlstring | nullSLA URL
dataProcessingAgreementUrlstring | nullDPA URL
businessAssociateAgreementUrlstring | nullBAA URL
subprocessorsListUrlstring | nullSubprocessors list URL
certificationsstring[]List of certifications
countriesstring[]Country codes where vendor operates
securityPageUrlstring | nullSecurity page URL
trustPageUrlstring | nullTrust page URL
headquarterAddressstring | nullHeadquarters address
legalNamestring | nullLegal entity name
websiteUrlstring | nullWebsite URL
businessOwnerIdstring | nullBusiness owner user ID
securityOwnerIdstring | nullSecurity owner user ID
createdAtstringCreation timestamp (RFC 3339)
updatedAtstringLast update timestamp (RFC 3339)

Sent for user:created, user:updated, and user:deleted events.

{
"id": "usr_01GHI789",
"organizationId": "org_01MNO345",
"emailAddress": "jane@example.com",
"fullName": "Jane Doe",
"kind": "EMPLOYEE",
"source": "MANUAL",
"state": "ACTIVE",
"additionalEmailAddresses": ["jane.doe@example.com"],
"position": "Security Engineer",
"contractStartDate": "2024-01-15T00:00:00Z",
"contractEndDate": null,
"createdAt": "2024-01-15T09:00:00Z",
"updatedAt": "2025-02-01T11:00:00Z"
}
FieldTypeDescription
idstringUser identifier
organizationIdstringOrganization identifier
emailAddressstringPrimary email address
fullNamestringFull name
kindstring | nullUser kind (e.g. EMPLOYEE)
sourcestringProfile source (e.g. MANUAL)
statestringProfile state (e.g. ACTIVE)
additionalEmailAddressesstring[]Additional email addresses
positionstring | nullJob position
contractStartDatestring | nullContract start date (RFC 3339)
contractEndDatestring | nullContract end date (RFC 3339)
createdAtstringCreation timestamp (RFC 3339)
updatedAtstringLast update timestamp (RFC 3339)

Sent for obligation:created, obligation:updated, and obligation:deleted events.

{
"id": "obl_01PQR678",
"organizationId": "org_01MNO345",
"area": "Data Protection",
"source": "GDPR",
"requirement": "Maintain records of processing activities",
"actionsToBeImplemented": "Implement ROPA template and quarterly review",
"regulator": "CNIL",
"ownerId": "usr_01GHI789",
"lastReviewDate": "2025-01-01T00:00:00Z",
"dueDate": "2025-06-30T00:00:00Z",
"status": "IN_PROGRESS",
"type": "LEGAL",
"createdAt": "2024-06-01T10:00:00Z",
"updatedAt": "2025-01-15T14:00:00Z"
}
FieldTypeDescription
idstringObligation identifier
organizationIdstringOrganization identifier
areastring | nullCompliance area
sourcestring | nullRegulatory source
requirementstring | nullRequirement description
actionsToBeImplementedstring | nullRequired actions
regulatorstring | nullRegulatory body
ownerIdstringOwner user ID
lastReviewDatestring | nullLast review date (RFC 3339)
dueDatestring | nullDue date (RFC 3339)
statusstringObligation status
typestringObligation type
createdAtstringCreation timestamp (RFC 3339)
updatedAtstringLast update timestamp (RFC 3339)