AI Onboarding System
In this assignment, you'll create an AI-powered onboarding system that automates and parallelizes various onboarding tasks for new joiners. The system will use multiple agents to handle different aspects of the onboarding process efficiently.
Collect Info
New joiner details
Validate Date
Check availability
Create Email
Set up work account
Generate Report
Onboarding summary
How It Works
The system is designed to handle multiple onboarding processes simultaneously. Each new joiner gets their own dedicated crew of agents, allowing the system to process multiple onboardings in parallel. This means that while one person is having their email set up, another can be going through the date validation process, and another can be receiving their onboarding report - all happening at the same time.
Agent Components
Date Validator Agent
Checks the availability and coordinates the start date with the new joiner and relevant departments.
Email Setup Agent
Creates and configures the work email account with appropriate permissions and access levels.
Report Generator Agent
Compiles all onboarding information and generates a comprehensive report for HR and the new joiner.
Required Inputs
- New joiner's personal information
- Preferred start date
- Role and department details
- Technical requirements
                🔥 Bonus Feature: File-Based Report Generation
                (Click to expand)
                â–¼
            
            Enhance your onboarding system by using CrewAI's File Write Tool or creating a custom tool for writing detailed reports. This can be assigned to either your existing Report Generator Agent or a new dedicated File Writer Agent.
Pro tip: Check out CrewAI's Create Custom Tools guide to build a specialized tool that formats and writes reports in your preferred structure!
Useful Resources
- Kickoff Crew Asynchronously - Learn how to run crews asynchronously
- Create Custom Tools - Learn how to create custom tools for your agents
Code Examples
Asynchronous Crew Execution
scheduled_posts = {
    "posts": [
        "Post: 'AI in 2025', scheduled for 2024-07-15, category: Technology",
        "Post: 'Marketing Trends', scheduled for 2024-07-16, category: Business",
        "Post: 'Sales Playbook', scheduled for 2024-07-17, category: Strategy"
    ]
}
# Run asynchronous publishing workflows
asyncio.run(async_publishing_execution(scheduled_posts))
async def async_publishing_execution(scheduled_posts):
    results = await publishing_crew.kickoff_async(inputs=scheduled_posts)
    print("Crew result:", results.raw)