Close
Category: Integrations
Overview
The Close node terminates the bot session and resolves the conversation. After Close fires, the contact must trigger the recipe again (via keyword or external event) to start a new session. Use it for clean endings — successful task completion, declined service, off-hours dismissals.
A CSAT survey or post-resolution disposition is not configured inside Close itself — those are separate nodes you wire upstream. See CraftBot CSAT for the survey node.
When to use
- Successful completion (“Your appointment is booked, see you Thursday!”).
- Declined-by-bot paths (“Sorry, this isn’t something I can help with — try again later”).
- Out-of-hours auto-close after a callback promise.
Ports
| Port | Direction | Description |
|---|---|---|
in | input | Receives the flow from the previous node. Terminal — no output ports. |
Configuration
Closing message (EN / AR)
Optional. If filled, the bot sends this message to the customer just before closing. Leave blank to close silently. Variable interpolation ({{scope.var}}) is supported.
Close reason
A drop-down with three options that tag the conversation when closed:
- Resolved by bot — the bot completed the request successfully.
- Not relevant — the inbound was off-topic or out of scope.
- User satisfied — explicit user-confirmed completion.
The close reason is recorded on the conversation and reaches the supervisor dashboard and analytics.
Common patterns
Success ending with CSAT
Final Message (“All set!”) → CraftBot CSAT (form_id=…) → Close (resolved_by_bot). The CSAT node delivers the survey; Close cleans up the session afterward.
Silent off-hours dismissal
Business Hours? → closed branch → Close (not_relevant). No closing message; the conversation is filed away quietly.
Closing message with a follow-up CTA
Set Closing message (“We’re closing this chat — reply HELP any time to start over”) → Close (resolved_by_bot).
Limits & validation
- Terminal node — anything wired after Close will never run.
- Close writes a
system_eventbanner (“Conversation closed by Bot” / “تم إغلاق المحادثة بواسطة البوت”) into the conversation timeline so supervisors see exactly when and why the bot ended the session.
Troubleshooting
Customer keeps replying after Close fires.
Replies after Close are delivered to the inbox (no bot session is running). Configure a re-entry keyword on the recipe’s Triggers tab if you want the same recipe to re-trigger on the next inbound.
I expected CSAT but it never delivered.
CSAT is not configured inside Close. Wire a CraftBot CSAT node upstream of Close. Make sure a CSAT form is selected on that node — leaving the form ID blank causes the runtime to skip the survey silently.