Skip to content

Digital CRM in Depth

Digital CRM in BigLedger is five applets that share one customer master and nothing else. This page is what each records and what happens behind their screens; the module’s front door is the Digital CRM module page.

What each applet records

AppletWhat it records
Unified Contact CenterEvery inbound message as a conversation, every piece of work as a task, routed by queues, rules and actions to teams (shared with the platform) and agents (a contact-centre role on a login). The agent works beside the customer’s CRM contact, can share an item, open a shopping cart and request an e-invoice from inside the conversation. Dashboard, four reports, broadcasts
Sales Force AutomationLeads (each with a created event), the deals they are converted into (entirely in the browser — the backend has no lead conversion), the registers that classify both — projects and, under each project, sources, stages, types and ratings — a dashboard, qualification questionnaires, and a CSV lead import that can raise a contact-centre outbound task per row. The organisation a lead names is a CRM organisation. The build a tenant is served is a 2022 one — see the applet page before planning around any screen
Engagement AppletOne engagement per client file: the customer entity, the company and branch that bill it, the staff holding each engagement role, and — for clients tracked by financial year — one fiscal-year-end record per year. Engagement categories. Normally bulk-loaded through the ETL endpoints; the form’s code and name fields are read-only
Event Management AppletCalendars and their members, events with a person in charge, participants, linked companies and agenda attachments (its own calendar records), shown as a month/week calendar and as listings. Its Event Expense Report reads staff claim lines that carry the event’s GUID; the applet never writes a claim
Bot AppletThe menu-based chatbot the contact centre’s channels answer with: bots, the conversation flows they run, the elements in a flow and the sequence with conditions that joins them, and the skills a bot carries (alg_bot_*). It matters beyond self-service, because on an endpoint with a bot linked, the bot flow is what creates the contact-centre task — a flow element hands the conversation to a person, and until it does, nothing is routed. An endpoint with no bot makes a task from the first message of each new session

Supporting applets, owned by other modules and used here

AppletOwnerWhy Digital CRM needs it
Customer Maintenance and EntityCoreThe customer and entity records a contact-centre contact is merged with and that an engagement is raised for. A lead’s organisation is not one of them: it is a row of the CRM organisation register, kept separately, so when a lead becomes a customer you create the customer here by hand (Sales Force Automation). Credit terms, limits and the OK / BLACKLISTED credit status live here — not in any CRM applet
Employee MaintenanceCoreEngagement roles, fiscal-year-end staff and an event’s PIC (person in charge) are employee records. Event participants and calendar members are not: they are logins on your tenant, found by login e-mail (Event Management)
Organisation AppletCoreThe company and branch on an engagement; the required Company on an event
Doc Item MaintenanceCoreThe items the contact-centre Product panel browses and shares with a customer
Shopping CartE-CommerceThe cart an agent opens for a customer from inside a conversation — the document, and any posting, belong there
MyInvois AdminE-InvoiceThe e-invoice the contact-centre E-Invoice panel requests and the validation status it shows
Membership AdminMembershipOne of the four records a contact can be merged with
Stock Reservation AppletInventoryNot a dependency by design: the newer sales-force build’s Organization menu is a copy of this applet’s screens and writes its tables. Listed so that a reader who finds stock reservations under a CRM menu knows where they are documented
Debtor Report, Debtor and Creditor ReportFinancial AccountingOutstanding documents, ageing and statements for the customers the CRM applets talk to

What posts to the ledger, and what moves stock

Nothing in this module does either. There is no document type for a conversation, task, lead, deal, engagement, calendar or event, and journal posting has no rule for any of them. Each of these applets writes master data and links — conversations, tasks, leads, engagements, events — and hands commerce to the applets that own documents: the shopping cart, the sales quotation, order and invoice in Sales, and the e-invoice applets. When a customer buys something that started as a WhatsApp message, the sale, the stock movement and the journal are all recorded outside Digital CRM.

Credit control is not here either

The one customer-facing control that reads like CRM — refusing business to a customer who owes too much — lives in Core, and it is two pieces: a stored status and a batch sweep that sets it. The status is the Credit Limit Status / Credit Term Status pair on Customer Maintenance; finalising a cash bill, sales invoice, sales order or outbound delivery order for a customer marked BLACKLISTED is refused, and the check reads the stored status, never a live balance. The sweep — Blacklist Overdue Customer in the Scheduler applet’s processor picker — first clears every BLACKLISTED value in the tenant, hand-set ones included, then blacklists customers whose outstanding balance in a company is over their limit, or whose documents are older than their company-level credit term. It is not a default clock: unless somebody has scheduled it on your tenant, the status changes only when a person sets it by hand. No CRM applet reads or writes it.

Where the numbers on these screens come from

Many of the figures in this module are recomputed each time you open the screen rather than stored. Knowing which is which tells you where to look when one seems wrong.

The figureWritten when, from whatSo, when it looks wrong
A task’s status on the deskStored on the task, and changed only by the routing engine or by a person. IN-PROGRESS and UNASSIGNED exist only on the desk; the engine knows five statusesA task still CREATED an hour later was never routed — see When it goes wrong
Total Duration on the Task ReportWorked out in your browser when the report loads: from the task’s creation to the event that closed it — or, when the screen finds no such event, to the moment you are lookingA completed task whose duration grows every day: the closing event the screen looks for is not the one completed tasks carry, so read the duration of a closed task as its age, not its handling time
Conversation, message and session counts on the contact-centre dashboardRead when you open the dashboard, from the contact centre’s own conversation store — a database separate from the one every other report readsDo not try to reconcile them with another report: no other report can see the conversations (Core concepts)
The customer’s history, cart and e-invoice in the conversation side-panelsRead from the record the contact is merged with — a customer or entity, a membership or a loginEmpty panels mean the sender is still only a phone number or a handle — merge the contact first
An event’s cost on the Expenses tab and the Event Expense ReportAdded up when you open it, from every staff claim line tagged with the event — approved lines and lines still pending approval, pending document review or on holdThe figure drops when a claim is rejected and rises when a late claim is tagged; quote the approved figure (Configuration §5)
The customer’s Credit Limit Status an agent looks upStored on the customer. Set by hand, or by the Blacklist Overdue Customer sweep if somebody scheduled it — and that sweep first clears every BLACKLISTED value in the tenantA stop somebody set by hand disappeared overnight: the sweep ran (Credit control)
The tiles on the sales-force dashboardNew Lead and New Deal are the server’s totals. The other three are counted in your browser over the one page of results it fetched, and the trend arrow and percentage on every tile are fixed textA tile that never moves past the page size, or two tiles that always agree, are the screen’s arithmetic, not your pipeline (Reports)
An engagement’s running numberGiven by the first edit, from the tenant’s ENGAGEMENT_NO counter — not at creationA freshly loaded engagement with no number has never been saved on screen (Configuration §4)

One message, followed through. A customer sends a WhatsApp message to the support number of GadgetSphere Online (GSO) asking whether an order has shipped. What happens next depends on one setting you cannot see from the inbox: whether that endpoint has a bot linked.

  • With a bot linked, the bot answers first. A task exists only once the flow reaches its hand-over element, and that element must carry a skill or no task is created at all. The task then waits for the skill-based routing engine, which runs every fifteen minutes and only follows rules linked to the task’s queue (Contact-centre automation).
  • With no bot, the first message of the new session creates the task at once, and it is routed in the same moment by a different rule set — TASK_TEAM_ASSIGNMENT_AUTOMATION_RULE_SET — not by the skill-based rules and not on the poll. That rule set is not created for you. Until somebody creates it under Configurations → Automation Rule and gives it rules, the task waits, still CREATED, for a person to pick it up.

Either way the sender appears as a new contact. The agent merges the number with the customer’s record in Customer Maintenance, and the side-panels fill with their transaction history and e-invoices. If the customer wants a different item, the agent opens a shopping cart for them, and from that moment the sale, the stock movement and the journal belong to E-Commerce. The task is done when the agent completes it — nothing else will close it.

How the pieces depend on each other

What must exist first. Each applet’s list is in Configuration, and two of them start outside BigLedger’s screens. The contact centre needs the messaging channel and the push-notification subscription to exist as platform data, which support adds. Then it needs a project, a virtual contact with one endpoint per channel, and agents. An agent is a login holding the applet at rank MEMBER, not an employee record. The sales-force register needs a project with its own sources, stages and types before a lead can be saved. An engagement needs its customer entity, company and branch to exist before its first edit, and an event’s participants must first be members of its calendar.

What each one makes possible.

  • A merged contact is what lets the agent see the customer’s transactions, open a cart and request an e-invoice. A contact left unmerged gets answered, but nothing the agent does reaches the rest of the product.
  • A cart opened from a conversation hands the sale to E-Commerce, and the e-invoice request hands it to MyInvois Admin.
  • A reply to a Digital Marketing campaign message on a WhatsApp Business endpoint is recorded on the campaign as a reply. Where that endpoint has no bot linked, it also opens a contact-centre task linked to the campaign, so the task records which campaign the customer is answering.
  • A lead makes nothing on its own. The quotation is keyed in Sales against a customer somebody creates by hand, and the deal is built in the browser.
  • An event gives the Claim applet something to tag. The event’s cost exists only as the claim lines that carry it.

Siblings, and when to use which.

  • Broadcast or Digital Marketing? Use the contact centre’s Broadcast for one message to one list, sent now. Use the Digital Marketing applet for scheduled or recurring sends to an uploaded segment (below).
  • A bot on the endpoint, or none? Link a bot when you want a menu to answer first and the skill on its hand-over to choose the queue. Leave it off when every message should go to a person rather than a menu, and then build the team-assignment rule set, or have a supervisor pick tasks up from the queue.
  • A lead or a sales inquiry? A Sales Inquiry is a document in the Sales chain that a quotation can follow from. A lead is a register entry that nothing follows from automatically. Use the lead when you need the stage list as a pipeline, and the inquiry when you need the paper trail.
  • Merge the contact, or merge the customers? Contact Merging joins a chat identity to a record you already have. Two customer records for one person are a different problem, with a permanent fix (Duplicate customers).

What breaks elsewhere when this is set up wrong.

  • Deleting a bot that is still linked to an endpoint. The link stays, and every inbound message on that endpoint then fails to reach an agent. Remove the bot from the endpoint first (Bot Applet → Troubleshooting).
  • An agent whose applet rank is not MEMBER. The skill-based engine silently skips them, so a team can look staffed and still receive nothing.
  • A hand-set BLACKLISTED. If the sweep is scheduled, the next run clears it. A stop you meant to keep has to be set again after every run, so decide who checks the blacklist after each run.
  • Saving an organisation on the sales-force Organization screen. Its save blanks the organisation’s code, under a success message (Best practices).

What it pairs with in practice. Across the companies on BigLedger, the routing configuration is almost always exactly as it was seeded. Even among the companies that have connected a channel, almost none has linked a rule to a queue or an agent to a skill. If you want automatic routing, assume you are the first in your company to build it, and follow Contact-centre automation step by step. In practice the contact centre leans on Customer Maintenance for every merge and on the Shopping Cart for every sale. The event calendar leans on the Claim applet for every ringgit it reports.

What the module has no engine for

Written down because the previous version of this page, and most descriptions of a “digital CRM”, assume them:

  • No AI customer analytics. Nothing in the product computes churn risk, sentiment, RFM segments, lifetime value or recommendations. The AI Customer Analytics page this module used to list described something that does not exist; it is unpublished.
  • No drip or journey campaigns in these applets. The Engagement Applet is an audit-practice client register, not a marketing tool, and the only outbound bulk send the contact centre offers is its Broadcast screen — one message, one channel, one audience, once. BigLedger does hold a campaign engine, and it is a separate applet. Digital Marketing (DGMKT) carries marketing projects, uploaded contact segments, schedules, campaigns, recurring campaigns, an unsubscribed-numbers list and a sales-tracking report, driven by five registered job processors that queue one message per recipient and hand each to a contact-centre endpoint — WhatsApp Business or e-mail broadcast, and no other channel — no other channel is wired. Two limits matter before you plan around it: a segment is the list of contacts you load into it, not a rule the product evaluates — segment conditions can be stored, but the one service that reads them never actually reads a condition, and the campaign run sends to the segment’s loaded lines only — and a campaign is one message to one list at one moment, with no journey, drip, branch or A/B split anywhere in the applet. If you are deciding whether BigLedger can run a campaign, ask about that applet rather than reading an absence here.
  • No ticket SLA, first-response timer or CSAT score. The contact centre’s dashboard counts conversations, messages and sessions; its Task and Agent reports carry durations and task counts. Nothing computes a response-time target or a satisfaction score.
  • No event registration pages, ticketing, QR check-in or surveys. An event is a calendar entry with participants and attachments. Creating or changing one sends no e-mail, SMS or push — the event notification queue has a validator and an API, but no job processor reads it.
  • No customer 360 view outside the contact centre. The conversation side-panels (CRM contact, cart, transaction history, e-invoice) exist only in the Unified Contact Center.

Registry rows that are not documented here

These registry rows sit beside the module without a page of their own:

  • Inquiry, Inquiry Management and Newsletter Management are not part of the product line documented here; if you need a pre-sales inquiry document, that is Sales Inquiry (Internal) in Sales.
  • Contact Maintenance (ContactMaintenanceApplet) has no page yet.
  • Digital Marketing (DGMKT) is the campaign engine described above. It has no page in this wiki yet.
  • Unified Contact Center Java (UnifiedContactCenterJava) is a second entry beside the contact-centre applet. Which of the two your tenant is served is a question for your BigLedger contact.
  • Customer Profile (customerprofileapplet) is a customer-specific build and is not documented as product.

When it goes wrong

Trouble in this module usually shows up as a task that never reaches anyone, or a figure that does not match another screen. The cause is generally one link or one setting that the screen in front of you does not show.

SymptomCauseFix
Tasks sit at CREATED, and the task’s events show only TASK_CREATEDOn a bot endpoint: no agent is linked to the task’s skill, or no rule is linked to the queue. On an endpoint with no bot: the team-assignment rule set has never been createdContact-centre automation for the first; for the second, create the rule set and its rules, or give a supervisor the job of assigning from the queue
A task is assigned, but only about fifteen minutes after the messageThe skill-based engine runs on a fifteen-minute pollExpected on a bot endpoint. Assign by hand from the desk when that wait matters
The bot answers, and the conversation never reaches a personThe message element before Assign To Agent carries no skill, so the hand-over creates no taskBot Applet → Troubleshooting
The side-panels are empty for a customer you knowThe contact has not been merged with their customer recordMerge it (Contact keys)
Open tasks pile up week after weekNothing closes a task by expiry; that step is switched offMake complete or cancel the last action of every conversation, and give a supervisor an end-of-shift pass with the bulk actions (Best practices)
A completed task’s Total Duration keeps growingThe Task Report measures to now when it finds no closing event of the kind it looks forRead it as the task’s age, not as how long the work took
The lead form will not save, or its drop-downs are emptyThe chosen project has no sources, stages or types of its ownAdd them under Settings → Project Configuration (Configuration §3)
A loaded engagement fails on its first saveA company, branch or entity it names does not exist. Creation did not check; the first edit doesFix the references in the load file and reload (Configuration §4)
An event’s cost is higher than finance expectedThe Expenses tab counts pending and on-hold claim lines tooRead the Claim Status column, or the approved figure (Configuration §5)
Nobody turned up to an eventCreating an event sends no e-mail, SMS or pushAnnounce it yourself (Best practices)
A blacklisted customer was served in the contact centreNo CRM applet reads the credit statusThe agent looks it up in Customer Maintenance before quoting terms (Use cases §4)

How you know it worked

Thirty seconds, on one endpoint you have just set up. From a phone that is not an agent’s, send it a message, and answer the bot as far as its hand-over if the endpoint has one. Then:

  1. Unified Contact Center → Task Router → Tasks. A new task with your message’s channel is there. No task at all means the bot has no skill on its hand-over, or the endpoint is not receiving.
  2. The task’s events. TASK_CREATED, then an assignment — at once on an endpoint with no bot, within fifteen minutes on one with a bot. TASK_CREATED alone after that is a routing gap, and the first row of the table above names it.
  3. The conversation’s side-panels. Merge the test number with a customer you know. Their transactions appear. If they do not, the merge did not take.

Complete the test task when you are done. Nothing else will.

Read next

  • Core concepts — contact, customer, entity and agent; conversation, task, queue and rule.
  • Configuration — what must exist before the first message is routed.