Generate a reply suggestion for the operator
An operator asks the AI Copilot to draft a reply to the current conversation; the suggestion is shown in the composer for the operator to accept, edit or dismiss — nothing is sent automatically.
When this happens: Operator clicks Suggest a reply in the conversation composer.
Step by step
- 1
Open a WhatsApp conversation and clicks Suggest a reply in the composer.
Assembles context scoped to the operator's own visibility. Calls
IAiCompletionClient.CompleteAsync. EasyCRM returns a drafted reply. EasyCRM runs the groundedness and forbidden-topic checks for display purposes — an ungrounded or flagged suggestion is still shown, annotated, never blocked (the operator decides, UC-28.7 BR-2). EasyCRM createsAiSuggestion(ConversationId,RequestedByUserId,Generate,Text,Pending) and recordsAiInteractionLog. Populates the composer with the suggestion text, editable, with Regenerate, Dismiss and the composer's own Send, which sends it unchanged or as edited.
Other paths
No prior draft in the composer
Click Suggest a reply with an empty composer — the suggestion replaces the empty draft (distinct from Rephrase, UC-28.17, which requires existing text).
If something goes wrong
Ai assistant disabled or channel not enabled
Preconditions fail. Suggest a reply is hidden or disabled with a tooltip explaining why. Error EasyCrm:Ai:Disabled if invoked directly.
Provider unavailable
The call times out or errors. EasyCRM shows: Couldn't generate a suggestion right now — try again No AiSuggestion with reply text is created; the failed attempt is still logged (AiInteractionLog, ProviderErrorCode set).
Good to know
- Copilot's only capabilities are generate, regenerate and improve/rephrase — no summarization, free-form Q&A, translation or profile extraction (BRD §3.9).
- Nothing reaches the customer until the operator explicitly sends it (UC-28.18, UC-28.19).
- The request runs under the operator's own visibility scope — an operator restricted to their own conversations gets suggestions bounded the same way (ADR-012).