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

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)