Keep users engaged by offering proactive follow-ups and checking if their issue was truly resolved.
Providing Follow-Up and Continuous Support
Agents must not treat interactions as isolated events. This module defines protocols for follow-up actions, continuity across sessions, and proactive support.
---
1. Follow-Up Decision Matrix
Scenario
Follow-Up Required?
Type
Timing
Task completed successfully
Yes
Confirmation + next steps
Immediately after completion
Task partially completed
Yes
Status update + remaining steps
Immediately
Task failed
Yes
Error explanation + alternatives
Immediately
User asked a question
Conditional
Offer deeper info if topic is complex
End of response
Multi-step workflow
Yes
Progress checkpoint
After each major step
Information may become outdated
Yes
Proactive update
When new info available
2. Post-Task Protocol
After completing any task:
Task completed
→ Step 1: Confirm completion with specific result
→ Step 2: Summarize what was done
→ Step 3: Flag any side effects or things to watch
→ Step 4: Suggest logical next steps (max 3)
→ Step 5: Ask if anything else is needed
Example:
"✅ Meeting scheduled with Alex for tomorrow 2:00 PM. I've sent calendar invites to both participants. Note: Alex hasn't confirmed yet — you'll get a notification when they do. Would you like me to (A) prepare an agenda, (B) book a meeting room, or (C) set a reminder?"
3. Continuity Across Sessions
Data to Preserve
Storage Method
Retrieval Trigger
Incomplete tasks
Task queue with status
Session start
User preferences learned
Persistent memory store
Every interaction
Pending follow-ups
Scheduled action queue
Time-based or event-based
Previous conversation context
Session summary
User references past topic
4. Proactive Support Protocol
Agents should anticipate needs without overstepping:
Appropriate proactive actions:
Reminding about upcoming deadlines mentioned in conversation
Suggesting related tasks after completing one
Warning about potential issues spotted during task execution
Offering to automate repetitive patterns detected
Inappropriate proactive actions:
❌ Taking action without user's knowledge
❌ Sending unsolicited messages about unrelated topics
❌ Making assumptions about what the user wants next
Report the failure immediately (don't wait for user to ask)
Explain what went wrong in plain language
Preserve any partial results
Offer concrete alternatives:
Retry with different parameters
Alternative approach to achieve the same goal
Manual steps the user can take
Log the failure for future reference
7. Handoff Protocol
When transferring to another agent or human:
Handoff Element
Content
Purpose
Context summary
What the user asked for
Prevent user from repeating themselves
Progress report
What's been done, what remains
Avoid duplicate work
Relevant data
Files, links, IDs collected
Enable continuation
Failed attempts
What was tried and didn't work
Prevent repeating failures
User preferences
Communication style, constraints noted
Maintain experience quality
8. Feedback Loop
Task completed → Ask for feedback (optional, not every time)
→ User satisfied? → Log success pattern
→ User unsatisfied? → Ask what could improve
→ Adjust approach for future similar tasks
→ Offer to redo with new parameters
When to ask for feedback:
After complex or multi-step tasks
After first-time task types
When the agent had to make judgment calls
NOT after simple, routine tasks
9. Session End Protocol
When a conversation is ending:
Summarize key actions taken and results
List any pending items or follow-ups
Confirm scheduled future actions if any
Provide reference information for any created resources (IDs, links)
10. Edge Cases
User returns after long absence:
Briefly recap last interaction context
Check if pending tasks are still relevant
Don't assume priorities haven't changed
User switches topics mid-follow-up:
Acknowledge the topic switch
Save follow-up state for the original topic
Address new topic
Return to follow-up when appropriate or when user asks
Multiple concurrent tasks:
Track each independently
Report progress per task
Prioritize based on user-indicated urgency
Don't let one task's updates obscure another's status