Enable your agents to authenticate with any OAuth enabled provider and take actions. From Salesforce and HubSpot to Google and GitHub, we’ve got you covered with 16+ integrated services.
All the services you are authenticated into will be available as tools. So all you need to do is add the CrewaiEnterpriseTools to your agent and you are good to go.
Copy
Ask AI
from crewai import Agent, Task, Crewfrom crewai_tools import CrewaiEnterpriseTools# Get enterprise tools (Gmail tool will be included)enterprise_tools = CrewaiEnterpriseTools( enterprise_token="your_enterprise_token")# print the toolsprint(enterprise_tools)# Create an agent with Gmail capabilitiesemail_agent = Agent( role="Email Manager", goal="Manage and organize email communications", backstory="An AI assistant specialized in email management and communication.", tools=enterprise_tools)# Task to send an emailemail_task = Task( description="Draft and send a follow-up email to john@example.com about the project update", agent=email_agent, expected_output="Confirmation that email was sent successfully")# Run the taskcrew = Crew( agents=[email_agent], tasks=[email_task])# Run the crewcrew.kickoff()
from crewai_tools import CrewaiEnterpriseToolsenterprise_tools = CrewaiEnterpriseTools( actions_list=["gmail_find_email"] # only gmail_find_email tool will be available)gmail_tool = enterprise_tools["gmail_find_email"]gmail_agent = Agent( role="Gmail Manager", goal="Manage gmail communications and notifications", backstory="An AI assistant that helps coordinate gmail communications.", tools=[gmail_tool])notification_task = Task( description="Find the email from john@example.com", agent=gmail_agent, expected_output="Email found from john@example.com")# Run the taskcrew = Crew( agents=[slack_agent], tasks=[notification_task])
You can deploy your crew and scope each integration to a specific user. For example, a crew that connects to google can use a specific user’s gmail account.
This is useful for multi user organizations where you want to scope the integration to a specific user.
Use the user_bearer_token to scope the integration to a specific user so that when the crew is kicked off, it will use the user’s bearer token to authenticate with the integration. If user is not logged in, then the crew will not use any connected integrations. Use the default bearer token to authenticate with the integrations thats deployed with the crew.