Capablio

Integrations, APIs, and Events

Channel delivery must use the same survey instance and exposure ledger. A reminder in another channel is not a second question exposure.

Updated

Integration priorities

Collaboration channels

  • Email
  • Slack
  • Microsoft Teams
  • In-app and mobile notification
  • Calendar reminder

Channel delivery must use the same survey instance and exposure ledger. A reminder in another channel is not a second question exposure.

Identity and directory

  • CSV import for early stages
  • Google Workspace and Microsoft Entra directory sync
  • HRIS connectors
  • SAML SSO
  • SCIM provisioning and deprovisioning

Work context

Optional integrations can improve routing and event triggers:

  • Jira / Azure DevOps / Linear
  • GitHub / GitLab
  • incident-management systems
  • CRM and customer-account systems
  • learning platforms
  • calendar and meeting systems

Do not ingest operational telemetry merely because it is available. Every field needs a declared purpose and access model.

Public API domains

  • tenants and entitlements
  • people, teams, roles, and relationships
  • frameworks, constructs, questions, and scales
  • packs, overlays, and assignments
  • schedules and survey windows
  • rater nominations
  • survey status and delivery
  • responses, subject to permissions
  • PDP goals and milestones
  • aggregates and reports
  • imports and mappings
  • audit and deletion requests

Event model

Recommended events:

tenant.created
tenant.entitlement.changed
person.created
person.updated
person.deactivated
relationship.changed
pack.published
pack.assigned
schedule.activated
survey.window.created
survey.instance.assembled
survey.instance.delivered
survey.instance.opened
survey.instance.completed
survey.instance.expired
question.exposed
response.recorded
coverage.cycle.completed
coverage.feasibility.failed
pdp.goal.created
pdp.goal.activated
pdp.override.created
pdp.milestone.completed
pdp.goal.completed
report.released
report.suppressed
import.completed
import.mapping.reviewed
data.exported
data.deletion.requested
data.deletion.completed

Every event should include tenant, actor, subject, source, timestamp, version, and idempotency key where appropriate.

Survey assembly API

Example request:

{
  "tenant_id": "acme",
  "survey_window_id": "win_2026_w32",
  "subject_id": "sub_123",
  "respondent_id": "rsp_456",
  "relationship": "direct_report",
  "pack_assignments": ["pa_1", "pa_2"],
  "preview": false
}

Response should include selected items and a decision trace suitable for authorized debugging, not for respondents.

Import adapter contract

An adapter returns:

  • source metadata
  • extracted people and relationships
  • constructs or competencies
  • items and scales
  • raw observations
  • qualitative text
  • source report aggregates
  • mapping suggestions
  • extraction warnings
  • checksum and parser version

The import is staged until a user confirms it.

Webhook safeguards

  • signed payloads
  • retries with idempotency
  • tenant-configurable endpoints
  • secret rotation
  • delivery logs
  • event filtering
  • redaction of narrative and identity data by default

BI access

Enterprise customers may receive:

  • scheduled de-identified export
  • secure data share
  • API for aggregated metrics
  • warehouse connector

Raw respondent identity should not be exposed merely to make dashboarding easier.

Integration entitlement model

Use granular entitlements:

integrations:
  slack: true
  microsoft_teams: true
  csv_directory: true
  hris_connectors: 0
  saml_sso: false
  scim: false
  public_api: read_only
  webhooks: 3
  warehouse_export: false

This is more flexible than a single integrations_enabled flag.