Skip to content

Fields and Globals ​

TL;DR:

  • Fields (F_...) — User-specific attributes (CRM profile). Keys are randomly generated (e.g., F_ME1Icbow).
  • Globals (G_...) — Shared workspace-wide values. Keys are randomly generated (e.g., G_qOtneuot).
  • System Fields — Built-in identity fields (name, phone, email, subscribed).
  • Data Integrity: Keys and data types are fixed once created. Labels can be changed at any time.

Who this is for ​

  • Workspace Admins setting up the workspace's data schema.
  • Bot Developers using shared configuration across multiple scenarios.
  • CRM Managers tailoring user profiles to business needs.

What you will learn ​

  • How to manage Custom Fields and Globals.
  • Why prefixes (F_, G_) and system. are essential for routing.
  • The difference between a System Key (random) and a Label (readable).
  • Lifecycle of variables: archive vs delete.

Overview ​

The platform distinguishes between information that belongs to a specific user and information that belongs to the entire workspace.

Key concepts ​

  • System Key — A unique, randomly generated ID (e.g., F_ME1Icbow or G_qOtneuot) used in scenarios and formulas. It cannot be changed after creation.
  • Label — A human-readable name (e.g., "Customer ID", "Support Phone") used for identification in the UI. You can change the label at any time.
  • Custom Fields (F_...) — User-specific attributes. They define the "columns" in your CRM profile.
  • Global Variables (G_...) — Shared workspace-wide settings optimized for runtime performance.
  • System Fields (system.*) — Built-in identity fields (name, phone, email, subscribed) that have special handling and UI placement.

How it works ​

Data Types and Lifecycle ​

When creating a Field or Global, you select one of 4 data types: text · number · date · datetime

WARNING

After a Field or Global is created, you cannot change its System Key or its Data Type. However, you can update its Label whenever you want to improve visibility in the UI.

1. Custom Fields (F_...) ​

Custom fields reflect the structure of your user profiles in the CRM.

  • Syncing: Every change to a field is automatically synced to the central database and recorded in the user history log.
  • Lifecycle: Custom Fields cannot be deleted, only archived. This preserves data integrity for existing user records.
  • In CRM: Populated fields are displayed in the User Detail view for every user.

2. Global Variables (G_...) ​

Globals are shared workspace-wide settings used for values that should be accessible by all users and bots.

  • Shared: If you update a Global in one bot scenario, the change is immediately visible to other bots and users.
  • Memory-First: Globals are optimized for speed and are kept in the runtime context.
  • Sync Note: Unlike fields, Globals are not synced to individual user records in the database, as they are not user-specific.
  • Lifecycle: Globals can be deleted if they are no longer needed.

3. System Fields (system.*) ​

These are reserved fields that every bot user has by default.

  • Identity: Fields like name (CRM display name), phone, and email are used for cross-bot user recognition.
  • State: The subscribed field tracks whether the user can receive automated messages.
  • Behavior: These fields are always synced and managed specially in the CRM header.

4. Naming Prefixes ​

The platform uses prefixes to route data correctly:

  • F_... → Custom User Field (CRM)
  • G_... → Global Workspace Variable
  • var.* → Standard Session Variable (not in CRM by default)
  • utm_* → Marketing tracking parameters
  • system.* (or just name, phone, etc.) → Built-in identity fields

In the UI ​

Workspace Data Settings ​

Location: Workspace Settings → Data Schema

  • Fields Tab: Create new user attributes and define their types.
  • Globals Tab: Set and update workspace-wide values.

CRM User Detail ​

Location: CRM → [Select User] → Variables Tab

Here you will see all F_... fields populated for the user. System fields like name and phone are displayed prominently in the user header.

Examples ​

Example 1 — Loyalty Program (Fields) ​

Goal: Track reward points for each customer.
Setup: Create a Field labeled "Loyalty Points" (type: Number). System generates F_ME1Icbow.
Result: Use F_ME1Icbow + 10 in an Actions Node to award points. The balance appears in the CRM under its "Loyalty Points" label.

Example 2 — Maintenance Mode (Globals) ​

Goal: Quickly stop all bot interactions during technical work.
Setup: Create a Global labeled "Maintenance" (type: Text). System generates G_qOtneuot.
Result: Add a Condition Node checking G_qOtneuot to decide the bot reaction for all users.

FAQ ​

  • Q: Why are keys random?
    A: To avoid naming collisions across different integrations and to ensure internal system stability.

  • Q: Is there a limit to how many fields I can have?
    A: Most plans support up to 100-200 custom fields. Check your plan limits in the Billing section.

  • Q: Can I delete a Custom Field?
    A: No. To protect your CRM data history, fields can only be archived. Archiving hides the field from the UI but keeps the data safe. Globals, however, can be deleted entirely.

TeleGo.io Docs