cik_live_…). The key identifies the integration and its workspace — there is no separate account or organization id to send.
Create a Custom Integration
Custom Integrations are available to organization admins and personal workspace owners.1
Open Integrations
Sign in to Ringee and open Integrations from the sidebar. The direct route is
/dashboard/settings/integrations.2
Open the Custom Integrations tab
Select the Custom Integrations tab, then click New custom integration. Give it a name that identifies the system you are connecting, such as
Acme CRM.3
Copy your credentials
Ringee shows two secrets when the integration is created:
- the API key (
cik_live_…) — used to authenticate your requests to Ringee; - the webhook signing secret (
whsec_…) — used to verify webhooks Ringee sends to you.
4
Set your webhook URL
Under Settings, set the outbound URL to the public HTTPS endpoint that will receive Ringee events, and select which events you want to subscribe to.
5
Test the connection
Click Test webhook. Ringee sends a
test.ping event to your endpoint and shows the HTTP status and latency it got back.Authenticate a request
Send the API key in theX-Ringee-Api-Key header for inbound CRM events and
click-to-call.
X-Ringee-Api-Key or
Authorization: Bearer cik_live_…. Send exactly one authentication header; a
request containing both is rejected with 401.
Key types
Ringee issues two different key types from the same integration. They are not interchangeable.How keys are stored
- The API key is stored hashed (SHA-256). Ringee can never show it to you again after creation — only its prefix, for example
cik_live_a1b2c3d4. - The signing secret is stored encrypted at rest and decrypted only when signing an outbound delivery.
Rotating credentials
Rotate the API key
Rotate the API key
Click Regenerate API key in the integration settings. The previous key stops working immediately.
Rotate the signing secret
Rotate the signing secret
Click Regenerate signing secret. Ringee starts signing with the new secret on the next delivery and does not keep an overlap window. Store and deploy the returned secret immediately, then run Test webhook.
Disable an integration
Disable an integration
Setting an integration’s status to
disabled rejects its Public API key, stops outbound deliveries and invalidates its publishable keys. Queued deliveries are marked failed with integration disabled.Workspace scope
An integration belongs to either a personal account or an organization. Everything it reads and writes is scoped to that workspace:- contacts and companies you upsert are created in that workspace;
- only calls and activity from that workspace are sent to your webhook;
- AI Voice Agent lists and call results are limited to that organization;
ownerEmailandagentEmailare resolved against that workspace’s members.
When an integration is organization-scoped,
agentEmail is required for
click-to-call — Ringee needs to know which member places
the call.AI Voice Agents require an organization-scoped integration. A key belonging to
a personal workspace returns
403 for /api/v1/ai-voice-agents/*.Manage the integration
Create integrations, change webhook subscriptions, rotate credentials and inspect delivery logs from Integrations → Custom Integrations in the Ringee dashboard. Those dashboard operations are not part of the Public API and do not accept acik_live_… key.
Next steps
Send your first event
Push contacts and companies into Ringee
Verify webhooks
Validate the HMAC signature on incoming events

