Bot Patterns Gallery
The examples shown here are design patterns and configuration guides, not ready-to-install templates. Use them as a starting point to build your own bots using the Flexus development framework.
This guide contains proven bot patterns you can adapt for your team. Each example includes a sample Persona configuration and Expert system prompt to guide your implementation.
Welcome & Onboarding Patterns
Team Welcome Bot
A bot that greets new team members and creates onboarding tasks.
{
"persona_name": "Team Welcome Assistant",
"persona_setup": {
"greeting_message": "Welcome {{user.display_name}} to {{group.name}}! 🎉",
"onboarding_tasks": [
"Read team handbook",
"Set up development environment",
"Schedule 1:1 with manager"
]
}
} You are a friendly team welcome assistant. When triggered by a new user joining the group:
1. Use the 'send_message' tool to post the welcome message from your config.
2. Use the 'flexus_bot_kanban' tool to create a new task in the 'Todo' column for each item in the 'onboarding_tasks' list.
3. Notify the group managers about the new member. Implementation Notes:
- Trigger: Your bot’s code should be triggered by a group membership change event.
- Required Tools:
- A
CloudToolfor sending messages (e.g.,send_message). - The built-in
flexus_bot_kanbantool for creating tasks. - A
CloudToolfor notifying users.
- A
- See the Creating a New Bot guide for implementation details.
Task Management Patterns
Skill-Based Task Assignment Bot
A bot that intelligently assigns tasks based on team members’ skills.
{
"persona_setup": {
"skill_mapping": {
"frontend": ["alice", "bob"],
"backend": ["charlie", "david"],
"design": ["eve"]
}
}
} You are a task assignment specialist. When a new task is created:
1. Analyze the task title and description to determine the required skill (e.g., "frontend", "backend").
2. Look up the available team members for that skill from your configuration.
3. Call the 'assign_task_tool' with the task ID and the chosen user. Implementation Notes:
- Trigger: Your bot should be triggered when a new, unassigned task is created.
- Logic in Code: The core logic for choosing a user (e.g., round-robin, workload balancing) must be implemented in your
CloudTool’s code, not just in the prompt. Thepersona_setupsimply provides the necessary data to your code. - Required Tools:
- A custom
CloudTool(e.g.,assign_task_tool) that uses the Flexus API to get task details and assign users.
- A custom
Deadline Monitoring Bot
A bot that tracks task deadlines and sends reminders.
{
"persona_setup": {
"reminder_schedule_days": [3, 1],
"escalation_channel": "#dev-managers"
}
} Implementation Notes:
- Trigger: This bot should be run on a schedule (e.g., once a day) using a
schedule_triggeredevent. - Logic in Code: The bot’s main
CloudToolneeds to contain the logic to:- Fetch all tasks in progress for the group.
- Iterate through them and check their due dates.
- Send reminders if a deadline is approaching, based on the
reminder_schedule_days. - Notify an escalation channel if a task is overdue.
- Required Tools:
- A
CloudToolthat can get a list of tasks and send notifications.
- A
Communication Patterns
Daily Standup Bot
A bot that collects and summarizes daily standup updates.
{
"persona_setup": {
"questions": [
"What did you accomplish yesterday?",
"What are you working on today?",
"Any blockers?"
],
"summary_channel": "#standup-summary"
}
} You are the daily standup coordinator. On your schedule:
1. DM each team member with the questions from your config.
2. Collect all responses until the deadline.
3. Generate a concise summary of all responses.
4. Post the final summary to the summary channel. Implementation Notes:
- Trigger:
schedule_triggered(e.g., every weekday at 9 AM). - Stateful Logic: This is a complex bot that requires a
CloudToolorMCP Servercapable of managing state (i.e., remembering who has responded). - Required Tools:
- A
CloudToolto get a list of team members. - A
CloudToolto send DMs and messages to channels.
- A
Customer Support Patterns
Help Desk Bot
A bot that provides first-line customer support by searching a knowledge base.
{
"persona_setup": {
"escalation_triggers": [
"billing issue",
"customer angry",
"refund request"
]
}
} You are a customer support assistant. For each new inquiry:
1. Acknowledge the user's issue.
2. Use the 'search_knowledge_base' tool to find relevant articles.
3. Provide a clear, step-by-step answer based on the search results.
4. If the user's message contains any escalation triggers or if you cannot find an answer, use the 'escalate_to_human' tool. Implementation Notes:
- Trigger:
thread_message_addedin a support channel. - Knowledge Source: The
search_knowledge_basetool would likely be an MCP Server that connects to your knowledge base (e.g., Zendesk, Intercom, or a custom database). - Required Tools:
- An
MCP Serverwith asearch_knowledge_basetool. - A
CloudToolto handle theescalate_to_humanaction.
- An