Skip to main content
Also available from the API: GET /v1/webhook-event-types (reference). Levels are the endpoint levels that can subscribe to an event. An event that happens in an organization reaches that organization’s endpoints, and reseller and account endpoints that also receive events from the levels below (levels). Data fields are the keys of data. The IDs of where it happened (partner_id, reseller_id, org_id, agent_id) are always in the envelope (payloads) and usually not repeated in data. The exceptions are org.created, org.suspended, org.reactivated, org.cancelled and partner.ns_agents_tab_live, which also carry organization_id in data. A flat name of — means the event type is used as event in the flat format.

First events

  • Account firsts (account.*, the partner.* firsts, agent.first_personalized and agent.first_knowledge_base_added below) fire once per account, ever, and only while the account is on its trial — deleting and recreating an agent does not fire account.first_agent_created again, and an account that is no longer a trial does not fire them.
  • Organization and agent firsts (org.first_*, agent.first_call_received) fire once per organization or agent, ever, on any plan. Organizations and agents that existed when these events were introduced count as already having reached them, so they never fire for them. Accounts whose agents had already reached agent.first_personalized or agent.first_knowledge_base_added count as having reached them too.
A real call is an inbound phone call (not a web or widget call, not a dashboard playground call) to an agent that is not a demo agent, lasting at least the minimum duration Telzino sets for the platform. account.first_call_received and org.first_call_received / agent.first_call_received count every inbound call, test calls included.

Onboarding

Lifecycle

agent.updated, agent.prompt_changed and agent.first_personalized fire for Telzino voice agents only. agent.knowledge_base_updated and agent.first_knowledge_base_added fire for every agent type, as do agent.created and agent.deleted. plan is the account’s subscribed plan name, "trial" while the account is on its trial, or null. Resellers, organizations and agents carry their account’s plan.

Who created it

created_by_type says what kind of identity created the record. created_by is the same identity as a prefixed string, <created_by_type>:<id>, like actor: Both are null when the creator is not known; the event is still sent.

Actor

actor says who made a change, as a prefixed string, or null when that is not known:
There is no agent.published event: agents are live as soon as they are saved, so there is no publish step to report.

Account, billing and users

Telzino only

Telzino’s own platform endpoints can subscribe to every event on this page, and also to these, which no account, reseller or organization endpoint receives:

Calls

Call events are sent when the call ends, except integration.connection_failed, which is sent as soon as the failure happens (usually mid-call). Caller details and summaries are sent only in the phi object, and only when the organization allows it.

Call outcomes

No outcome is sent for taking a payment: only the payment link being sent is reported.

Survey

Survey events are sent when a survey agent’s call ends. Each survey call sends exactly one of survey.completed, survey.partial and survey.refused, plus survey.detractor and survey.callback_requested when they apply. Survey calls still send call.completed. An existing endpoint receives survey events only after you subscribe it to them. All five carry the same fields:
  • call_id is the survey call’s own record; parent_call_id is the call the caller was transferred from (null when unknown). transferred_at and queue come from the transferred-call context.
  • rep is {id, name, extension, source}: the representative who handled the caller. id, name and extension are null when the representative is unknown. source is how the representative was found (referred_by, diversion, history_info, static_map, netsapiens_api, internal or unknown), and null when the call has no transfer context.
  • status is completed, partial or refused. language is en, es or fr. duration_sec is the length of the survey call, null when unknown.
  • answers lists the answered questions, in survey order: {key, type, value, confirmed, confidence}. A question that was not asked or not answered is not listed. The value of an open answer is null, unless PII redaction is on for the organization or the agent (then it is the redacted text). confidence is the speech-to-text confidence of the caller’s reply: informational only, and null when unavailable. With redaction on, each answer also carries the redacted raw text the caller said.
  • flags is {detractor, callback_requested, survey_opt_out}.
  • transcript_url opens the call in the dashboard (sign-in required); it can be null.
The caller’s number and the raw and open answer text follow the PHI rules. Redaction is on when PII redaction is on for the organization or for the survey agent; Webhook PHI is an organization setting:

Monitoring

Monitoring events are worked out per endpoint, from the event settings you give that endpoint (event settings). Each one:
  • is sent only to the endpoint whose settings it met — two endpoints with different thresholds get different events;
  • fires once when its condition is met, then stays quiet until the condition clears (it re-arms), so it can fire again the next time;
  • is checked about once a minute.
Some need Telzino-side setup, and are not sent where it is missing:
  • agent.registration_lost / agent.registration_restored need registration polling of the SIP proxies (OPENSIPS_PROXY_TARGETS on the event worker). An agent counts as lost only after it was seen registered at least once. A round in which a proxy does not answer marks nobody as lost.
  • agent.latency_degraded needs the call-metrics store (CLICKHOUSE_URL on the event worker).
threshold is the setting that was met and observed the value Telzino measured. since is when the condition started for agent.inactive, org.inactive and agent.registration_lost, and when it was detected for org.error_rate_spike, agent.latency_degraded and org.call_volume_spike.

Event settings

Endpoints that subscribe to a monitoring event must give its settings in event_settings, keyed by event type. There are no defaults; an endpoint subscribed without them is refused. GET /v1/webhook-event-types returns each event’s settings_schema. agent.activity_resumed, org.activity_resumed and agent.registration_restored have no settings of their own: they use the settings of their pair event. Put them in event_settings under the pair event’s own name (for example agent.inactive for agent.activity_resumed), even when only the resumed/restored event is subscribed: without them the endpoint is refused, and settings keyed under the resumed/restored name are refused too. business_hours:
days are 0–6, 0 = Sunday; start and end are HH:MM; timezone is an IANA name. Example event_settings:

Suspending an organization

Account admins and Reseller Admins of the organization’s reseller can suspend and reactivate an organization from the Customers page, or with PATCH /v1/organizations/{organization_id} (reference), with an optional reason. While an organization is suspended:
  • inbound phone and web/widget calls to its agents are refused before the agent answers;
  • new outbound calls are refused, and outbound calls already queued or scheduled are skipped;
  • SMS from its agents is refused;
  • its users can still sign in and edit it;
  • billing is unchanged — its agents still count.
Suspending fires org.suspended; reactivating fires org.reactivated.