Skip to content

Scopes and Placeholders

Every scope maintains its own memory bank. Variables are stored in the memory bank by functions such as Set Variable, by triggers, or by application events (e.g. call forwarding).

The memory bank is deleted when the scope is invalidated — for example, when a call ends, the call's scope is discarded.

Scope variables can be used in conditions and in placeholder resolution using the scope[myVariableName] syntax.

There is a special scope for handling Smart Links. When a Smart Link invokes a function, any arbitrary data included in the link URL is populated into the scope that executes the function.

Supported Placeholders

Functions that perform in-app navigation, web navigation, or HTTP requests can use placeholders from the following sources:

  • Global parameters — app-wide values such as %platform%.
  • Account parameters — account-level values accessed via %account[key]%.
  • Scope variables — values from the current scope's memory, accessed via %scope[myVarName]%.
  • Scope-specific parameters — context-dependent values (see below).

Call Screen Scope

The following placeholders are available within a call screen scope:

Placeholder Description
callId SIP call ID.
groupId Call Group ID.
callerTransportUri Remote caller transport URI.
callState Call state at the moment the function is invoked (see Call FSM).
callDirection Call direction: Outgoing, Incoming, or Unknown.
callDuration Call duration in milliseconds, measured from call object creation to function invocation.
callIncomingRingingDuration Ringing duration in milliseconds, measured from ringer start until the call is established, rejected, cancelled, or errors.
callDeliveryMethod How the call was delivered: pushed (via push notification), direct (via SIP INVITE), or unknown.
sipHeader[X-my-header] Value of a custom SIP header (headers starting with X-).
callDate Call datetime in standard UTC format.