Standard Operating Procedure — Agent Pulse feature documentation for support, QA, and engineering handoff.
This SOP documents the Recommended Actions feature in LiveChat. It covers:
This feature is intentionally implemented without a new backend service.
Frontend UI | +--> calls Supabase RPC directly when available | +--> falls back to client-side ranking if RPC is unavailable | +--> renders only the highest-signal actions for the current agent
Recommended Actions is a next-best-action widget for agents. It helps an agent decide:
The widget is shown in the LiveChat agent metrics/dashboard card. Current recommendation buckets:
Only non-empty buckets are shown.
Agents see a Recommended Actions card containing one or more sections. Each recommendation row includes:
Reply now, Act on click, Follow up, or FocusSend to To Do buttonThe contact is waiting on the agent. The most recent message is inbound and the agent has not replied. Sorted by unread count and wait time — your #1 priority.
The conversation is going silent. The agent sent the last message (24h–7d ago) but the contact hasn't replied. A well-timed follow-up can revive the chat.
The contact recently clicked a tracked SMS or email link. This is often the strongest short-term buying signal after a direct reply.
Strong engagement patterns — high message volume, lead score, or email opens — without falling into other buckets. Highly likely to convert.
Only contacts actively assigned to the current agent are considered. Source: livechat_contact_assignments_with_details
lead_scoreContacts are excluded from intent-based buckets when lead status is: DNC, CLOSED, NOT INTERESTED, APPOINTMENT SET, WON.
The system ignores opt-out style links (unsubscribe, opt-out, opt.customerconnects.app) to prevent false positives.
AGENT RECOMMENDED ACTIONS
Assigned contacts
|
+----------------------------+
| |
v v
Conversation signals Intent signals
- inbound/outbound - lead score
- unread count - SMS link clicks
- message counts - email opens/clicks
| |
+-------------+--------------+
|
v
Supabase RPC: get_agent_recommendations()
|
ranked rows by recommendation_type
|
v
frontend hook: useAgentRecommendations()
|
+-------------+-------------+
| |
| RPC available | RPC missing / unavailable
v v
use SQL-ranked rows use client-side fallback ranking
| |
+-------------+-------------+
|
v
AgentMetricsDashboard -> Recommended Actions card
| File | Purpose |
|---|---|
frontend/src/hooks/useAgentRecommendations.js | Fetches and groups recommendations, prefers RPC, falls back to client ranking |
frontend/src/components/livechat/AgentMetricsDashboard.js | Renders the Recommended Actions card and section UI |
supabase/migrations/20260315_create_agent_recommendations_rpc.sql | Supabase ranking logic and indexes |
Run the full SQL from: supabase/migrations/20260315_create_agent_recommendations_rpc.sql
Ensures the newest frontend bundle is loaded.
Open the LiveChat metrics/dashboard view that contains the Recommended Actions card.
Recommended Actions card renders on the dashboardRespond Now rows show reply-oriented copyClicked Link rows show click-oriented copyRe-Engage rows show silent/follow-up copyHigh Intent rows show engagement-oriented copySend to To Do creates a todo entry successfullyClicked Link recommendationsshort_link_clicksshortened_links.contact_idemail_events; older workspaces not yet backfilled may under-rank some contacts.