Criar uma tarefa a partir do CRM
Nesta recipe
- Autentique com o token
- Crie a tarefa
- Monte o checklist
- Comente com o contexto
Acompanhar a execução de uma tarefa
Inicie, pause e finalize uma tarefa pela API para o Wiboor medir o tempo gasto, e consulte o resultado com GET /v1/tasks/{id}.
4 passos
Abrir recipe: Acompanhar a execução de uma tarefaCriar uma tarefa a partir de um template
Encontre o template com GET /v1/templates, pegue o rascunho com o prazo já calculado e crie a tarefa enviando o templateId.
3 passos
Abrir recipe: Criar uma tarefa a partir de um templateCriar uma tarefa a partir do CRM
Quando um lead muda de etapa, crie uma tarefa de follow-up com POST /v1/tasks, monte o checklist e deixe um comentário com o contexto.
4 passos
Abrir recipe: Criar uma tarefa a partir do CRMCriar um projeto com tarefas
Crie as tarefas com POST /v1/tasks, agrupe-as num projeto com POST /v1/projects e vincule depois as que surgirem.
3 passos
Abrir recipe: Criar um projeto com tarefasListar as tarefas abertas de um usuário
Percorra todas as páginas de GET /v1/tasks filtrando por executor e status, e monte um painel ou relatório com o resultado.
3 passos
Abrir recipe: Listar as tarefas abertas de um usuárioRegistrar e aprovar uma ideia
Registre sugestões vindas de outro sistema com POST /v1/ideas e aprove a ideia gerando uma tarefa com PATCH /v1/ideas/{id}/change-status.
3 passos
Abrir recipe: Registrar e aprovar uma ideia
Listar as tarefas abertas de um usuário
Percorra todas as páginas de GET /v1/tasks filtrando por executor e status, e monte um painel ou relatório com o resultado.
Pressione Enter para destacar o código deste passo1. Encontre o usuário
Listar espaços traz os espaços do dono do token com os membros (
users:id,name,email). Guarde oidno seu sistema para não procurar toda vez.2. Percorra as páginas
Listar tarefas é paginada:
countvai até 100 por página epagecomeça em 1. Repitastatus[]para cada status. Pare quandopagination.currentPagechegar apagination.lastPage. Outros filtros úteis:projectId,departmentIds[],search,startDateeendDate.3. Use o resultado
O
endedAté o prazo planejado e otaskNumberé o número que as pessoas veem no Wiboor. Para trazer comentários ou checklist junto, use o parâmetrojoin.
const BASE_URL = 'https://api.azzimuti.com.br/v1';
const headers = { Authorization: `Bearer ${process.env.WIBOOR_TOKEN}` };
// 1. Descubra o ID do usuário pelos membros dos seus espaços
const spaces = await (await fetch(`${BASE_URL}/departments`, { headers })).json();
const user = spaces.flatMap(space => space.users).find(u => u.email === 'ana@exemplo.com.br');
// 2. Percorra todas as páginas das tarefas abertas dele
const tasks = [];
for (let page = 1; ; page++) {
const params = new URLSearchParams({ userExecutorId: user.id, count: '100', page: String(page) });
for (const status of ['NOT_STARTED', 'STARTED', 'PAUSED']) params.append('status[]', status);
const { data, pagination } = await (await fetch(`${BASE_URL}/tasks?${params}`, { headers })).json();
tasks.push(...data);
if (pagination.currentPage >= pagination.lastPage) break;
}
// 3. Ordene pelo prazo
tasks.sort((a, b) => new Date(a.endedAt) - new Date(b.endedAt));
console.log(tasks.map(t => `#${t.taskNumber} ${t.title} (${t.status})`));Resposta
{
"data": [
{
"id": "0197b3f0-1a2b-7c3d-8e4f-5a6b7c8d9e0f",
"taskNumber": 85731,
"title": "Follow-up: ACME Ltda. entrou em Proposta",
"status": "STARTED",
"priority": 7,
"endedAt": "2026-11-05T21:00:00.000Z"
}
],
"pagination": {
"totalItems": 37,
"perPage": 100,
"currentPage": 1,
"lastPage": 1
}
}