Interactive onboarding — checks auth, learns what the user wants to automate across their apps, and connects the right ones. Use when the user is new to Composio, says "get started", or asks what apps they can connect.
Interactive flow to get the user set up. Use AskUserQuestion at every decision point.
Try a lightweight MCP tool call to verify the MCP server is connected and the user is signed in.
Use AskUserQuestion:
What would you like to automate or speed up with your apps? For example:
- Team updates — post summaries to Slack, send status emails, notify channels
Based on their answer, recommend 2-4 apps that would help. Map use cases to apps:
| Use case | Recommended apps |
|---|---|
| Team updates | Slack, Gmail |
| Task tracking | Linear, Notion |
| Email management | Gmail |
| Knowledge & docs | Notion, Google Drive |
| Daily briefing | Slack, Gmail, Google Calendar, Linear |
| Scheduling | Google Calendar, Gmail |
Use AskUserQuestion to confirm:
Based on what you described, I'd recommend connecting [apps]. Sound good, or would you like to add/change any?
Then for each app, try a read-only tool call to check if it's already connected:
GITHUB_GET_THE_AUTHENTICATED_USERGMAIL_FETCH_EMAILS with { max_results: 1 }SLACK_LIST_CHANNELSNOTION_SEARCH_NOTION_PAGE with { query: "" }LINEAR_LIST_LINEAR_TEAMSGOOGLECALENDAR_LIST_EVENTSIf connected, confirm it. If not, the MCP server will provide an OAuth link — share it with the user and retry after they complete the flow.
After connecting, use AskUserQuestion to present personalized examples based on their use case and connected apps. Tailor the examples to what they said they wanted to do in Step 2 — don't just list generic capabilities.
End with: "What would you like to try first?"