diff --git a/docs/docs.json b/docs/docs.json index 6f8e604cd..ce5498a0f 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -180,6 +180,42 @@ } ] }, + { + "tab": "Enterprise", + "groups": [ + { + "group": "Getting Started", + "pages": [ + "enterprise/introduction" + ] + }, + { + "group": "How-To Guides", + "pages": [ + "enterprise/guides/build-crew", + "enterprise/guides/deploy-crew", + "enterprise/guides/kickoff-crew", + "enterprise/guides/update-crew", + "enterprise/guides/use-crew-api", + "enterprise/guides/enable-crew-studio" + ] + }, + { + "group": "Features", + "pages": [ + "enterprise/features/tool-repository", + "enterprise/features/webhook-streaming", + "enterprise/features/traces" + ] + }, + { + "group": "Resources", + "pages": [ + "enterprise/resources/frequently-asked-questions" + ] + } + ] + }, { "tab": "Examples", "groups": [ diff --git a/docs/enterprise/features/tool-repository.mdx b/docs/enterprise/features/tool-repository.mdx new file mode 100644 index 000000000..df4a8c9bf --- /dev/null +++ b/docs/enterprise/features/tool-repository.mdx @@ -0,0 +1,106 @@ +--- +title: Tool Repository +description: "Using the Tool Repository to manage your tools" +icon: "toolbox" +--- + +## Overview + +The Tool Repository is a package manager for CrewAI tools. It allows users to publish, install, and manage tools that integrate with CrewAI crews and flows. + +Tools can be: + +- **Private**: accessible only within your organization (default) +- **Public**: accessible to all CrewAI users if published with the `--public` flag + +The repository is not a version control system. Use Git to track code changes and enable collaboration. + +## Prerequisites + +Before using the Tool Repository, ensure you have: + +- A [CrewAI Enterprise](https://app.crewai.com) account +- [CrewAI CLI](https://docs.crewai.com/concepts/cli#cli) installed +- [Git](https://git-scm.com) installed and configured +- Access permissions to publish or install tools in your CrewAI Enterprise organization + +## Installing Tools + +To install a tool: + +```bash +crewai tool install +``` + +This installs the tool and adds it to `pyproject.toml`. + +## Creating and Publishing Tools + +To create a new tool project: + +```bash +crewai tool create +``` + +This generates a scaffolded tool project locally. + +After making changes, initialize a Git repository and commit the code: + +```bash +git init +git add . +git commit -m "Initial version" +``` + +To publish the tool: + +```bash +crewai tool publish +``` + +By default, tools are published as private. To make a tool public: + +```bash +crewai tool publish --public +``` + +For more details on how to build tools, see [Creating your own tools](https://docs.crewai.com/concepts/tools#creating-your-own-tools). + +## Updating Tools + +To update a published tool: + +1. Modify the tool locally +2. Update the version in `pyproject.toml` (e.g., from `0.1.0` to `0.1.1`) +3. Commit the changes and publish + +```bash +git commit -m "Update version to 0.1.1" +crewai tool publish +``` + +## Deleting Tools + +To delete a tool: + +1. Go to [CrewAI Enterprise](https://app.crewai.com) +2. Navigate to **Tools** +3. Select the tool +4. Click **Delete** + + +Deletion is permanent. Deleted tools cannot be restored or re-installed. + + +## Security Checks + +Every published version undergoes automated security checks, and are only available to install after they pass. + +You can check the security check status of a tool at: + +`CrewAI Enterprise > Tools > Your Tool > Versions` + + + + Contact our support team for assistance with API integration or troubleshooting. + diff --git a/docs/enterprise/features/traces.mdx b/docs/enterprise/features/traces.mdx new file mode 100644 index 000000000..94e407413 --- /dev/null +++ b/docs/enterprise/features/traces.mdx @@ -0,0 +1,146 @@ +--- +title: Traces +description: "Using Traces to monitor your Crews" +icon: "timeline" +--- + +## Overview + +Traces provide comprehensive visibility into your crew executions, helping you monitor performance, debug issues, and optimize your AI agent workflows. + +## What are Traces? + +Traces in CrewAI Enterprise are detailed execution records that capture every aspect of your crew's operation, from initial inputs to final outputs. They record: + +- Agent thoughts and reasoning +- Task execution details +- Tool usage and outputs +- Token consumption metrics +- Execution times +- Cost estimates + + + ![Traces Overview](/images/enterprise/traces-overview.png) + + +## Accessing Traces + + + + Once in your CrewAI Enterprise dashboard, click on the **Traces** to view all execution records. + + + + You'll see a list of all crew executions, sorted by date. Click on any execution to view its detailed trace. + + + +## Understanding the Trace Interface + +The trace interface is divided into several sections, each providing different insights into your crew's execution: + +### 1. Execution Summary + +The top section displays high-level metrics about the execution: + +- **Total Tokens**: Number of tokens consumed across all tasks +- **Prompt Tokens**: Tokens used in prompts to the LLM +- **Completion Tokens**: Tokens generated in LLM responses +- **Requests**: Number of API calls made +- **Execution Time**: Total duration of the crew run +- **Estimated Cost**: Approximate cost based on token usage + + + ![Execution Summary](/images/enterprise/trace-summary.png) + + +### 2. Tasks & Agents + +This section shows all tasks and agents that were part of the crew execution: + +- Task name and agent assignment +- Agents and LLMs used for each task +- Status (completed/failed) +- Individual execution time of the task + + + ![Task List](/images/enterprise/trace-tasks.png) + + +### 3. Final Output + +Displays the final result produced by the crew after all tasks are completed. + + + ![Final Output](/images/enterprise/final-output.png) + + +### 4. Execution Timeline + +A visual representation of when each task started and ended, helping you identify bottlenecks or parallel execution patterns. + + + ![Execution Timeline](/images/enterprise/trace-timeline.png) + + +### 5. Detailed Task View + +When you click on a specific task in the timeline or task list, you'll see: + + + ![Detailed Task View](/images/enterprise/trace-detailed-task.png) + + +- **Task Key**: Unique identifier for the task +- **Task ID**: Technical identifier in the system +- **Status**: Current state (completed/running/failed) +- **Agent**: Which agent performed the task +- **LLM**: Language model used for this task +- **Start/End Time**: When the task began and completed +- **Execution Time**: Duration of this specific task +- **Task Description**: What the agent was instructed to do +- **Expected Output**: What output format was requested +- **Input**: Any input provided to this task from previous tasks +- **Output**: The actual result produced by the agent + + +## Using Traces for Debugging + +Traces are invaluable for troubleshooting issues with your crews: + + + + When a crew execution doesn't produce the expected results, examine the trace to find where things went wrong. Look for: + + - Failed tasks + - Unexpected agent decisions + - Tool usage errors + - Misinterpreted instructions + + + ![Failure Points](/images/enterprise/failure.png) + + + + + Use execution metrics to identify performance bottlenecks: + + - Tasks that took longer than expected + - Excessive token usage + - Redundant tool operations + - Unnecessary API calls + + + + Analyze token usage and cost estimates to optimize your crew's efficiency: + + - Consider using smaller models for simpler tasks + - Refine prompts to be more concise + - Cache frequently accessed information + - Structure tasks to minimize redundant operations + + + + + Contact our support team for assistance with trace analysis or any other CrewAI Enterprise features. + \ No newline at end of file diff --git a/docs/enterprise/features/webhook-streaming.mdx b/docs/enterprise/features/webhook-streaming.mdx new file mode 100644 index 000000000..3e754f15e --- /dev/null +++ b/docs/enterprise/features/webhook-streaming.mdx @@ -0,0 +1,82 @@ +--- +title: Webhook Streaming +description: "Using Webhook Streaming to stream events to your webhook" +icon: "webhook" +--- + +## Overview + +Enterprise Event Streaming lets you receive real-time webhook updates about your crews and flows deployed to +CrewAI Enterprise, such as model calls, tool usage, and flow steps. + +## Usage + +When using the Kickoff API, include a `webhooks` object to your request, for example: + +```json +{ + "inputs": {"foo": "bar"}, + "webhooks": { + "events": ["crew_kickoff_started", "llm_call_started"], + "url": "https://your.endpoint/webhook", + "realtime": false, + "authentication": { + "strategy": "bearer", + "token": "my-secret-token" + } + } +} +``` + +If `realtime` is set to `true`, each event is delivered individually and immediately, at the cost of crew/flow performance. + +## Webhook Format + +Each webhook sends a list of events: + +```json +{ + "events": [ + { + "id": "event-id", + "execution_id": "crew-run-id", + "timestamp": "2025-02-16T10:58:44.965Z", + "type": "llm_call_started", + "data": { + "model": "gpt-4", + "messages": [ + {"role": "system", "content": "You are an assistant."}, + {"role": "user", "content": "Summarize this article."} + ] + } + } + ] +} +``` + +The `data` object structure varies by event type. Refer to the [event list](https://github.com/crewAIInc/crewAI/tree/main/src/crewai/utilities/events) on GitHub. + +As requests are sent over HTTP, the order of events can't be guaranteed. If you need ordering, use the `timestamp` field. + +## Supported Events + +CrewAI supports both system events and custom events in Enterprise Event Streaming. These events are sent to your configured webhook endpoint during crew and flow execution. + +- `crew_kickoff_started` +- `crew_step_started` +- `crew_step_completed` +- `crew_execution_completed` +- `llm_call_started` +- `llm_call_completed` +- `tool_usage_started` +- `tool_usage_completed` +- `crew_test_failed` +- *...and others* + +Event names match the internal event bus. See [GitHub source](https://github.com/crewAIInc/crewAI/tree/main/src/crewai/utilities/events) for the full list. + +You can emit your own custom events, and they will be delivered through the webhook stream alongside system events. + + + Contact our support team for assistance with webhook integration or troubleshooting. + \ No newline at end of file diff --git a/docs/enterprise/guides/build-crew.mdx b/docs/enterprise/guides/build-crew.mdx new file mode 100644 index 000000000..a099b70d8 --- /dev/null +++ b/docs/enterprise/guides/build-crew.mdx @@ -0,0 +1,43 @@ +--- +title: "Build Crew" +description: "A Crew is a group of agents that work together to complete a task." +icon: "people-arrows" +--- + + +[CrewAI Enterprise](https://app.crewai.com) streamlines the process of **creating**, **deploying**, and **managing** your AI agents in production environments. + + +## Getting Started + + + +### Installation and Setup + + + Follow our standard installation guide to set up CrewAI CLI and create your first project. + + +### Building Your Crew + + + Follow our quickstart guide to create your first agent crew using YAML configuration. + + +## Support and Resources + +For Enterprise-specific support or questions, contact our dedicated support team at [support@crewai.com](mailto:support@crewai.com). + + + + Book time with our team to learn more about Enterprise features and how they can benefit your organization. + \ No newline at end of file diff --git a/docs/enterprise/guides/deploy-crew.mdx b/docs/enterprise/guides/deploy-crew.mdx new file mode 100644 index 000000000..352ab01b2 --- /dev/null +++ b/docs/enterprise/guides/deploy-crew.mdx @@ -0,0 +1,216 @@ +--- +title: "Deploy Crew" +description: "Deploy your local CrewAI project to the Enterprise platform" +icon: "cloud-arrow-up" +--- + +## Option 1: CLI Deployment + + +This video tutorial walks you through the process of deploying your locally developed CrewAI project to the CrewAI Enterprise platform, +transforming it into a production-ready API endpoint. + + + + +## Prerequisites + +Before starting the deployment process, make sure you have: + +- A CrewAI project built locally ([follow our quickstart guide](/quickstart) if you haven't created one yet) +- Your code pushed to a GitHub repository +- The latest version of the CrewAI CLI installed (`uv tool install crewai`) + + +For a quick reference project, you can clone our example repository at [github.com/tonykipkemboi/crewai-latest-ai-development](https://github.com/tonykipkemboi/crewai-latest-ai-development). + + + + +### Step 1: Authenticate with the Enterprise Platform + +First, you need to authenticate your CLI with the CrewAI Enterprise platform: + +```bash +# If you already have a CrewAI Enterprise account +crewai login + +# If you're creating a new account +crewai signup +``` + +When you run either command, the CLI will: +1. Display a URL and a unique device code +2. Open your browser to the authentication page +3. Prompt you to confirm the device +4. Complete the authentication process + +Upon successful authentication, you'll see a confirmation message in your terminal! + +### Step 2: Create a Deployment + +From your project directory, run: + +```bash +crewai deploy create +``` + +This command will: +1. Detect your GitHub repository information +2. Identify environment variables in your local `.env` file +3. Securely transfer these variables to the Enterprise platform +4. Create a new deployment with a unique identifier + +On successful creation, you'll see a message like: +```shell +Deployment created successfully! +Name: your_project_name +Deployment ID: 01234567-89ab-cdef-0123-456789abcdef +Current Status: Deploy Enqueued +``` + +### Step 3: Monitor Deployment Progress + +Track the deployment status with: + +```bash +crewai deploy status +``` + +For detailed logs of the build process: + +```bash +crewai deploy logs +``` + + +The first deployment typically takes 10-15 minutes as it builds the container images. Subsequent deployments are much faster. + + +### Additional CLI Commands + +The CrewAI CLI offers several commands to manage your deployments: + +```bash +# List all your deployments +crewai deploy list + +# Get the status of your deployment +crewai deploy status + +# View the logs of your deployment +crewai deploy logs + +# Push updates after code changes +crewai deploy push + +# Remove a deployment +crewai deploy remove +``` + +## Option 2: Deploy Directly via Web Interface + +You can also deploy your crews directly through the CrewAI Enterprise web interface by connecting your GitHub account. This approach doesn't require using the CLI on your local machine. + +### Step 1: Pushing to GitHub + +First, you need to push your crew to a GitHub repository. If you haven't created a crew yet, you can [follow this tutorial](/quickstart). + +### Step 2: Connecting GitHub to CrewAI Enterprise + +1. Log in to [CrewAI Enterprise](https://app.crewai.com) +2. Click on the button "Connect GitHub" + + + ![Connect GitHub Button](/images/enterprise/connect-github.png) + + +### Step 3: Select the Repository + +After connecting your GitHub account, you'll be able to select which repository to deploy: + + + ![Select Repository](/images/enterprise/select-repo.png) + + +### Step 4: Set Environment Variables + +Before deploying, you'll need to set up your environment variables to connect to your LLM provider or other services: + +1. You can add variables individually or in bulk +2. Enter your environment variables in `KEY=VALUE` format (one per line) + + + ![Set Environment Variables](/images/enterprise/set-env-variables.png) + + +### Step 5: Deploy Your Crew + +1. Click the "Deploy" button to start the deployment process +2. You can monitor the progress through the progress bar +3. The first deployment typically takes around 10-15 minutes; subsequent deployments will be faster + + + ![Deploy Progress](/images/enterprise/deploy-progress.png) + + +Once deployment is complete, you'll see: +- Your crew's unique URL +- A Bearer token to protect your crew API +- A "Delete" button if you need to remove the deployment + +### Interact with Your Deployed Crew + +Once deployment is complete, you can access your crew through: + +1. **REST API**: The platform generates a unique HTTPS endpoint with these key routes: + - `/inputs`: Lists the required input parameters + - `/kickoff`: Initiates an execution with provided inputs + - `/status/{kickoff_id}`: Checks the execution status + +2. **Web Interface**: Visit [app.crewai.com](https://app.crewai.com) to access: + - **Status tab**: View deployment information, API endpoint details, and authentication token + - **Run tab**: Visual representation of your crew's structure + - **Executions tab**: History of all executions + - **Metrics tab**: Performance analytics + - **Traces tab**: Detailed execution insights + +### Trigger an Execution + +From the Enterprise dashboard, you can: + +1. Click on your crew's name to open its details +2. Select "Trigger Crew" from the management interface +3. Enter the required inputs in the modal that appears +4. Monitor progress as the execution moves through the pipeline + +## Monitoring and Analytics + +The Enterprise platform provides comprehensive observability features: + +- **Execution Management**: Track active and completed runs +- **Traces**: Detailed breakdowns of each execution +- **Metrics**: Token usage, execution times, and costs +- **Timeline View**: Visual representation of task sequences + +## Advanced Features + +The Enterprise platform also offers: + +- **Environment Variables Management**: Securely store and manage API keys +- **LLM Connections**: Configure integrations with various LLM providers +- **Custom Tools Repository**: Create, share, and install tools +- **Crew Studio**: Build crews through a chat interface without writing code + + + Contact our support team for assistance with deployment issues or questions about the Enterprise platform. + diff --git a/docs/enterprise/guides/enable-crew-studio.mdx b/docs/enterprise/guides/enable-crew-studio.mdx new file mode 100644 index 000000000..08f6d0b84 --- /dev/null +++ b/docs/enterprise/guides/enable-crew-studio.mdx @@ -0,0 +1,166 @@ +--- +title: "Enable Crew Studio" +description: "Enabling Crew Studio on CrewAI Enterprise" +icon: "comments" +--- + + +Crew Studio is a powerful **no-code/low-code** tool that allows you to quickly scaffold or build Crews through a conversational interface. + + +## What is Crew Studio? + +Crew Studio is an innovative way to create AI agent crews without writing code. + + + ![Crew Studio Interface](/images/enterprise/crew-studio-interface.png) + + +With Crew Studio, you can: + +- Chat with the Crew Assistant to describe your problem +- Automatically generate agents and tasks +- Select appropriate tools +- Configure necessary inputs +- Generate downloadable code for customization +- Deploy directly to the CrewAI Enterprise platform + +## Configuration Steps + +Before you can start using Crew Studio, you need to configure your LLM connections: + + + + Go to the **LLM Connections** tab in your CrewAI Enterprise dashboard and create a new LLM connection. + + + Feel free to use any LLM provider you want that is supported by CrewAI. + + + Configure your LLM connection: + + - Enter a `Connection Name` (e.g., `OpenAI`) + - Select your model provider: `openai` or `azure` + - Select models you'd like to use in your Studio-generated Crews + - We recommend at least `gpt-4o`, `o1-mini`, and `gpt-4o-mini` + - Add your API key as an environment variable: + - For OpenAI: Add `OPENAI_API_KEY` with your API key + - For Azure OpenAI: Refer to [this article](https://blog.crewai.com/configuring-azure-openai-with-crewai-a-comprehensive-guide/) for configuration details + - Click `Add Connection` to save your configuration + + + ![LLM Connection Configuration](/images/enterprise/llm-connection-config.png) + + + + + Once you complete the setup, you'll see your new connection added to the list of available connections. + + + ![Connection Added](/images/enterprise/connection-added.png) + + + + + In the main menu, go to **Settings → Defaults** and configure the LLM Defaults settings: + + - Select default models for agents and other components + - Set default configurations for Crew Studio + + Click `Save Settings` to apply your changes. + + + ![LLM Defaults Configuration](/images/enterprise/llm-defaults.png) + + + + +## Using Crew Studio + +Now that you've configured your LLM connection and default settings, you're ready to start using Crew Studio! + + + + Navigate to the **Studio** section in your CrewAI Enterprise dashboard. + + + + Start a conversation with the Crew Assistant by describing the problem you want to solve: + + ```md + I need a crew that can research the latest AI developments and create a summary report. + ``` + + The Crew Assistant will ask clarifying questions to better understand your requirements. + + + + Review the generated crew configuration, including: + + - Agents and their roles + - Tasks to be performed + - Required inputs + - Tools to be used + + This is your opportunity to refine the configuration before proceeding. + + + + Once you're satisfied with the configuration, you can: + + - Download the generated code for local customization + - Deploy the crew directly to the CrewAI Enterprise platform + - Modify the configuration and regenerate the crew + + + + After deployment, test your crew with sample inputs to ensure it performs as expected. + + + + +For best results, provide clear, detailed descriptions of what you want your crew to accomplish. Include specific inputs and expected outputs in your description. + + +## Example Workflow + +Here's a typical workflow for creating a crew with Crew Studio: + + + + Start by describing your problem: + + ```md + I need a crew that can analyze financial news and provide investment recommendations + ``` + + + + Respond to clarifying questions from the Crew Assistant to refine your requirements. + + + + Review the generated crew plan, which might include: + + - A Research Agent to gather financial news + - An Analysis Agent to interpret the data + - A Recommendations Agent to provide investment advice + + + + Approve the plan or request changes if necessary. + + + + Download the code for customization or deploy directly to the platform. + + + + Test your crew with sample inputs and refine as needed. + + + + + Contact our support team for assistance with Crew Studio or any other CrewAI Enterprise features. + + diff --git a/docs/enterprise/guides/kickoff-crew.mdx b/docs/enterprise/guides/kickoff-crew.mdx new file mode 100644 index 000000000..027924a09 --- /dev/null +++ b/docs/enterprise/guides/kickoff-crew.mdx @@ -0,0 +1,186 @@ +--- +title: "Kickoff Crew" +description: "Kickoff a Crew on CrewAI Enterprise" +icon: "flag-checkered" +--- + +# Kickoff a Crew on CrewAI Enterprise + +Once you've deployed your crew to the CrewAI Enterprise platform, you can kickoff executions through the web interface or the API. This guide covers both approaches. + +## Method 1: Using the Web Interface + +### Step 1: Navigate to Your Deployed Crew + +1. Log in to [CrewAI Enterprise](https://app.crewai.com) +2. Click on the crew name from your projects list +3. You'll be taken to the crew's detail page + + + ![Crew Dashboard](/images/enterprise/crew-dashboard.png) + + +### Step 2: Initiate Execution + +From your crew's detail page, you have two options to kickoff an execution: + +#### Option A: Quick Kickoff + +1. Click the `Kickoff` link in the Test Endpoints section +2. Enter the required input parameters for your crew in the JSON editor +3. Click the `Send Request` button + + + ![Kickoff Endpoint](/images/enterprise/kickoff-endpoint.png) + + +#### Option B: Using the Visual Interface + +1. Click the `Run` tab in the crew detail page +2. Enter the required inputs in the form fields +3. Click the `Run Crew` button + + + ![Run Crew](/images/enterprise/run-crew.png) + + +### Step 3: Monitor Execution Progress + +After initiating the execution: + +1. You'll receive a response containing a `kickoff_id` - **copy this ID** +2. This ID is essential for tracking your execution + + + ![Copy Task ID](/images/enterprise/copy-task-id.png) + + +### Step 4: Check Execution Status + +To monitor the progress of your execution: + +1. Click the "Status" endpoint in the Test Endpoints section +2. Paste the `kickoff_id` into the designated field +3. Click the "Get Status" button + + + ![Get Status](/images/enterprise/get-status.png) + + +The status response will show: +- Current execution state (`running`, `completed`, etc.) +- Details about which tasks are in progress +- Any outputs produced so far + +### Step 5: View Final Results + +Once execution is complete: + +1. The status will change to `completed` +2. You can view the full execution results and outputs +3. For a more detailed view, check the `Executions` tab in the crew detail page + +## Method 2: Using the API + +You can also kickoff crews programmatically using the CrewAI Enterprise REST API. + +### Authentication + +All API requests require a bearer token for authentication: + +```bash +curl -H "Authorization: Bearer YOUR_CREW_TOKEN" https://your-crew-url.crewai.com +``` + +Your bearer token is available on the Status tab of your crew's detail page. + +### Checking Crew Health + +Before executing operations, you can verify that your crew is running properly: + +```bash +curl -H "Authorization: Bearer YOUR_CREW_TOKEN" https://your-crew-url.crewai.com +``` + +A successful response will return a message indicating the crew is operational: + +``` +Healthy% +``` + +### Step 1: Retrieve Required Inputs + +First, determine what inputs your crew requires: + +```bash +curl -X GET \ + -H "Authorization: Bearer YOUR_CREW_TOKEN" \ + https://your-crew-url.crewai.com/inputs +``` + +The response will be a JSON object containing an array of required input parameters, for example: + +```json +{"inputs":["topic","current_year"]} +``` + +This example shows that this particular crew requires two inputs: `topic` and `current_year`. + +### Step 2: Kickoff Execution + +Initiate execution by providing the required inputs: + +```bash +curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer YOUR_CREW_TOKEN" \ + -d '{"inputs": {"topic": "AI Agent Frameworks", "current_year": "2025"}}' \ + https://your-crew-url.crewai.com/kickoff +``` + +The response will include a `kickoff_id` that you'll need for tracking: + +```json +{"kickoff_id":"abcd1234-5678-90ef-ghij-klmnopqrstuv"} +``` + +### Step 3: Check Execution Status + +Monitor the execution progress using the kickoff_id: + +```bash +curl -X GET \ + -H "Authorization: Bearer YOUR_CREW_TOKEN" \ + https://your-crew-url.crewai.com/status/abcd1234-5678-90ef-ghij-klmnopqrstuv +``` + +## Handling Executions + +### Long-Running Executions + +For executions that may take a long time: + +1. Consider implementing a polling mechanism to check status periodically +2. Use webhooks (if available) for notification when execution completes +3. Implement error handling for potential timeouts + +### Execution Context + +The execution context includes: + +- Inputs provided at kickoff +- Environment variables configured during deployment +- Any state maintained between tasks + +### Debugging Failed Executions + +If an execution fails: + +1. Check the "Executions" tab for detailed logs +2. Review the "Traces" tab for step-by-step execution details +3. Look for LLM responses and tool usage in the trace details + + + Contact our support team for assistance with execution issues or questions about the Enterprise platform. + + diff --git a/docs/enterprise/guides/update-crew.mdx b/docs/enterprise/guides/update-crew.mdx new file mode 100644 index 000000000..922063f99 --- /dev/null +++ b/docs/enterprise/guides/update-crew.mdx @@ -0,0 +1,89 @@ +--- +title: "Update Crew" +description: "Updating a Crew on CrewAI Enterprise" +icon: "pencil" +--- + + +After deploying your crew to CrewAI Enterprise, you may need to make updates to the code, security settings, or configuration. +This guide explains how to perform these common update operations. + + +## Why Update Your Crew? + +CrewAI won't automatically pick up GitHub updates by default, so you'll need to manually trigger updates, unless you checked the `Auto-update` option when deploying your crew. + +There are several reasons you might want to update your crew deployment: +- You want to update the code with a latest commit you pushed to GitHub +- You want to reset the bearer token for security reasons +- You want to update environment variables + +## 1. Updating Your Crew Code for a Latest Commit + +When you've pushed new commits to your GitHub repository and want to update your deployment: + +1. Navigate to your crew in the CrewAI Enterprise platform +2. Click on the `Re-deploy` button on your crew details page + + + ![Re-deploy Button](/images/enterprise/redeploy-button.png) + + +This will trigger an update that you can track using the progress bar. The system will pull the latest code from your repository and rebuild your deployment. + +## 2. Resetting Bearer Token + +If you need to generate a new bearer token (for example, if you suspect the current token might have been compromised): + +1. Navigate to your crew in the CrewAI Enterprise platform +2. Find the `Bearer Token` section +3. Click the `Reset` button next to your current token + + + ![Reset Token](/images/enterprise/reset-token.png) + + + +Resetting your bearer token will invalidate the previous token immediately. Make sure to update any applications or scripts that are using the old token. + + +## 3. Updating Environment Variables + +To update the environment variables for your crew: + +1. First access the deployment page by clicking on your crew's name + + + ![Environment Variables Button](/images/enterprise/env-vars-button.png) + + +2. Locate the `Environment Variables` section (you will need to click the `Settings` icon to access it) +3. Edit the existing variables or add new ones in the fields provided +4. Click the `Update` button next to each variable you modify + + + ![Update Environment Variables](/images/enterprise/update-env-vars.png) + + +5. Finally, click the `Update Deployment` button at the bottom of the page to apply the changes + + +Updating environment variables will trigger a new deployment, but this will only update the environment configuration and not the code itself. + + +## After Updating + +After performing any update: + +1. The system will rebuild and redeploy your crew +2. You can monitor the deployment progress in real-time +3. Once complete, test your crew to ensure the changes are working as expected + + +If you encounter any issues after updating, you can view deployment logs in the platform or contact support for assistance. + + + + Contact our support team for assistance with updating your crew or troubleshooting deployment issues. + + diff --git a/docs/enterprise/guides/use-crew-api.mdx b/docs/enterprise/guides/use-crew-api.mdx new file mode 100644 index 000000000..53b7d392a --- /dev/null +++ b/docs/enterprise/guides/use-crew-api.mdx @@ -0,0 +1,319 @@ +--- +title: "Trigger Deployed Crew API" +description: "Using your deployed crew's API on CrewAI Enterprise" +icon: "arrow-up-right-from-square" +--- + +Once you have deployed your crew to CrewAI Enterprise, it automatically becomes available as a REST API. This guide explains how to interact with your crew programmatically. + +## API Basics + +Your deployed crew exposes several endpoints that allow you to: +1. Discover required inputs +2. Start crew executions +3. Monitor execution status +4. Receive results + +### Authentication + +All API requests require a bearer token for authentication, which is generated when you deploy your crew: + +```bash +curl -H "Authorization: Bearer YOUR_CREW_TOKEN" https://your-crew-url.crewai.com/... +``` + + +You can find your bearer token in the Status tab of your crew's detail page in the CrewAI Enterprise dashboard. + + + + ![Bearer Token](/images/enterprise/bearer-token.png) + + +## Available Endpoints + +Your crew API provides three main endpoints: + +| Endpoint | Method | Description | +|----------|--------|-------------| +| `/inputs` | GET | Lists all required inputs for crew execution | +| `/kickoff` | POST | Starts a crew execution with provided inputs | +| `/status/{kickoff_id}` | GET | Retrieves the status and results of an execution | + +## GET /inputs + +The inputs endpoint allows you to discover what parameters your crew requires: + +```bash +curl -X GET \ + -H "Authorization: Bearer YOUR_CREW_TOKEN" \ + https://your-crew-url.crewai.com/inputs +``` + +### Response + +```json +{ + "inputs": ["budget", "interests", "duration", "age"] +} +``` + +This response indicates that your crew expects four input parameters: `budget`, `interests`, `duration`, and `age`. + +## POST /kickoff + +The kickoff endpoint starts a new crew execution: + +```bash +curl -X POST \ + -H "Content-Type: application/json" \ + -H "Authorization: Bearer YOUR_CREW_TOKEN" \ + -d '{ + "inputs": { + "budget": "1000 USD", + "interests": "games, tech, ai, relaxing hikes, amazing food", + "duration": "7 days", + "age": "35" + } + }' \ + https://your-crew-url.crewai.com/kickoff +``` + +### Request Parameters + +| Parameter | Type | Required | Description | +|-----------|------|----------|-------------| +| `inputs` | Object | Yes | Key-value pairs of all required inputs | +| `meta` | Object | No | Additional metadata to pass to the crew | +| `taskWebhookUrl` | String | No | Callback URL executed after each task | +| `stepWebhookUrl` | String | No | Callback URL executed after each agent thought | +| `crewWebhookUrl` | String | No | Callback URL executed when the crew finishes | + +### Example with Webhooks + +```json +{ + "inputs": { + "budget": "1000 USD", + "interests": "games, tech, ai, relaxing hikes, amazing food", + "duration": "7 days", + "age": "35" + }, + "meta": { + "requestId": "user-request-12345", + "source": "mobile-app" + }, + "taskWebhookUrl": "https://your-server.com/webhooks/task", + "stepWebhookUrl": "https://your-server.com/webhooks/step", + "crewWebhookUrl": "https://your-server.com/webhooks/crew" +} +``` + +### Response + +```json +{ + "kickoff_id": "abcd1234-5678-90ef-ghij-klmnopqrstuv" +} +``` + +The `kickoff_id` is used to track and retrieve the execution results. + +## GET /status/{kickoff_id} + +The status endpoint allows you to check the progress and results of a crew execution: + +```bash +curl -X GET \ + -H "Authorization: Bearer YOUR_CREW_TOKEN" \ + https://your-crew-url.crewai.com/status/abcd1234-5678-90ef-ghij-klmnopqrstuv +``` + +### Response Structure + +The response structure will vary depending on the execution state: + +#### In Progress + +```json +{ + "status": "running", + "current_task": "research_task", + "progress": { + "completed_tasks": 0, + "total_tasks": 2 + } +} +``` + +#### Completed + +```json +{ + "status": "completed", + "result": { + "output": "Comprehensive travel itinerary...", + "tasks": [ + { + "task_id": "research_task", + "output": "Research findings...", + "agent": "Researcher", + "execution_time": 45.2 + }, + { + "task_id": "planning_task", + "output": "7-day itinerary plan...", + "agent": "Trip Planner", + "execution_time": 62.8 + } + ] + }, + "execution_time": 108.5 +} +``` + +## Webhook Integration + +When you provide webhook URLs in your kickoff request, the system will make POST requests to those URLs at specific points in the execution: + +### taskWebhookUrl + +Called when each task completes: + +```json +{ + "kickoff_id": "abcd1234-5678-90ef-ghij-klmnopqrstuv", + "task_id": "research_task", + "status": "completed", + "output": "Research findings...", + "agent": "Researcher", + "execution_time": 45.2 +} +``` + +### stepWebhookUrl + +Called after each agent thought or action: + +```json +{ + "kickoff_id": "abcd1234-5678-90ef-ghij-klmnopqrstuv", + "task_id": "research_task", + "agent": "Researcher", + "step_type": "thought", + "content": "I should first search for popular destinations that match these interests..." +} +``` + +### crewWebhookUrl + +Called when the entire crew execution completes: + +```json +{ + "kickoff_id": "abcd1234-5678-90ef-ghij-klmnopqrstuv", + "status": "completed", + "result": { + "output": "Comprehensive travel itinerary...", + "tasks": [ + { + "task_id": "research_task", + "output": "Research findings...", + "agent": "Researcher", + "execution_time": 45.2 + }, + { + "task_id": "planning_task", + "output": "7-day itinerary plan...", + "agent": "Trip Planner", + "execution_time": 62.8 + } + ] + }, + "execution_time": 108.5, + "meta": { + "requestId": "user-request-12345", + "source": "mobile-app" + } +} +``` + +## Best Practices + +### Handling Long-Running Executions + +Crew executions can take anywhere from seconds to minutes depending on their complexity. Consider these approaches: + +1. **Webhooks (Recommended)**: Set up webhook endpoints to receive notifications when the execution completes +2. **Polling**: Implement a polling mechanism with exponential backoff +3. **Client-Side Timeout**: Set appropriate timeouts for your API requests + +### Error Handling + +The API may return various error codes: + +| Code | Description | Recommended Action | +|------|-------------|-------------------| +| 401 | Unauthorized | Check your bearer token | +| 404 | Not Found | Verify your crew URL and kickoff_id | +| 422 | Validation Error | Ensure all required inputs are provided | +| 500 | Server Error | Contact support with the error details | + +### Sample Code + +Here's a complete Python example for interacting with your crew API: + +```python +import requests +import time + +# Configuration +CREW_URL = "https://your-crew-url.crewai.com" +BEARER_TOKEN = "your-crew-token" +HEADERS = { + "Authorization": f"Bearer {BEARER_TOKEN}", + "Content-Type": "application/json" +} + +# 1. Get required inputs +response = requests.get(f"{CREW_URL}/inputs", headers=HEADERS) +required_inputs = response.json()["inputs"] +print(f"Required inputs: {required_inputs}") + +# 2. Start crew execution +payload = { + "inputs": { + "budget": "1000 USD", + "interests": "games, tech, ai, relaxing hikes, amazing food", + "duration": "7 days", + "age": "35" + } +} + +response = requests.post(f"{CREW_URL}/kickoff", headers=HEADERS, json=payload) +kickoff_id = response.json()["kickoff_id"] +print(f"Execution started with ID: {kickoff_id}") + +# 3. Poll for results +MAX_RETRIES = 30 +POLL_INTERVAL = 10 # seconds +for i in range(MAX_RETRIES): + print(f"Checking status (attempt {i+1}/{MAX_RETRIES})...") + response = requests.get(f"{CREW_URL}/status/{kickoff_id}", headers=HEADERS) + data = response.json() + + if data["status"] == "completed": + print("Execution completed!") + print(f"Result: {data['result']['output']}") + break + elif data["status"] == "error": + print(f"Execution failed: {data.get('error', 'Unknown error')}") + break + else: + print(f"Status: {data['status']}, waiting {POLL_INTERVAL} seconds...") + time.sleep(POLL_INTERVAL) +``` + + + Contact our support team for assistance with API integration or troubleshooting. + \ No newline at end of file diff --git a/docs/enterprise/introduction.mdx b/docs/enterprise/introduction.mdx new file mode 100644 index 000000000..b07653ef4 --- /dev/null +++ b/docs/enterprise/introduction.mdx @@ -0,0 +1,67 @@ +--- +title: "CrewAI Enterprise" +description: "Deploy, monitor, and scale your AI agent workflows" +icon: "globe" +--- + +## Introduction + +CrewAI Enterprise provides a platform for deploying, monitoring, and scaling your crews and agents in a production environment. + +CrewAI Enterprise extends the power of the open-source framework with features designed for production deployments, collaboration, and scalability. Deploy your crews to a managed infrastructure and monitor their execution in real-time. + +## Key Features + + + + Deploy your crews to a managed infrastructure with a few clicks + + + Access your deployed crews via REST API for integration with existing systems + + + Monitor your crews with detailed execution traces and logs + + + Publish and install tools to enhance your crews' capabilities + + + Stream real-time events and updates to your systems + + + Create and customize crews using a no-code/low-code interface + + + +## Deployment Options + + + + Connect directly to your GitHub repositories to deploy code + + + Deploy crews created through the no-code Crew Studio interface + + + Use the CrewAI CLI for more advanced deployment workflows + + + +## Getting Started + + + + Create your account at [app.crewai.com](https://app.crewai.com) + + + Use code or Crew Studio to create your crew + + + Deploy your crew to the Enterprise platform + + + Integrate with your crew via the generated API endpoints + + + +For detailed instructions, check out our [deployment guide](/enterprise/guides/deploy-crew) or click the button below to get started. \ No newline at end of file diff --git a/docs/enterprise/resources/frequently-asked-questions.mdx b/docs/enterprise/resources/frequently-asked-questions.mdx new file mode 100644 index 000000000..0621ed877 --- /dev/null +++ b/docs/enterprise/resources/frequently-asked-questions.mdx @@ -0,0 +1,181 @@ +--- +title: FAQs +description: "Frequently asked questions about CrewAI Enterprise" +icon: "code" +--- + + + + In the hierarchical process, a manager agent is automatically created and coordinates the workflow, delegating tasks and validating outcomes for + streamlined and effective execution. The manager agent utilizes tools to facilitate task delegation and execution by agents under the manager's guidance. + The manager LLM is crucial for the hierarchical process and must be set up correctly for proper function. + + + + The most up-to-date documentation for CrewAI is available on our official documentation website; https://docs.crewai.com/ + CrewAI Docs + + + + #### Hierarchical Process: + Tasks are delegated and executed based on a structured chain of command. + A manager language model (`manager_llm`) must be specified for the manager agent. + Manager agent oversees task execution, planning, delegation, and validation. + Tasks are not pre-assigned; the manager allocates tasks to agents based on their capabilities. + + #### Sequential Process: + Tasks are executed one after another, ensuring tasks are completed in an orderly progression. + Output of one task serves as context for the next. + Task execution follows the predefined order in the task list. + + #### Which Process is Better Suited for Complex Projects? + + The hierarchical process is better suited for complex projects because it allows for: + + - **Dynamic task allocation and delegation**: Manager agent can assign tasks based on agent capabilities, allowing for efficient resource utilization. + - **Structured validation and oversight**: Manager agent reviews task outputs and ensures task completion, increasing reliability and accuracy. + - **Complex task management**: Assigning tools at the agent level allows for precise control over tool availability, facilitating the execution of intricate tasks. + + + + - **Adaptive Learning**: Crews become more efficient over time, adapting to new information and refining their approach to tasks. + - **Enhanced Personalization**: Memory enables agents to remember user preferences and historical interactions, leading to personalized experiences. + - **Improved Problem Solving**: Access to a rich memory store aids agents in making more informed decisions, drawing on past learnings and contextual insights. + + + + Setting a maximum RPM limit for an agent prevents the agent from making too many requests to external services, which can help to avoid rate limits and improve performance. + + + + It allows agents to request additional information or clarification when necessary. + This feature is crucial in complex decision-making processes or when agents require more details to complete a task effectively. + + To integrate human input into agent execution, set the `human_input` flag in the task definition. When enabled, the agent prompts the user for input before delivering its final answer. + This input can provide extra context, clarify ambiguities, or validate the agent's output. + + + + CrewAI provides a range of advanced customization options to tailor and enhance agent behavior and capabilities: + + - **Language Model Customization**: Agents can be customized with specific language models (`llm`) and function-calling language models (`function_calling_llm`), offering advanced control over their processing and decision-making abilities. + + - **Performance and Debugging Settings**: Adjust an agent's performance and monitor its operations for efficient task execution. + + - **Verbose Mode**: Enables detailed logging of an agent's actions, useful for debugging and optimization. + + - **RPM Limit**: Sets the maximum number of requests per minute (`max_rpm`). + + - **Maximum Iterations for Task Execution**: The `max_iter` attribute allows users to define the maximum number of iterations an agent can perform for a single task, preventing infinite loops or excessively long executions. + + - **Delegation and Autonomy**: Control an agent's ability to delegate or ask questions, tailoring its autonomy and collaborative dynamics within the CrewAI framework. By default, the `allow_delegation` attribute is set to True, enabling agents to seek assistance or delegate tasks as needed. This default behavior promotes collaborative problem-solving and efficiency within the CrewAI ecosystem. If needed, delegation can be disabled to suit specific operational requirements. + + - **Human Input in Agent Execution**: Human input is critical in several agent execution scenarios, allowing agents to request additional information or clarification when necessary. This feature is especially useful in complex decision-making processes or when agents require more details to complete a task effectively. + + + + Human input is particularly useful in agent execution when: + - **Agents require additional information or clarification**: When agents encounter ambiguity or incomplete data, human input can provide the necessary context to complete the task effectively. + - **Agents need to make complex or sensitive decisions**: Human input can assist agents in ethical or nuanced decision-making, ensuring responsible and informed outcomes. + - **Oversight and validation of agent output**: Human input can help validate the results generated by agents, ensuring accuracy and preventing any misinterpretation or errors. + - **Customizing agent behavior**: Human input can provide feedback on agent responses, allowing users to refine the agent's behavior and responses over time. + - **Identifying and resolving errors or limitations**: Human input can help identify and address any errors or limitations in the agent's capabilities, enabling continuous improvement and optimization. + + + + The different types of memory available in CrewAI are: + - `short-term memory` + - `long-term memory` + - `entity memory` + - `contextual memory` + + Learn more about the different types of memory here: + CrewAI Memory + + + + You can create custom tools by subclassing the `BaseTool` class provided by CrewAI or by using the tool decorator. Subclassing involves defining a new class that inherits from `BaseTool`, specifying the name, description, and the `_run` method for operational logic. The tool decorator allows you to create a `Tool` object directly with the required attributes and a functional logic. + Click here for more details: + CrewAI Tools + + + + To use Output Pydantic in a task, you need to define the expected output of the task as a Pydantic model. Here's an example: + + + First, you need to define a Pydantic model. For instance, let's create a simple model for a user: + + ```python + from pydantic import BaseModel + + class User(BaseModel): + name: str + age: int + ``` + + + + + ```python + from crewai import Task, Crew, Agent + + # Import the User model + from my_models import User + + # Create a task with Output Pydantic + task = Task( + description="Create a user with the provided name and age", + expected_output=User, # This is the Pydantic model + agent=agent, + tools=[tool1, tool2] + ) + ``` + + + + + ```python + from crewai import Agent + + # Import the User model + from my_models import User + + # Create an agent with Output Pydantic + agent = Agent( + role='User Creator', + goal='Create users', + backstory='I am skilled in creating user accounts', + tools=[tool1, tool2], + output_pydantic=User + ) + ``` + + + + + ```python + from crewai import Crew + + # Create a crew with the agent and task + crew = Crew(agents=[agent], tasks=[task]) + + # Kick off the crew + result = crew.kickoff() + + # The output of the task will be a User object + print(result.tasks[0].output) + ``` + + + Here's a tutorial on how to consistently get structured outputs from your agents: + + + + + \ No newline at end of file diff --git a/docs/images/enterprise/bearer-token.png b/docs/images/enterprise/bearer-token.png new file mode 100644 index 000000000..8314cc9c6 Binary files /dev/null and b/docs/images/enterprise/bearer-token.png differ diff --git a/docs/images/enterprise/connect-github.png b/docs/images/enterprise/connect-github.png new file mode 100644 index 000000000..4a878cb3a Binary files /dev/null and b/docs/images/enterprise/connect-github.png differ diff --git a/docs/images/enterprise/connection-added.png b/docs/images/enterprise/connection-added.png new file mode 100644 index 000000000..b7da7c7a9 Binary files /dev/null and b/docs/images/enterprise/connection-added.png differ diff --git a/docs/images/enterprise/copy-task-id.png b/docs/images/enterprise/copy-task-id.png new file mode 100644 index 000000000..20c8e4c8d Binary files /dev/null and b/docs/images/enterprise/copy-task-id.png differ diff --git a/docs/images/enterprise/crew-dashboard.png b/docs/images/enterprise/crew-dashboard.png new file mode 100644 index 000000000..5779ea78b Binary files /dev/null and b/docs/images/enterprise/crew-dashboard.png differ diff --git a/docs/images/enterprise/crew-studio-interface.png b/docs/images/enterprise/crew-studio-interface.png new file mode 100644 index 000000000..d7180cbe5 Binary files /dev/null and b/docs/images/enterprise/crew-studio-interface.png differ diff --git a/docs/images/enterprise/deploy-progress.png b/docs/images/enterprise/deploy-progress.png new file mode 100644 index 000000000..25c67e356 Binary files /dev/null and b/docs/images/enterprise/deploy-progress.png differ diff --git a/docs/images/enterprise/env-vars-button.png b/docs/images/enterprise/env-vars-button.png new file mode 100644 index 000000000..639ade1f1 Binary files /dev/null and b/docs/images/enterprise/env-vars-button.png differ diff --git a/docs/images/enterprise/failure.png b/docs/images/enterprise/failure.png new file mode 100644 index 000000000..77452f3ea Binary files /dev/null and b/docs/images/enterprise/failure.png differ diff --git a/docs/images/enterprise/final-output.png b/docs/images/enterprise/final-output.png new file mode 100644 index 000000000..9ba3d4c01 Binary files /dev/null and b/docs/images/enterprise/final-output.png differ diff --git a/docs/images/enterprise/get-status.png b/docs/images/enterprise/get-status.png new file mode 100644 index 000000000..e605d1ba7 Binary files /dev/null and b/docs/images/enterprise/get-status.png differ diff --git a/docs/images/enterprise/kickoff-endpoint.png b/docs/images/enterprise/kickoff-endpoint.png new file mode 100644 index 000000000..6d3fd29e0 Binary files /dev/null and b/docs/images/enterprise/kickoff-endpoint.png differ diff --git a/docs/images/enterprise/llm-connection-config.png b/docs/images/enterprise/llm-connection-config.png new file mode 100644 index 000000000..c0fb44d69 Binary files /dev/null and b/docs/images/enterprise/llm-connection-config.png differ diff --git a/docs/images/enterprise/llm-defaults.png b/docs/images/enterprise/llm-defaults.png new file mode 100644 index 000000000..8e0b3fe99 Binary files /dev/null and b/docs/images/enterprise/llm-defaults.png differ diff --git a/docs/images/enterprise/redeploy-button.png b/docs/images/enterprise/redeploy-button.png new file mode 100644 index 000000000..2e559ee95 Binary files /dev/null and b/docs/images/enterprise/redeploy-button.png differ diff --git a/docs/images/enterprise/reset-token.png b/docs/images/enterprise/reset-token.png new file mode 100644 index 000000000..1162ccc50 Binary files /dev/null and b/docs/images/enterprise/reset-token.png differ diff --git a/docs/images/enterprise/run-crew.png b/docs/images/enterprise/run-crew.png new file mode 100644 index 000000000..d39a4ea33 Binary files /dev/null and b/docs/images/enterprise/run-crew.png differ diff --git a/docs/images/enterprise/select-repo.png b/docs/images/enterprise/select-repo.png new file mode 100644 index 000000000..44ed2258d Binary files /dev/null and b/docs/images/enterprise/select-repo.png differ diff --git a/docs/images/enterprise/set-env-variables.png b/docs/images/enterprise/set-env-variables.png new file mode 100644 index 000000000..fe1bfbd1d Binary files /dev/null and b/docs/images/enterprise/set-env-variables.png differ diff --git a/docs/images/enterprise/trace-detailed-task.png b/docs/images/enterprise/trace-detailed-task.png new file mode 100644 index 000000000..8aa3abfc1 Binary files /dev/null and b/docs/images/enterprise/trace-detailed-task.png differ diff --git a/docs/images/enterprise/trace-summary.png b/docs/images/enterprise/trace-summary.png new file mode 100644 index 000000000..cb141c039 Binary files /dev/null and b/docs/images/enterprise/trace-summary.png differ diff --git a/docs/images/enterprise/trace-tasks.png b/docs/images/enterprise/trace-tasks.png new file mode 100644 index 000000000..35e898255 Binary files /dev/null and b/docs/images/enterprise/trace-tasks.png differ diff --git a/docs/images/enterprise/trace-timeline.png b/docs/images/enterprise/trace-timeline.png new file mode 100644 index 000000000..410aa0d92 Binary files /dev/null and b/docs/images/enterprise/trace-timeline.png differ diff --git a/docs/images/enterprise/traces-overview.png b/docs/images/enterprise/traces-overview.png new file mode 100644 index 000000000..35c530815 Binary files /dev/null and b/docs/images/enterprise/traces-overview.png differ diff --git a/docs/images/enterprise/update-env-vars.png b/docs/images/enterprise/update-env-vars.png new file mode 100644 index 000000000..d80124b74 Binary files /dev/null and b/docs/images/enterprise/update-env-vars.png differ