Integração com Slack
Visão Geral
Seção intitulada “Visão Geral”Permita que seus agentes gerenciem a comunicação da equipe pelo Slack. Envie mensagens, pesquise conversas, gerencie canais e coordene as atividades do time para otimizar os fluxos de colaboração com automação impulsionada por IA.
Pré-requisitos
Seção intitulada “Pré-requisitos”Antes de usar a integração com o Slack, certifique-se de que você tenha:
- Uma conta CrewAI AMP com assinatura ativa
- Um workspace do Slack com permissões apropriadas
- Seu workspace do Slack conectado por meio da página de Integrações
Configurando a Integração Slack
Seção intitulada “Configurando a Integração Slack”1. Conecte seu Workspace do Slack
Seção intitulada “1. Conecte seu Workspace do Slack”- Acesse CrewAI AMP Integrações
- Encontre Slack na seção Integrações de Autenticação
- Clique em Conectar e complete o fluxo OAuth
- Conceda as permissões necessárias para comunicação em equipe
- Copie seu Token Enterprise em Configurações de Integração
2. Instale o Pacote Necessário
Seção intitulada “2. Instale o Pacote Necessário”uv add crewai-tools3. Configuração de variável de ambiente
Seção intitulada “3. Configuração de variável de ambiente”export CREWAI_PLATFORM_INTEGRATION_TOKEN="seu_enterprise_token"Ou adicione ao seu arquivo .env:
CREWAI_PLATFORM_INTEGRATION_TOKEN=seu_enterprise_tokenFerramentas Disponíveis
Seção intitulada “Ferramentas Disponíveis”Gerenciamento de Usuários
Seção intitulada “Gerenciamento de Usuários”slack/list_members
Descrição: Lista todos os membros de um canal do Slack.
Parâmetros:
- Nenhum parâmetro necessário – recupera todos os membros do canal
slack/get_user_by_email
Descrição: Encontre um usuário no seu workspace do Slack pelo endereço de e-mail.
Parâmetros:
email(string, obrigatório): O endereço de e-mail de um usuário do workspace
slack/get_users_by_name
Descrição: Pesquise usuários pelo nome ou nome de exibição.
Parâmetros:
name(string, obrigatório): Nome real do usuário para a pesquisadisplayName(string, obrigatório): Nome de exibição do usuário para a pesquisapaginationParameters(object, opcional): Configurações de paginaçãopageCursor(string, opcional): Cursor de página para paginação
Gerenciamento de Canais
Seção intitulada “Gerenciamento de Canais”slack/list_channels
Descrição: Lista todos os canais do seu workspace no Slack.
Parâmetros:
- Nenhum parâmetro necessário – recupera todos os canais acessíveis
Mensagens
Seção intitulada “Mensagens”slack/send_message
Descrição: Envie uma mensagem para um canal do Slack.
Parâmetros:
channel(string, obrigatório): Nome ou ID do canal – Use as Configurações de Workflow do Connect Portal para que usuários selecionem o canal, ou insira o nome do canal para criar um novomessage(string, obrigatório): Texto da mensagem a ser enviadabotName(string, obrigatório): Nome do bot que enviará a mensagembotIcon(string, obrigatório): Ícone do bot – Pode ser uma URL de imagem ou um emoji (ex.: “:dog:”)blocks(object, opcional): JSON do Slack Block Kit para mensagens ricas com anexos e elementos interativosauthenticatedUser(boolean, opcional): Se verdadeiro, a mensagem aparecerá como enviada pelo seu usuário autenticado do Slack ao invés do aplicativo (por padrão é falso)
slack/send_direct_message
Descrição: Envie uma mensagem direta para um usuário específico no Slack.
Parâmetros:
memberId(string, obrigatório): ID do usuário destinatário – Use as Configurações de Workflow do Connect Portal para que usuários selecionem um membromessage(string, obrigatório): Texto da mensagem a ser enviadabotName(string, obrigatório): Nome do bot que enviará a mensagembotIcon(string, obrigatório): Ícone do bot – Pode ser uma URL de imagem ou um emoji (ex.: “:dog:”)blocks(object, opcional): JSON do Slack Block Kit para formatação rica com anexos e elementos interativosauthenticatedUser(boolean, opcional): Se verdadeiro, a mensagem aparecerá como enviada pelo seu usuário autenticado do Slack (padrão é falso)
Pesquisa & Descoberta
Seção intitulada “Pesquisa & Descoberta”slack/search_messages
Descrição: Procure por mensagens em todo o seu workspace do Slack.
Parâmetros:
query(string, obrigatório): Consulta de pesquisa usando a sintaxe do Slack para encontrar mensagens que correspondam aos critérios especificados
Exemplos de Consultas de Pesquisa:
"project update"– Busca mensagens contendo “project update”from:@john in:#general– Busca mensagens do John no canal #generalhas:link after:2023-01-01– Busca mensagens com links após 1º de janeiro de 2023in:@channel before:yesterday– Busca mensagens em um canal específico antes de ontem
Integração com Block Kit
Seção intitulada “Integração com Block Kit”O Block Kit do Slack permite criar mensagens ricas e interativas. Veja alguns exemplos de como usar o parâmetro blocks:
Texto Simples com Anexo
Seção intitulada “Texto Simples com Anexo”[ { "text": "I am a test message", "attachments": [ { "text": "And here's an attachment!" } ] }]Formatação Rica com Seções
Seção intitulada “Formatação Rica com Seções”[ { "type": "section", "text": { "type": "mrkdwn", "text": "*Project Update*\nStatus: ✅ Complete" } }, { "type": "divider" }, { "type": "section", "text": { "type": "plain_text", "text": "All tasks have been completed successfully." } }]Exemplos de Uso
Seção intitulada “Exemplos de Uso”Configuração Básica de Agente Slack
Seção intitulada “Configuração Básica de Agente Slack”from crewai import Agent, Task, Crew
# Create an agent with Slack capabilitiesslack_agent = Agent( role="Team Communication Manager", goal="Facilitate team communication and coordinate collaboration efficiently", backstory="An AI assistant specialized in team communication and workspace coordination.", apps=['slack'])
# Task to send project updatesupdate_task = Task( description="Send a project status update to the #general channel with current progress", agent=slack_agent, expected_output="Project update message sent successfully to team channel")
# Run the taskcrew = Crew( agents=[slack_agent], tasks=[update_task])
crew.kickoff()Filtrando Ferramentas Específicas do Slack
Seção intitulada “Filtrando Ferramentas Específicas do Slack”communication_manager = Agent( role="Communication Coordinator", goal="Manage team communications and ensure important messages reach the right people", backstory="An experienced communication coordinator who handles team messaging and notifications.", apps=['slack'])
# Task to coordinate team communicationcoordination_task = Task( description="Send task completion notifications to team members and update project channels", agent=communication_manager, expected_output="Team notifications sent and project channels updated successfully")
crew = Crew( agents=[communication_manager], tasks=[coordination_task])
crew.kickoff()Mensagens Avançadas com Block Kit
Seção intitulada “Mensagens Avançadas com Block Kit”from crewai import Agent, Task, Crew
notification_agent = Agent( role="Notification Manager", goal="Create rich, interactive notifications and manage workspace communication", backstory="An AI assistant that specializes in creating engaging team notifications and updates.", apps=['slack'])
# Task to send rich notificationsnotification_task = Task( description=""" 1. Send a formatted project completion message to #general with progress charts 2. Send direct messages to team leads with task summaries 3. Create interactive notification with action buttons for team feedback """, agent=notification_agent, expected_output="Rich notifications sent with interactive elements and formatted content")
crew = Crew( agents=[notification_agent], tasks=[notification_task])
crew.kickoff()Pesquisa de Mensagens e Análises
Seção intitulada “Pesquisa de Mensagens e Análises”from crewai import Agent, Task, Crew
analytics_agent = Agent( role="Communication Analyst", goal="Analyze team communication patterns and extract insights from conversations", backstory="An analytical AI that excels at understanding team dynamics through communication data.", apps=['slack'])
# Complex task involving search and analysisanalysis_task = Task( description=""" 1. Search for recent project-related messages across all channels 2. Find users by email to identify team members 3. Analyze communication patterns and response times 4. Generate weekly team communication summary """, agent=analytics_agent, expected_output="Comprehensive communication analysis with team insights and recommendations")
crew = Crew( agents=[analytics_agent], tasks=[analysis_task])
crew.kickoff()Fale com o Suporte
Seção intitulada “Fale com o Suporte”Precisa de Ajuda?
Entre em contato com nossa equipe de suporte para obter ajuda na configuração ou solução de problemas da integração com o Slack.