Skip to content

Functions Framework

The Functions Framework provides a flexible way to customize application behavior and automate workflows. It consists of four core building blocks.

The framework configuration is defined in JSON and validated against a JSON Schema. You can validate your configuration using the Acrobits Schema Validator.

Functions

Functions are actions executed automatically or manually in response to specific events. Examples include navigating the user within the app, opening a web page, making HTTP requests, logging data, or sending DTMF sequences during a call. Functions can be chained, delayed, or run in parallel to create sophisticated interactions.

Conditions

Conditions determine whether a function or UI component (such as a Button) should execute or become visible. Conditions evaluate criteria such as call state, user settings, account properties, or call metadata. They can be combined using logical operators (AND, OR, NOT) to express complex rules.

Triggers

Triggers are observable events that automatically initiate functions — for example, call state transitions (incoming ringing, established call) or provisioning events. Triggers automate behavior by starting functions at precisely defined moments.

Buttons

Buttons are configurable UI components displayed on the call screen or keypad based on conditions. When pressed, buttons invoke associated functions.

Additional Topics

  • Scopes and Placeholders — Variable scoping, memory banks, and placeholder resolution.
  • Smart Links — URL-based mechanism to trigger functions and actions from outside the app.