Skip to main content
Signal Builder lets you tag and segment calls by combining call details, caller demographics, and account data into rule-based Signals — including advanced manual expressions.
Use Signals to tag and segment calls by data and outcomes. This guide covers rule-based Signals evaluated on pre-defined conditions:
  • Call details (duration, end reason, spoken word/phrase)
  • Caller demographics (age, gender, address type)
  • Other account data (Marketing Data, AdWords data, other Signals)
  • Platform data (campaign/promo number)
  • Missed opportunity indicators (for example, voicemail pickup)
You can combine several conditions in one Signal.

Creating a new rule-based Signal

  1. Log in, then in the sidebar click Signal > Manage Signals.
  2. Click + New Signal > Rule-Based Signal.
  3. In the Name box, name the call type (for example, “Qualified caller”). In the Description box, list the conditions.
  4. Optionally enter a Revenue amount.
  5. Use the Conditions menu to pick a data type to evaluate — see the guides on Keyword Spotting and Missed Opportunity conditions for those specifically.
  6. Repeat for more conditions, using the and/or dropdown between conditions.
  7. Optionally restrict the Signal to specific Campaigns.
  8. Optionally share the Signal via Syndication if you use performance marketing.
  9. Click Save.
Invoca checks each new call against your conditions and marks each one true or false. Most Signals process before the call; the exceptions are phrase-spotting and call-duration conditions, which process shortly after the call ends.

Advanced: manual Signal expressions

For complex logic, use the Text button to switch between the guided Builder and a manual text expression. Use parentheses to combine and/or logic across several conditions.

Real-time vs. reporting-only operators

The operators below marked real-time can be used in call treatment conditions (they evaluate as the call is happening). Operators not marked real-time only evaluate correctly in reporting, after the call — they always evaluate false if used in a real-time call treatment condition.

Examples

Marketing Data fields

Reference a Marketing Data field with custom_data["field name"]. This is true if the field exists on the call; you can also check for an exact match, a partial match, or simple presence.
Check whether a field exists using present. Note that present only returns true if the field exists and isn’t blank or whitespace:

RingPool parameters

Reference a RingPool parameter with pool_param[param_name] — this supports the same exact-match, partial-match, and presence checks as Marketing Data fields:

Promo number details

Use media_type (Promo Number Media Type) and promo_number_description to reference details about the promo number that drove the call:

Account and campaign details

Use advertiser_name, affiliate_name, and advertiser_campaign_name (the campaign name without the advertiser prefix) to reference account-level details:

Enhanced caller profile

If enabled on your account, you can reference enhanced caller profile fields: Gender, Age (5-year ranges), Address Type, Household Income, Marital Status, Has Children, Home Owner Status, Home Market Value, Length of Residence, Education, and High Net Worth.

Expression operators

Comparing numbers

Comparing strings

Where to go next

Last modified on September 23, 2026