Glific Documentation

website·Indexed 30 days ago

https://glific.github.io/docs

Documentation for Glific, featuring a GraphQL API for front-end and back-end interfacing, WhatsApp Groups Automation, and chatbot flow management. Includes guides on webhook implementation, user management, WhatsApp Forms, Speed Sends, and reporting integrations with Looker Studio and BigQuery.

Tokens
76.2K
Snippets
200
Records
584
Agent score
75%

What's inside Glific

  1. Overview of Glific Flow Action types

    Glific Flows use action nodes to define the behavior of a conversation. These actions can be selected from the node dropdown on the Flow Configure page. Available actions include:

    Communication Actions

    • Send contact a message: Sends a message to the contact. Supports the use of flow-level and contact-level variables within the message content.
    • Wait for contact to respond: Pauses the flow to collect input from the contact. The response is saved in a variable specified in the Result Name field.
    • Wait for time: Introduces a delay before the next action. Defaults to 5 seconds if no specific time is selected.
    • Send a staff member a message: Sends a notification or message to a staff member instead of the contact.

    Data & Contact Management

    • Label the incoming message: Assigns a label to a received message for analytics and data point generation.
    • Add the contact to a Collection: Adds the current contact to a pre-existing collection.
    • Remove the contact from a Collection: Removes the current contact from a collection.
    • Update the contact: Saves updated contact details to the database.

    Integration & Flow Control

    • Call a Webhook: Sends or receives data from a third-party web application.
    • Enter another flow: Triggers a secondary flow from within the current flow.
    • Wait for result: Used specifically with webhooks to prevent the flow from breaking during response delays. It queues the request using the Resume flow API. If no webhook is present, it behaves like 'Wait for time'.
    • Start Somebody else in the flow: Initiates a flow for a different user or a specific collection from the middle of the current flow.
    • Open Ticket: Directs questions to a specific project team member by opening a ticket.

    Decision/Split Nodes

    • Split by custom expression: Branches the flow based on a custom logic expression derived from contact responses.
    • Split by a result in the flow: Branches the flow based on the specific result of a user's response.
    • Split by collection membership: Branches the flow based on whether a contact belongs to a specific collection.
    • Split by contact field: Branches the flow based on the value of a specific contact variable.
  2. Overview of the Manage profile node

    The Manage profile node allows NGOs to handle multiple end-users sharing a single phone number by segregating them into profiles. This node supports three primary actions at the flow level:

    1. Create Profile: Generates a new profile for a contact.
    2. Switch Profile: Changes the active profile for the contact.
    3. Deactivate Profile: Deactivates a specific profile associated with a contact.
  3. Overview of Custom Certificates and Badges

    The Custom Certificates and Badges feature allows organizations to provide personalized visual assets (certificates, badges, leaderboards, or progress bars) to contacts upon completing specific tasks or behaviors recorded in Glific flows. Personalized information, such as names or course completion details, is dynamically printed on the templates before being shared with the contact.
  4. Overview of Glific standard report pages (v3.0)

    The Glific standard report (v3.0) provides several pre-built pages for monitoring and evaluation:

    • Daily Status: Total active contacts and messages sent per day, including hourly breakdowns.
    • Flow Reports: User engagement per flow, including activity requests and feedback.
    • Sessions: Total and average sessions (flows) initiated, interaction frequency per user, average time spent on flow, and average messages sent per flow.
    • Contact Details: Visualization of all collected contact details.
    • Field Views (User Details): Uses a BigQuery stored procedure to unnest field-level information and map it back to contact details.

    All reports can be filtered by date, time, flow name, flow label (e.g., activity/feedback), and contact details.

  5. Overview of Glific interactive message types

    Interactive messages allow chatbot users to engage via dynamic elements rather than typing. Every interactive message must consist of a Message body combined with an Interaction method; interaction options cannot be sent without a body.

    Supported types include:

    1. Reply Buttons: Up to three clickable buttons.
    2. List Message: Up to 10 options presented in a menu.
    3. Location Request: A prompt asking the user to share their GPS location.
  6. Overview of Glific Triggers

    Triggers allow you to automatically schedule flows to be sent to contacts within one or more collections. This eliminates the need for manual intervention for recurring tasks such as weekly program updates, event reminders, or monthly feedback surveys.
  7. Overview of Glific AI Evaluations

    AI Evaluations in Glific allow developers to score an AI Assistant version against a 'Golden Q&A' set—a fixed collection of questions paired with ideal answers. The evaluation provides an overall score and a detailed breakdown based on three independent metrics, each scored from 0 to 5 with accompanying plain-language reasoning:

    1. Adherence to Ground Truth: Measures if the AI-generated answer is correct in meaning compared to the golden answer.
    2. Adherence to Knowledge Base: Checks if every claim in the AI answer is grounded in the retrieved knowledge base or if it is a hallucination.
    3. Adherence to Prompt: Evaluates if the answer follows the configured language, tone, and answer-vs-refuse behavior.
  8. Analyze Chatbot Flow Activity and Performance

    The Flow Activity page uses date and flow name filters to monitor how users navigate specific flows. It is divided into three areas:

    1. Flow Activity Overview: Tracks 'Contacts starting flows', 'Total flows traversed' (total entries), and 'Unique flows traversed'.
    2. Flows Completed: Provides a 'Flow completions table' and 'Flow completed node table' to identify which specific nodes are being reached upon completion.
    3. Incomplete and Killed Flows: Used to investigate failures. Flows may be 'killed' due to 7-day inactivity, webhook failures, infinite loops, or manual termination. This section provides a 'Contact list table' with phone numbers and the exact node where the flow was killed for troubleshooting in Glific.
  9. Monitor Messages and Conversations in the Overview Dashboard

    The Messages and Conversations section tracks volume and types of interactions, which directly impact costs. Key metrics include:

    • Messages exchanged: Total incoming and outgoing messages in the selected period.
    • Conversations started: Total unique conversations. A conversation is defined as a 24-hour window starting from the first message sent by the bot.
    • Conversation type: Distribution of conversation types (which vary in cost).
  10. Manage time ranges for accurate dashboard reporting

    Because charts such as 'Contacts Broadcasted To,' 'Engagement Overview,' and error charts are cumulative based on the selected time range, always verify the Time field before comparing data across different sessions. Note that selecting longer time ranges will increase data loading times; reduce the range to improve performance.
  11. Understand the Glific BigQuery contacts table schema

    The contacts table contains detailed information about WhatsApp contacts. Note that test and simulator contacts are excluded from this table. Key columns include:

    • Identification & Basic Info: id (Unique ID), name, phone (WhatsApp number), and language.
    • Messaging Status:
      • provider_status: Determines message capabilities. Values: none (cannot message), hsm (template messages only), session (any message within 24h window), session_and_hsm (both).
      • status: Reachability. Values: valid, invalid, processing, blocked, failed.
    • Opt-in/Out Tracking: optin_time, optout_time, and contact_optin_method (e.g., 'BSP', 'IVR', 'Manual').
    • Timestamps: last_message_at, inserted_at, and updated_at.
    • Custom Data: fields (list of field name, value, type, and timestamp) and raw_fields (text block of all custom fields for searching).
    • Staff Assignment: user_name (assigned staff), user_role (e.g., admin, manager, staff), last_login_as_staff_at, last_login_from_as_staff, and is_restricted_user.
    • Categorization:
      • groups: List of collections the contact belongs to.
      • tags: List of applied tags.
      • group_labels: Comma-separated text of all collection names for filtering.
      • contact_type: Discovery method. WABA (WhatsApp Business Account/chatbot), WA (WhatsApp group managed by system), WABA+WA (both).