mirror of
https://github.com/crewAIInc/crewAI.git
synced 2026-07-05 06:59:23 +00:00
* feat: adopt directory-based docs versioning with Edge channel Switch docs.crewai.com from navigation-only versioning (every version selector entry rendered the same docs/<lang>/* source files) to Mintlify's directory-based versioning so each version selector entry renders its own snapshot. Add an "Edge" channel under docs/edge/<lang>/* that always reflects main HEAD for unreleased work, eliminating pre-release leakage onto frozen release labels. External links to canonical /<lang>/* URLs are preserved via wildcard redirects that always land on the current default version. Layout: - docs/edge/<lang>/* rolling source (you edit here) - docs/edge/enterprise-api.*.yaml - docs/v<X.Y.Z>/<lang>/* frozen, immutable snapshots - docs/v<X.Y.Z>/enterprise-api.*.yaml - docs/images/ shared, append-only - docs/docs.json nav + redirects URLs follow the Mintlify-idiomatic shape: /edge/<lang>/<page> for Edge, /v<X.Y.Z>/<lang>/<page> for every frozen snapshot. The wildcard redirects /<lang>/:slug* -> /<default>/<lang>/:slug* keep stale links working, and every freeze rewrites them (plus all per-section/per-page redirects) so destinations always resolve to the current default without depending on a second redirect hop. Release flow integration (devtools release): - New module crewai_devtools.docs_versioning.freeze() materialises docs/v<X.Y.Z>/ from docs/edge/, rewrites openapi: refs inside the snapshot, inserts the version into every language block in docs.json, and refreshes all redirect destinations. - _update_docs_and_create_pr() in cli.py now calls that freeze during Phase 2 of devtools release. Edge changelogs are updated first (so the snapshot freeze picks them up), then the snapshot is staged alongside docs.json, branched as docs/freeze-v<X.Y.Z>, and the PR is titled [docs-freeze] docs: snapshot and changelog for v<X.Y.Z> — the title prefix the new CI guard reads. - The PR still gates tag, GitHub release, PyPI publish, and the enterprise release as before; no new PRs are added. - Pre-releases (1.X.YaN, 1.X.YbN, ...) skip the snapshot — they ride Edge — and the docs PR title omits the [docs-freeze] prefix. - docs_check (AI-generated docs scaffolding) writes to docs/edge/<lang>/* so newly-generated unreleased docs land in Edge and never accidentally touch a frozen snapshot. Migration scripts (one-shot): - scripts/docs/freeze_historical_versions.py reconstructs all 16 historical snapshots (v1.10.0 .. v1.14.7) from git tags via git archive | tar, rewriting openapi: MDX refs so each snapshot reads its own enterprise-api YAML rather than the live one. - scripts/docs/prefix_version_paths.py one-shot-migrates docs.json: rewrites every page path in 16 versioned blocks to point under docs/v<X.Y.Z>/, inserts a new Edge entry per language, tags v1.14.7 as Latest (default), prunes pages whose target file doesn't exist in the snapshot (e.g. docs/ar/ didn't exist before v1.12.0), and writes the wildcard + per-section redirects. - scripts/docs/freeze_current_edge.py is now a thin CLI wrapper around docs_versioning.freeze for manual one-off freezes (e.g. retroactively snapshotting a forgotten release). CI guards (.github/workflows/docs-snapshots.yml): - Frozen snapshots under docs/v[0-9]*/ are immutable; only PRs whose title contains [docs-freeze] (i.e. release-cut PRs generated by devtools release or the manual wrapper) may modify them. - Images under docs/images/ are append-only since snapshots share a single image directory. Deleting or renaming an image breaks every historical snapshot that still references it. Restored docs/images/crewai-otel-export.png from PR #3673; it was deleted in PR #4908 but v1.10.0 / v1.10.1 snapshots still reference it. Restoring instead of editing the snapshots preserves historical rendering fidelity and validates the new append-only rule retroactively. Tests: - lib/devtools/tests/test_docs_versioning.py covers the freeze: file copy, openapi rewrite, version insertion, default demotion, redirect upserts, per-section redirect rewriting, idempotency, and invalid inputs. Verified locally with mintlify broken-links: 0 broken links across the full site (Edge + 16 frozen versions, 4 locales). AGENTS.md (repo root) is the contributor guide for the new model; RELEASING.md is the release-cut runbook; README's Contribution section links to both. Co-authored-by: Cursor <cursoragent@cursor.com> * style: resolve linter issues --------- Co-authored-by: Cursor <cursoragent@cursor.com>
301 lines
10 KiB
Plaintext
301 lines
10 KiB
Plaintext
---
|
|
title: Integração com ClickUp
|
|
description: "Gerenciamento de tarefas e produtividade com integração ClickUp para CrewAI."
|
|
icon: "list-check"
|
|
mode: "wide"
|
|
---
|
|
|
|
## Visão Geral
|
|
|
|
Permita que seus agentes gerenciem tarefas, projetos e fluxos de produtividade por meio do ClickUp. Crie e atualize tarefas, organize projetos, gerencie a designação de equipes e otimize o gerenciamento da sua produtividade com automação impulsionada por IA.
|
|
|
|
## Pré-requisitos
|
|
|
|
Antes de utilizar a integração com o ClickUp, certifique-se de que você possui:
|
|
|
|
- Uma conta [CrewAI AMP](https://app.crewai.com) com assinatura ativa
|
|
- Uma conta ClickUp com as permissões apropriadas
|
|
- Sua conta ClickUp conectada pela [Página de Integrações](https://app.crewai.com/crewai_plus/connectors)
|
|
|
|
## Configurando a Integração com o ClickUp
|
|
|
|
### 1. Conecte sua Conta ClickUp
|
|
|
|
1. Acesse [CrewAI AMP Integrações](https://app.crewai.com/crewai_plus/connectors)
|
|
2. Encontre **ClickUp** na seção Integrações de Autenticação
|
|
3. Clique em **Conectar** e complete o fluxo OAuth
|
|
4. Conceda as permissões necessárias para gerenciamento de tarefas e projetos
|
|
5. Copie seu Token Enterprise em [Configurações de Integração](https://app.crewai.com/crewai_plus/settings/integrations)
|
|
|
|
### 2. Instale o Pacote Necessário
|
|
|
|
```bash
|
|
uv add crewai-tools
|
|
```
|
|
|
|
### 3. Configuração de variável de ambiente
|
|
|
|
<Note>
|
|
Para usar integrações com `Agent(apps=[])`, você deve definir a variável de
|
|
ambiente `CREWAI_PLATFORM_INTEGRATION_TOKEN` com seu Enterprise Token.
|
|
</Note>
|
|
|
|
```bash
|
|
export CREWAI_PLATFORM_INTEGRATION_TOKEN="seu_enterprise_token"
|
|
```
|
|
|
|
Ou adicione ao seu arquivo `.env`:
|
|
|
|
```
|
|
CREWAI_PLATFORM_INTEGRATION_TOKEN=seu_enterprise_token
|
|
```
|
|
|
|
## Ações Disponíveis
|
|
|
|
<AccordionGroup>
|
|
<Accordion title="clickup/search_tasks">
|
|
**Descrição:** Busque tarefas no ClickUp utilizando filtros avançados.
|
|
|
|
**Parâmetros:**
|
|
- `taskFilterFormula` (objeto, opcional): Um filtro em forma normal disjuntiva - OU de grupos E de condições individuais.
|
|
```json
|
|
{
|
|
"operator": "OR",
|
|
"conditions": [
|
|
{
|
|
"operator": "AND",
|
|
"conditions": [
|
|
{
|
|
"field": "statuses%5B%5D",
|
|
"operator": "$stringExactlyMatches",
|
|
"value": "open"
|
|
}
|
|
]
|
|
}
|
|
]
|
|
}
|
|
```
|
|
Campos disponíveis: `space_ids%5B%5D`, `project_ids%5B%5D`, `list_ids%5B%5D`, `statuses%5B%5D`, `include_closed`, `assignees%5B%5D`, `tags%5B%5D`, `due_date_gt`, `due_date_lt`, `date_created_gt`, `date_created_lt`, `date_updated_gt`, `date_updated_lt`
|
|
|
|
</Accordion>
|
|
|
|
<Accordion title="clickup/get_task_in_list">
|
|
**Descrição:** Obtenha tarefas em uma lista específica do ClickUp.
|
|
|
|
**Parâmetros:**
|
|
- `listId` (string, obrigatório): Lista - Selecione uma Lista da qual obter as tarefas. Use as Configurações do Usuário no Portal de Conexão para permitir que os usuários selecionem uma Lista ClickUp.
|
|
- `taskFilterFormula` (string, opcional): Busque tarefas que correspondam aos filtros especificados. Por exemplo: name=task1.
|
|
|
|
</Accordion>
|
|
|
|
<Accordion title="clickup/create_task">
|
|
**Descrição:** Crie uma tarefa no ClickUp.
|
|
|
|
**Parâmetros:**
|
|
- `listId` (string, obrigatório): Lista - Selecione uma Lista para criar esta tarefa. Use as Configurações do Usuário no Portal de Conexão para permitir que os usuários selecionem uma Lista ClickUp.
|
|
- `name` (string, obrigatório): Nome - O nome da tarefa.
|
|
- `description` (string, opcional): Descrição - Descrição da tarefa.
|
|
- `status` (string, opcional): Status - Selecione um Status para esta tarefa. Use as Configurações do Usuário no Portal de Conexão para permitir que os usuários selecionem um Status ClickUp.
|
|
- `assignees` (string, opcional): Responsáveis - Selecione um Membro (ou um array de IDs de membros) para ser responsável por esta tarefa. Use as Configurações do Usuário no Portal de Conexão para permitir que os usuários selecionem um Membro ClickUp.
|
|
- `dueDate` (string, opcional): Data de Vencimento - Especifique uma data para a conclusão desta tarefa.
|
|
- `additionalFields` (string, opcional): Campos Adicionais - Especifique campos adicionais para incluir nesta tarefa em formato JSON.
|
|
|
|
</Accordion>
|
|
|
|
<Accordion title="clickup/update_task">
|
|
**Descrição:** Atualize uma tarefa no ClickUp.
|
|
|
|
**Parâmetros:**
|
|
- `taskId` (string, obrigatório): ID da tarefa - O ID da tarefa a ser atualizada.
|
|
- `listId` (string, obrigatório): Lista - Selecione uma Lista para criar esta tarefa. Use as Configurações do Usuário no Portal de Conexão para permitir que os usuários selecionem uma Lista ClickUp.
|
|
- `name` (string, opcional): Nome - O nome da tarefa.
|
|
- `description` (string, opcional): Descrição - Descrição da tarefa.
|
|
- `status` (string, opcional): Status - Selecione um Status para esta tarefa. Use as Configurações do Usuário no Portal de Conexão para permitir que os usuários selecionem um Status ClickUp.
|
|
- `assignees` (string, opcional): Responsáveis - Selecione um Membro (ou um array de IDs de membros) para ser responsável por esta tarefa. Use as Configurações do Usuário no Portal de Conexão para permitir que os usuários selecionem um Membro ClickUp.
|
|
- `dueDate` (string, opcional): Data de Vencimento - Especifique uma data para a conclusão desta tarefa.
|
|
- `additionalFields` (string, opcional): Campos Adicionais - Especifique campos adicionais para incluir nesta tarefa em formato JSON.
|
|
|
|
</Accordion>
|
|
|
|
<Accordion title="clickup/delete_task">
|
|
**Descrição:** Exclua uma tarefa no ClickUp.
|
|
|
|
**Parâmetros:**
|
|
- `taskId` (string, obrigatório): ID da tarefa - O ID da tarefa a ser excluída.
|
|
|
|
</Accordion>
|
|
|
|
<Accordion title="clickup/get_list">
|
|
**Descrição:** Obtenha informações da Lista no ClickUp.
|
|
|
|
**Parâmetros:**
|
|
- `spaceId` (string, obrigatório): ID do Espaço - O ID do espaço que contém as listas.
|
|
|
|
</Accordion>
|
|
|
|
<Accordion title="clickup/get_custom_fields_in_list">
|
|
**Descrição:** Obtenha Campos Personalizados em uma Lista no ClickUp.
|
|
|
|
**Parâmetros:**
|
|
- `listId` (string, obrigatório): ID da Lista - O ID da lista da qual obter os campos personalizados.
|
|
|
|
</Accordion>
|
|
|
|
<Accordion title="clickup/get_all_fields_in_list">
|
|
**Descrição:** Obtenha Todos os Campos em uma Lista no ClickUp.
|
|
|
|
**Parâmetros:**
|
|
- `listId` (string, obrigatório): ID da Lista - O ID da lista da qual obter todos os campos.
|
|
|
|
</Accordion>
|
|
|
|
<Accordion title="clickup/get_space">
|
|
**Descrição:** Obtenha informações do Espaço no ClickUp.
|
|
|
|
**Parâmetros:**
|
|
- `spaceId` (string, opcional): ID do Espaço - O ID do espaço a ser recuperado.
|
|
|
|
</Accordion>
|
|
|
|
<Accordion title="clickup/get_folders">
|
|
**Descrição:** Obtenha Pastas no ClickUp.
|
|
|
|
**Parâmetros:**
|
|
- `spaceId` (string, obrigatório): ID do Espaço - O ID do espaço que contém as pastas.
|
|
|
|
</Accordion>
|
|
|
|
<Accordion title="clickup/get_member">
|
|
**Descrição:** Obtenha informações de Membro no ClickUp.
|
|
|
|
**Parâmetros:** Nenhum obrigatório.
|
|
|
|
</Accordion>
|
|
</AccordionGroup>
|
|
|
|
## Exemplos de Uso
|
|
|
|
### Configuração Básica do Agente ClickUp
|
|
|
|
```python
|
|
from crewai import Agent, Task, Crew
|
|
|
|
# Create an agent with ClickUp capabilities
|
|
clickup_agent = Agent(
|
|
role="Task Manager",
|
|
goal="Manage tasks and projects in ClickUp efficiently",
|
|
backstory="An AI assistant specialized in task management and productivity coordination.",
|
|
apps=['clickup']
|
|
)
|
|
|
|
# Task to create a new task
|
|
create_task = Task(
|
|
description="Create a task called 'Review Q1 Reports' in the Marketing list with high priority",
|
|
agent=clickup_agent,
|
|
expected_output="Task created successfully with task ID"
|
|
)
|
|
|
|
# Run the task
|
|
crew = Crew(
|
|
agents=[clickup_agent],
|
|
tasks=[create_task]
|
|
)
|
|
|
|
crew.kickoff()
|
|
```
|
|
|
|
### Filtrando Ferramentas Específicas do ClickUp
|
|
|
|
```python
|
|
|
|
task_coordinator = Agent(
|
|
role="Task Coordinator",
|
|
goal="Create and manage tasks efficiently",
|
|
backstory="An AI assistant that focuses on task creation and status management.",
|
|
apps=['clickup']
|
|
)
|
|
|
|
# Task to manage task workflow
|
|
task_workflow = Task(
|
|
description="Create a task for project planning and assign it to the development team",
|
|
agent=task_coordinator,
|
|
expected_output="Task created and assigned successfully"
|
|
)
|
|
|
|
crew = Crew(
|
|
agents=[task_coordinator],
|
|
tasks=[task_workflow]
|
|
)
|
|
|
|
crew.kickoff()
|
|
```
|
|
|
|
### Gerenciamento Avançado de Projetos
|
|
|
|
```python
|
|
from crewai import Agent, Task, Crew
|
|
|
|
project_manager = Agent(
|
|
role="Project Manager",
|
|
goal="Coordinate project activities and track team productivity",
|
|
backstory="An experienced project manager who ensures projects are delivered on time.",
|
|
apps=['clickup']
|
|
)
|
|
|
|
# Complex task involving multiple ClickUp operations
|
|
project_coordination = Task(
|
|
description="""
|
|
1. Get all open tasks in the current space
|
|
2. Identify overdue tasks and update their status
|
|
3. Create a weekly report task summarizing project progress
|
|
4. Assign the report task to the team lead
|
|
""",
|
|
agent=project_manager,
|
|
expected_output="Project status updated and weekly report task created and assigned"
|
|
)
|
|
|
|
crew = Crew(
|
|
agents=[project_manager],
|
|
tasks=[project_coordination]
|
|
)
|
|
|
|
crew.kickoff()
|
|
```
|
|
|
|
### Busca e Gerenciamento de Tarefas
|
|
|
|
```python
|
|
from crewai import Agent, Task, Crew
|
|
|
|
task_analyst = Agent(
|
|
role="Task Analyst",
|
|
goal="Analyze task patterns and optimize team productivity",
|
|
backstory="An AI assistant that analyzes task data to improve team efficiency.",
|
|
apps=['clickup']
|
|
)
|
|
|
|
# Task to analyze and optimize task distribution
|
|
task_analysis = Task(
|
|
description="""
|
|
Search for all tasks assigned to team members in the last 30 days,
|
|
analyze completion patterns, and create optimization recommendations
|
|
""",
|
|
agent=task_analyst,
|
|
expected_output="Task analysis report with optimization recommendations"
|
|
)
|
|
|
|
crew = Crew(
|
|
agents=[task_analyst],
|
|
tasks=[task_analysis]
|
|
)
|
|
|
|
crew.kickoff()
|
|
```
|
|
|
|
### Precisa de Ajuda?
|
|
|
|
<Card title="Precisa de Ajuda?" icon="headset" href="mailto:support@crewai.com">
|
|
Entre em contato com nossa equipe de suporte para auxílio na configuração ou
|
|
solução de problemas da integração com ClickUp.
|
|
</Card>
|