mirror of
https://github.com/crewAIInc/crewAI.git
synced 2025-12-16 04:18:35 +00:00
* docs(cli): document device-code login and config reset guidance; renumber sections * docs(cli): fix duplicate numbering (renumber Login/API Keys/Configuration sections) * docs: Fix webhook documentation to include meta dict in all webhook payloads - Add note explaining that meta objects from kickoff requests are included in all webhook payloads - Update webhook examples to show proper payload structure including meta field - Fix webhook examples to match actual API implementation - Apply changes to English, Korean, and Portuguese documentation Resolves the documentation gap where meta dict passing to webhooks was not documented despite being implemented in the API. * WIP: CrewAI docs theme, changelog, GEO, localization * docs(cli): fix merge markers; ensure mode: "wide"; convert ASCII tables to Markdown (en/pt-BR/ko) * docs: add group icons across locales; split Automation/Integrations; update tools overviews and links
187 lines
5.6 KiB
Plaintext
187 lines
5.6 KiB
Plaintext
---
|
|
title: Integrations
|
|
description: "Connected applications for your agents to take actions."
|
|
icon: "plug"
|
|
mode: "wide"
|
|
---
|
|
|
|
## Overview
|
|
|
|
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.
|
|
|
|
<Frame>
|
|

|
|
</Frame>
|
|
|
|
## Supported Integrations
|
|
|
|
### **Communication & Collaboration**
|
|
- **Gmail** - Manage emails and drafts
|
|
- **Slack** - Workspace notifications and alerts
|
|
- **Microsoft** - Office 365 and Teams integration
|
|
|
|
### **Project Management**
|
|
- **Jira** - Issue tracking and project management
|
|
- **ClickUp** - Task and productivity management
|
|
- **Asana** - Team task and project coordination
|
|
- **Notion** - Page and database management
|
|
- **Linear** - Software project and bug tracking
|
|
- **GitHub** - Repository and issue management
|
|
|
|
### **Customer Relationship Management**
|
|
- **Salesforce** - CRM account and opportunity management
|
|
- **HubSpot** - Sales pipeline and contact management
|
|
- **Zendesk** - Customer support ticket management
|
|
|
|
### **Business & Finance**
|
|
- **Stripe** - Payment processing and customer management
|
|
- **Shopify** - E-commerce store and product management
|
|
|
|
### **Productivity & Storage**
|
|
- **Google Sheets** - Spreadsheet data synchronization
|
|
- **Google Calendar** - Event and schedule management
|
|
- **Box** - File storage and document management
|
|
|
|
and more to come!
|
|
|
|
## Prerequisites
|
|
|
|
Before using Authentication Integrations, ensure you have:
|
|
|
|
- A [CrewAI Enterprise](https://app.crewai.com) account. You can get started with a free trial.
|
|
|
|
|
|
## Setting Up Integrations
|
|
|
|
### 1. Connect Your Account
|
|
|
|
1. Navigate to [CrewAI Enterprise](https://app.crewai.com)
|
|
2. Go to **Integrations** tab - https://app.crewai.com/crewai_plus/connectors
|
|
3. Click **Connect** on your desired service from the Authentication Integrations section
|
|
4. Complete the OAuth authentication flow
|
|
5. Grant necessary permissions for your use case
|
|
6. All set! Get your Enterprise Token from your [CrewAI Enterprise](https://app.crewai.com) in **Integration** tab
|
|
|
|
<Frame>
|
|

|
|
</Frame>
|
|
|
|
### 2. Install Integration Tools
|
|
|
|
All you need is the latest version of `crewai-tools` package.
|
|
|
|
```bash
|
|
uv add crewai-tools
|
|
```
|
|
|
|
## Usage Examples
|
|
|
|
### Basic Usage
|
|
<Tip>
|
|
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.
|
|
</Tip>
|
|
|
|
```python
|
|
from crewai import Agent, Task, Crew
|
|
from crewai_tools import CrewaiEnterpriseTools
|
|
|
|
# Get enterprise tools (Gmail tool will be included)
|
|
enterprise_tools = CrewaiEnterpriseTools(
|
|
enterprise_token="your_enterprise_token"
|
|
)
|
|
# print the tools
|
|
print(enterprise_tools)
|
|
|
|
# Create an agent with Gmail capabilities
|
|
email_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 email
|
|
email_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 task
|
|
crew = Crew(
|
|
agents=[email_agent],
|
|
tasks=[email_task]
|
|
)
|
|
|
|
# Run the crew
|
|
crew.kickoff()
|
|
```
|
|
|
|
### Filtering Tools
|
|
|
|
```python
|
|
from crewai_tools import CrewaiEnterpriseTools
|
|
|
|
enterprise_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 task
|
|
crew = Crew(
|
|
agents=[slack_agent],
|
|
tasks=[notification_task]
|
|
)
|
|
```
|
|
|
|
## Best Practices
|
|
|
|
### Security
|
|
- **Principle of Least Privilege**: Only grant the minimum permissions required for your agents' tasks
|
|
- **Regular Audits**: Periodically review connected integrations and their permissions
|
|
- **Secure Credentials**: Never hardcode credentials; use CrewAI's secure authentication flow
|
|
|
|
|
|
### Filtering Tools
|
|
On a deployed crew, you can specify which actions are avialbel for each integration from the settings page of the service you connected to.
|
|
|
|
<Frame>
|
|

|
|
</Frame>
|
|
|
|
|
|
### Scoped Deployments for multi user organizations
|
|
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.
|
|
|
|
<Tip>
|
|
This is useful for multi user organizations where you want to scope the integration to a specific user.
|
|
</Tip>
|
|
|
|
|
|
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.
|
|
|
|
<Frame>
|
|

|
|
</Frame>
|
|
|
|
|
|
|
|
### Getting Help
|
|
|
|
<Card title="Need Help?" icon="headset" href="mailto:support@crewai.com">
|
|
Contact our support team for assistance with integration setup or troubleshooting.
|
|
</Card>
|