Integrations
Open Settings, then choose the Connections area to connect Kasbly to channels, tools, apps, and plugins.
The Connections area contains these goals:
- Add a ready-made setup — install a Marketplace pack.
- Connect WhatsApp, tools & apps — manage API integrations and AI capabilities.
- Connect WhatsApp Business — manage business accounts, numbers, templates, and verification.
- Check connection health — review channel and integration health checks.
- Get alerted about activity — choose notification and alert delivery.
- Turn features on/off — manage advanced workspace feature flags.
- Industry plugins — open installed plugins and their configuration.
Use Search settings… to find one of these goals directly. Open a goal card for its summary and controls; when a card offers a full-page action such as Manage integrations, use it for the complete editor.
For programmatic access with your own keys, open the Developer keys goal in People & access, or see API Keys.
Custom CRM API contract
Section titled “Custom CRM API contract”Choose Custom CRM (API) when your CRM exposes a REST endpoint. Kasbly sends
Authorization: Bearer <API key> and JSON to these paths:
GET /health(or the base URL) checks the connection.POST /contactsreceives{ contacts: [...] }; each contact hasid,phone,name,email,city,language,tags,customFields, andleadScore.GET /contacts?since=<ISO-8601>returns an array,{ data: [...] },{ contacts: [...] }, or{ results: [...] }using those same fields.POST /dealsreceives{ deals: [...] }; each deal hasid,customerId,customerPhone,customerEmail,customerName,stage,value,currency, andtitle.GET /deals?since=<ISO-8601>returns one of the same array envelopes and the same deal fields.POST /deals/{id}/stageupdates one deal’s stage. Send{ stageId, externalStageId }, with the same external stage ID in both fields.stageIdis the external stage ID you enter in the CRM Stage Mapping table.
For two-way sync, return a stable id and a customerPhone for every deal.
When the associated person has no phone, include customerEmail so Kasbly can
match an existing customer by email; an unmatched email-only person is skipped
with recovery guidance in Sync History.
Use the CRM Stage Mapping table to map each incoming stage value to a
Kasbly lifecycle stage. Omit a field your CRM does not know rather than sending
an empty replacement value.
The stage Kasbly sends on POST /deals is the external stage ID from that
same table, matching POST /deals/{id}/stage. A lifecycle stage with no
outbound mapping is pushed without a stage, so your CRM keeps the stage it
already has instead of receiving a Kasbly stage name.
Inbound custom CRM webhooks
Section titled “Inbound custom CRM webhooks”To send a stage or contact change from your CRM to Kasbly, POST the event to
/v1/webhooks/crm/custom. Include the tenant ID for the Kasbly workspace that
uses Custom CRM (API) in X-Tenant-Id.
Authenticate the request with either of these forms:
Authorization: Bearer <API key>, using the API key configured for the Custom CRM connection.X-Webhook-Secret: <signature>, wheresignatureis the lowercase hex HMAC-SHA256 of the raw JSON request body, keyed with the dedicated webhook secret shown once after you save the Custom CRM connection. Copy that secret before leaving the settings page. Existing integrations that sign with the configured API key remain supported for compatibility, but new integrations should use the dedicated webhook secret.
The payload may put event data at the top level or in data or payload.
Use event or type to identify an event; values containing deal or
opportunity are handled as deal events, while values containing contact or
lead are handled as contact events. For a stage change, send the external
deal ID in one of id, external_id, objectId, object_id, record_id, or
resource_id, and the external stage in one of newStageId, new_stage_id,
newStageName, new_stage_name, externalStageId, external_stage_id,
externalStageName, external_stage_name, externalStage,
external_stage, stage_id, deal_stage, pipeline_stage, stage, or
pipeline. Contact matching accepts phone, phone_number, customerPhone,
customer_phone, person_phone, or contact_phone; it also accepts email,
customerEmail, customer_email, person_email, or contact_email.
HubSpot CRM
Section titled “HubSpot CRM”HubSpot CRM uses OAuth and creates the properties Kasbly needs during connection. See the setup guide for the required deal identifier and how to reconnect a portal whose administrator permissions blocked setup.
Pipedrive CRM
Section titled “Pipedrive CRM”Pipedrive CRM uses OAuth and creates the deal and person fields Kasbly needs during connection. See the setup guide for the manual field names if an administrator must complete setup.
