Actions and results

What each Omnichannel button and automatic behaviour does, with worked numbers and what the system refuses.

On this page (29)

Unified Inbox

ActionWhenWhat you doWhat happens
Open the inboxUser with omni.inbox.viewOmnichannel > Inbox > Unified InboxList loads (max 40), counts on every view, channel and segment; app first-use creates labels, support types, quick replies, SLA policies and the company AI setting
Views and countsConversations in several statesClick My Conversations, Unassigned, Waiting, Mentions, Starred, Archived; compare with countsEach list matches its count; archived and spam are not in Unified; Unassigned shows only open/waiting with no owner
SearchA conversation from +971501234567Type 4567, then the CNV number, then part of the messageEach search finds it within ~0.3 s of typing; clearing search restores the list
Advanced filtersMixed dataFilters: channel WhatsApp + SLA Overdue + Unread only; Apply; then ClearOnly matching rows; filter icon shows active; Clear removes all filters
Load more (cursor paging)More than 40 conversationsScroll down, press Load more twiceNext 40 each time, no duplicates, ordered by last message newest first
Live updateTwo browsers: agent A in the inbox; send a test message (Configuration > Accounts > Test message)Watch A's inbox without refreshingWithin ~2-4 s the conversation jumps to the top with unread badge; an open conversation reloads its thread

Conversation

ActionWhenWhat you doWhat happens
Open marks read / Mark unreadUnread conversationOpen it; then More > Mark unreadBadge clears on open; Mark unread puts badge 1 back
Reply on the conversation's channelWhatsApp conversation within 24 h, sandbox accountType a reply, SendBubble on the right with author and ticks; preview updated; first response time set; unread 0; audit omni.message.sent
24-hour WhatsApp windowWhatsApp conversation whose last customer message is > 24 h oldOpen it; try free text with Via template offBanner 'The 24-hour WhatsApp window is closed - send an approved template...'; Via template is on; free text refused with the 24-hour message; template send works
Send and resolve / Send and wait for customerOpen conversationSend menu > Send and resolve; on another: Send and wait for customerResolve: message sent and status Resolved. Wait: expected status Waiting for customer
Internal note and @mentionColleague username sara in the companyNote tab: '@sara please call him'; Add noteYellow note bubble 'Internal note · <me>', never sent to the customer; Sara gets 'X mentioned you in CNV-...' and sees it under Mentions
Send attachmentOpen conversationPaperclip > choose a 1 MB PDF with caption textDocument bubble with name, size and download; image/video/audio render inline
Failed message and retryLive account with a wrong token (sandbox test account needed) or an inactive accountSend a replyBubble 'Not sent: <platform error>' with Retry; Retry resends; other channels unaffected; account last error shown in Accounts
Assign / Take / Transfer / Watch / Staromni.assign for Assign/TransferAssign to Sara; More > Take conversation; Transfer to team with note; Watch; StarOwner changes; Sara notified 'Conversation assigned to you'; Transfer clears owner then re-routes; hand-over note stored internal; watch/star toggle; each writes Recent Activity
Status, label, priority, AI modeOpen conversationStatus menu: label Qualified; Status: Waiting internal; More > Priority Urgent; AI offHeader shows the new label/status; priority restarts SLA; AI off disables the assistant panel ('The assistant is off for this conversation.')
Resolve, archive, spam, reopenomni.resolveResolve; Reopen; Archive; Mark as spam; ReopenResolved stamps resolved time and service status; archive/spam clear SLA and move to Archived/Spam; open notifications for it are resolved; Reopen returns to Open
Block / Unblock contactomni.resolveQuick Actions > Block Contact; try to reply; UnblockAll the contact's open conversations become Spam; reply refused 'This contact is blocked. Unblock them to reply.'; after Unblock the conversations stay Spam (reopen by hand - note)
Create Leadomni.lead.create; CRM installedConvert > Create Lead > CreateCRM lead created (source = channel, contact name/phone/email, tags, campaign); 'Created LEAD-... in CRM' with Open in CRM; second time says 'Already linked'; Related Records Leads +1; owner notified 'Lead created from a conversation'
Create Opportunityomni.opportunity.createConvert > Create Opportunity with value 52000 and close dateLead created if missing then qualified to an opportunity (CRM qualify); label Qualified; Open in CRM goes to /crm/pipeline
Create Quotation / Sales Orderomni.quotation.create; products with pricesConvert > Create Quotation, add 2 lines; then Create Sales Order with linesDraft quotation linked to the opportunity (customer created if none); Sales order = quotation confirmed and a draft delivery raised; label Customer; Related Records counts update
Create Support Ticket / Schedule Follow Upomni.replyCreate Support Ticket (Warranty, High); Schedule Follow Up (Call, tomorrow)Ticket TCK-xxxxx in Support Tickets with due +48 h, label Support; follow-up task on the lead (or conversation) and activity 'Follow up scheduled for <date>'
Contact panel: outstanding balanceCustomer partner with posted invoices; user with document.view / report.view / payment.recordOpen the conversation as that user and as a plain agentOutstanding (and overdue) AED shown only to users with those rights

Inbound pipeline

ActionWhenWhat you doWhat happens
Inbound message creates contact and conversationSandbox WhatsApp accountConfiguration > Accounts > Test message: Ahmed Hassan, +971501234567, 'price for 20 laptops?'New contact (WhatsApp, external id 971501234567), conversation CNV-xxxxx, message in thread, label New Lead (or Customer if the phone matches a partner), SLA 'Due in 5 min', activity 'Conversation started'
Contact matching across formatsContact +971 50 123 4567 existsSend a test message from 971501234567 and another from 0501234567 style (same last 9 digits)Same contact and same WhatsApp conversation reused; no duplicate contact
Match to existing customer / open leadPartner with phone +971501112233 and an open CRM lead with email lead@example.comTest messages from those phone / emailContact linked to the partner (label Customer, customer type customer) or to the open lead (customer type lead, owner and potential value copied)
Webhook dedupe (same body)Sandbox account without secret (or live with test signature)POST the same JSON body twice to the account's Callback URLFirst: {ok, status processed, stored 1}; second: {status duplicate, stored 0}; Webhooks screen lists the delivery once
Message dedupe (same message id)As FN-011POST two different bodies carrying the same messages[].idMessage stored once; second delivery processed with stored 0
Delivery receipts move forward onlyOutbound message with external id XPOST statuses: read, then delivered, then sent for XStatus ends 'read' (never goes back); delivered/read times set; failed with error marks failed
Customer reply reopensConversation Resolved / Archived / Waiting for customerSend a test message from that customerStatus back to Open, Resolved at cleared, activity 'Conversation reopened by the customer'. A Spam conversation stays Spam
Blocked contact is ignoredContact blockedSend a test message from that contactNothing new in the thread (message dropped); webhook still answered 200

Routing

ActionWhenWhat you doWhat happens
Routing rule wins first matchRules: #10 channel = WhatsApp -> team Sales UAE; #20 language = ar -> team ArabicTest message on WhatsAppTeam Sales UAE; activity 'Assigned to ...' if auto-assigned; the lower Order number is evaluated first
Conditions: contains / is one of / VIP / business hoursRules with product contains 'laptop|printer', country is one of 'AE,SA', vip = yes, business_hours = noSend messages that match and do not matchOnly matching messages take the rule; 'contains' splits on |, 'is one of' splits on commas; business hours use the Integration Settings hours and UTC offset (default +4)
Account default team and contact ownerNo rule matches; account has Default team; contact has an ownerTest messageTeam = account default; owner = contact's owner ('Assigned to the contact's owner')
Round robin / Least busy auto-assignTeam with 3 members, Auto-assign on; strategy Round robin, then Least busySend 6 test messages from different numbersRound robin cycles through members; Least busy picks the member with fewest open/waiting conversations; Manual strategy also cycles (no 'manual' branch - note)

SLA

ActionWhenWhat you doWhat happens
First-response SLA clockWhatsApp policy 5 min (default)Send a test message; wait; reply after 6 minutesChip 'Due in 5 min', then 'Overdue 1 min'; reply stops the clock; conversation keeps 'SLA breached'; Response SLA report counts the breach
Policy choice: account > channel+priority > channel > defaultAccount SLA 0, policy WhatsApp+High 2 min, policy WhatsApp 5 minSet priority High on a new conversation (More > Priority: High)Due time recalculated to 2 min; account First response SLA (if > 0) overrides all policies
SLA warning notificationNotification rule 'SLA about to breach' onLeave a conversation unanswered until 5 min before dueOwner (or team members / omni.assign holders) get 'SLA about to breach: CNV-...' in the bell; after due 'SLA breached'

AI Assistant

ActionWhenWhat you doWhat happens
Suggest reply and Use This Replyomni.ai.use; no AI model (built-in rules) or an AI model set in the AI appOpen a conversation with 'price for 20 laptops'; Suggest Reply; Use This Reply; edit and SendSuggestion with prices from matching products (only if 'Give approved prices' allowed); engine label shows 'Built-in rules' or the model; AI audit logs proposed + reply_used / reply_edited
Summarize, Extract, Qualify, Sentiment, Next Best Action, TranslateAs FN-038Run each modeExtract/Qualify fill the qualification (Leads > Qualification shows product, qty, temperature, score); Sentiment sets the conversation sentiment; Next Best Action shows a button that opens the matching dialog; Translate without a model says it needs the AI model

Chatbot / AI auto

ActionWhenWhat you doWhat happens
Bot and AI auto reply on inboundActive chatbot for WhatsApp with intent 'price|cost | Our sales team will send prices | Sales, Support | handoff' and hand-off team; another company with AI mode 'auto'Send a test message 'what is the cost?'Bot answers with the reply and up to 3 buttons, author = bot name, conversation handed to the team; without a bot, AI auto reply sends only if confidence >= the setting's Auto-reply confidence (default 80) else logs 'held'

Lead Inbox

ActionWhenWhat you doWhat happens
Add a manual lead and auto-convertomni.lead.create; CRM installedLead Inbox > Add lead: Fatima Ali, fatima@example.com, +971552223344, Source ManualRow appears under Converted with CRM lead number; CRM lead source 'Manual'; a second Add with the same email links to it (status Duplicate, note 'Linked to open lead LEAD-...')
Lead ad webhook to CRM lead with attributionFacebook account (sandbox) and a lead form with Platform form id 111 and campaignPOST to the account callback {"leads":[{"id":"L1","form_id":"111","fields":{"full_name":"Omar Khan","email":"omar@example.com","phone_number":"+971503334455"}}]}Submission in Lead Inbox; with Auto-convert on it becomes a CRM lead 'Facebook Lead Ads - Omar Khan' with the campaign; repeat post with the same id is ignored; Lead Ads 'Leads' count +1
Reject / convert laterForm with Auto-convert offPost a lead; Reject (X); open Rejected; ConvertRejected with note 'Not a lead'; a rejected submission can still be converted; a converted one -> 'This submission has already been converted.'

Lead Ads

ActionWhenWhat you doWhat happens
Welcome WhatsApp template after conversionForm with WhatsApp welcome template (approved, utility) and a WhatsApp accountPost a lead with a phoneA WhatsApp conversation (Waiting for customer, label New Lead) is created with the template sent to the lead; marketing template without opt-in is skipped silently but the lead stands

Conversion Rules

ActionWhenWhat you doWhat happens
Lead strategiesTest account; change the strategy each timeCreate immediately / After first reply / After a price request / After contact details / After AI qualification / Manual only; send test messagesLead made: at the first message; after the first agent reply; only when a price word appears; when an email or phone appears; when qualification intent = purchase; never automatically. Support-labelled conversations never become leads automatically
Per-account overrideTwo accountsSet account A = Manual only, company default = Create immediately; send to bothOnly account B's conversation gets a lead

Lead Sources

ActionWhenWhat you doWhat happens
Add sources from the specificationomni.configureAdd one chip, then Add allSources added to CRM's source master; the chips disappear; Leads (90 days) counts by source name

Qualification

ActionWhenWhat you doWhat happens
AI qualify from the boardOpen lead conversationsPress AI qualify on a rowProduct, qty, location, urgency, intent, temperature (hot >= 70, warm >= 45, cold), score filled; 'hot' moves label New Lead -> Interested

Social Leads

ActionWhenWhat you doWhat happens
Open CRM lead and chatLeads from channelsClick a row; click ChatRow opens /crm/leads/<number> (opportunity: /crm/pipeline/...); Chat opens the conversation

Posts

ActionWhenWhat you doWhat happens
Create and submit a postomni.social.create; a sandbox Facebook and Instagram accountNew post: both channels, caption, hashtags, 1 image; Save draft; Submit for approvalPOST-xxxxx Draft then Pending approval; preview tab per platform; approval steps Marketing Manager -> Brand Review (-> Legal Review if ticked)
Author cannot approve; step-by-step approvalAuthor A, approver B (omni.social.approve)A presses Approve; B approves each stepA refused 'The author cannot approve their own post.'; each Approve signs the next pending step (name and time shown); after the last step: Approved (or Scheduled if a time is set and 'Publish as soon as approved' is off)
Reject returns to draftPending postB: note 'Change the image', RejectStatus Draft; banner 'Returned: Change the image'; author edits and resubmits (approval restarts)
Publish now, channel by channelApproved post on 2 channels, one channel broken (inactive / live with bad token)Publish nowEach channel has its own status, link and error; post Published if at least one channel succeeded, Failed (notification 'Post failed to publish') if none
Schedule and the schedulerApproved post; scheduler running on stagingUntick Publish as soon as approved; Schedule 10 minutes ahead; waitStatus Scheduled; published by the clock (every 30 s) at the time - expected at the Dubai time entered; Unschedule returns to Approved
Editing an approved / scheduled postApproved postChange the caption; Save draftPost goes back to Draft and approvals are cleared (must be re-approved); Pending / Published posts cannot be edited ('A post under review or published cannot be edited.')
Duplicate, refresh metrics, archivePublished postDuplicate; Refresh metricsCopy '... (copy)' in Draft with the same channels; metrics refresh pulls comments (live accounts)

Calendar

ActionWhenWhat you doWhat happens
Month / week / list / by campaign / by platformScheduled and published postsSwitch the five modes; Previous / Next / Today; click an eventPosts on their day; click opens the composer

Comments

ActionWhenWhat you doWhat happens
Comment ingest and dedupeFacebook sandbox accountPOST {"comments":[{"id":"C1","post_id":"P1","from":{"id":"u1","name":"Mona"},"text":"Price please?"}]} twiceOne Open comment by Mona with sentiment; the second post is ignored
Reply, like, hide, assign, tag, closeOpen commentReply 'Sent you a DM'; Like; Hide; Show; Assign to Sara; Tag 'price'; CloseReplied (reply text shown); Liked disabled after; Hidden/Open toggles; assigned name shown; tag on the button; Closed tab
Create lead / ticket from a commentomni.lead.createCreate Lead; Create TicketCRM lead '<Channel> comment - Mona' (button turns 'Lead created'); complaint ticket TCK-... (button disabled)

Engagement / Social Analytics

ActionWhenWhat you doWhat happens
Metrics per accountLive accounts with analytics (Meta / LinkedIn / YouTube test accounts needed - Blocked if unavailable)Open Engagement 7 / 30 / 90 daysKPI totals equal the sum of the table; sandbox accounts show 0 (metrics fetched daily from live accounts only)

Media Library

ActionWhenWhat you doWhat happens
Upload, edit, deleteomni.social.createUpload 2 images and 1 PDF; open one, add tags 'brand, oct'; Delete an unused item; try to delete one used by a postThumbnails and used counts; changes saved; used item refused with the post numbers

Brand Assets

ActionWhenWhat you doWhat happens
Brand uploads-Content > Brand Assets > Upload a logoItem marked Brand asset and listed only there and in the main library

AI Content Studio

ActionWhenWhat you doWhat happens
Generate copyomni.ai.useWrite a Caption, English, Instagram, About 'New Dell laptops for offices'; Generate; Use from the composerCopy shown (built-in template with #UAE #Dubai when no model); Use fills the caption

WhatsApp Templates

ActionWhenWhat you doWhat happens
Create, submit, sync, clone, archiveomni.whatsapp.template; WhatsApp account (sandbox; live needs a Meta WhatsApp Business test account)Create 'promo_oct' Marketing; Preview; Submit; Sync; Clone; Archive the cloneSandbox: Approved immediately; live: Pending until Sync returns Approved/Rejected (rejection reason shown; 'Template rejected' notification); clone 'promo_oct_copy' Draft; archived hidden from senders

WhatsApp Broadcasts

ActionWhenWhat you doWhat happens
Consent check per recipientMarketing installed; audience of 3 with phones: 1 opted in, 1 opted out, 1 no record; Marketing templateNew broadcast > Send nowSent 1, No consent 2; Recipients list shows 'skipped' with the reason per person; without Marketing every marketing recipient is skipped 'Install the Marketing app to record consent...'
Utility broadcast to tagged contactsUtility template; 2 WhatsApp contacts tagged 'vip' (one blocked)Tags 'vip', {{1}} = {name}, Send nowOnly the non-blocked contact receives it with their name; conversation created as Waiting for customer; counts Sent / Delivered / Read / Replies update as receipts and replies arrive
Schedule and cancelDraft broadcastSet a schedule 10 min ahead > Schedule; then Cancel another scheduled oneStatus Scheduled; the clock sends it at the time; Cancel -> Cancelled; a sent one cannot be changed ('Only a draft or scheduled broadcast can be changed.')

WhatsApp Flows

ActionWhenWhat you doWhat happens
Create and send a flowomni.whatsapp.templateNew flow with 2 screens, Status published; in a WhatsApp conversation send it (API POST .../conversations/<id>/flow)Flow listed with 2 screens; interactive message in the thread titled with the first screen; a draft flow -> 'Choose a published flow.'

WhatsApp Calls

ActionWhenWhat you doWhat happens
Start and log a callWhatsApp conversation; sandbox accountChannel Actions > Start Voice Call; WhatsApp > Calls > open the call > Log callCall row Requested / out with the agent; activity 'Voice call started'; Log creates a done CRM call task 'WhatsApp call (N min)' and 'Logged in CRM' tick

WhatsApp Catalog

ActionWhenWhat you doWhat happens
Add, sync, send catalogomni.configure; products with pricesAdd 2 products; Sync to WhatsApp; in a conversation Send Catalog with bothItems Pending then Synced; message 'Catalog: 2 product(s)'; price is the product master price

Omnichannel Dashboard

ActionWhenWhat you doWhat happens
KPIs match the dataKnown test data in the periodOpen the dashboard 7 / 30 days; compare counts with the inbox, CRM and SalesNew / open conversations, unread, SLA breaches, leads, opportunities, revenue match; campaign spend 'Marketing not installed' when absent

Agent Performance / Response SLA

ActionWhenWhat you doWhat happens
Agent and SLA figuresTwo agents with replies, one breachOpen both reportsAssigned, resolved, messages, response minutes and compliance per agent; SLA per channel with target and breaches; Due now list opens conversations; Customer rating is blank

Lead Analytics / Funnel / Channel Dashboard

ActionWhenWhat you doWhat happens
Grouping and funnelLeads from several sourcesLead Analytics by Source, Platform, Campaign, Channel, Owner, Country, Product; open Funnel and Channel DashboardGroups add up to the total; funnel steps decrease with rates; channel rows show response time and leads

Campaigns / Automation / ROI menus

ActionWhenWhat you doWhat happens
Marketing screens inside OmnichannelCompany with and without Marketing installedOpen each Campaigns, Automation (Rules, Journeys, Triggers, Scheduled) and Analytics (ROI, Attribution) entry and Configuration > ConsentWith Marketing: the Marketing screen opens; without: a 'needs the Marketing app' card - never a blank page