Transcrição para o Slack: os caminhos que realmente funcionam
apislackintegrações

Transcrição para o Slack: os caminhos que realmente funcionam

BMMamane B. MoussaMay 26, 2026Updated July 2, 20269 min read

Summarize this article with:

TL;DR

Existem três formas de levar transcrições ao Slack: usar uma ferramenta com app nativo para o Slack (Otter.ai ou Fireflies), conectar você mesmo qualquer serviço de transcrição com suporte a webhook ao Slack, ou ativar a notificação do Slack integrada no ConvertAudioToText. Os apps nativos são mais rápidos de configurar, mas prendem você ao modelo de bot de reunião deles. Uma abordagem de webhook personalizado funciona com qualquer serviço, mas leva uma tarde para construir.

Levar transcrições ao Slack é um problema resolvido em 2026, mas o caminho certo depende da sua ferramenta. O Otter.ai e o Fireflies têm apps nativos para o Slack que publicam notas de reunião automaticamente. Todos os outros serviços de transcrição, incluindo o ConvertAudioToText, chegam ao Slack por meio de uma configuração de notificação por webhook integrada ou de um handler que você mesmo constrói. Este guia cobre os três caminhos.

A transcrição é o payload: gere primeiro, depois encaminhe para o Slack
A transcrição é o payload: gere primeiro, depois encaminhe para o Slack

Quem tem um app nativo para o Slack

Duas ferramentas têm instalações verificadas no Slack Marketplace:

FerramentaIntegração com o SlackO que publicaPlano necessário
Otter.aiApp nativo (marketplace)Notas de reunião, resumo, itens de açãoTodos os planos
Fireflies.aiApp nativo (marketplace)Transcrição, resumo, itens de açãoTodos os planos pagos; Integration Rules exigem Business ou superior
A maioria das outrasWebhook de entrada ou ZapierVaria conforme a configuraçãoDepende

O Otter.ai publica um lembrete de reunião antes da chamada, escreve notas em tempo real e envia as notas concluídas com um resumo de IA para um canal designado do Slack após o fim da reunião. Quando alguém compartilha um link do Otter no Slack, o app o expande com metadados da reunião. Tudo isso funciona no plano Basic gratuito. O app do Otter está listado no Slack Marketplace.

O Fireflies.ai publica transcrições, resumos e itens de ação em um canal público, grupo privado ou mensagem direta. Você também pode configurar alertas por palavra-chave: recebe um ping no Slack se o nome de um concorrente ou uma frase específica surgir numa chamada. O Fireflies adicionou transcrição de Huddles do Slack (em beta desde o início de 2026), que captura e registra as conversas de Huddle de volta no seu painel do Fireflies. Disponível na página de integrações do Fireflies.

Na minha visão: se sua equipe faz reuniões pelo Zoom, Google Meet ou Teams e quer notas no Slack sem tocar numa linha de código, o Otter ou o Fireflies resolve. A contrapartida é que ambas as ferramentas funcionam como bots de reunião, então servem a fluxos centrados em reuniões, não a áudio genérico ou arquivos enviados.

A notificação do Slack integrada ao CATT

O ConvertAudioToText tem uma configuração de notificação do Slack no painel, em Configurações. Cole uma URL de Incoming Webhook do seu workspace do Slack, ative "Notificar ao concluir" e o CATT publica nesse canal sempre que uma transcrição termina.

A notificação inclui o nome do arquivo, a duração do áudio, um link direto para a transcrição e o resumo de IA (limitado a 400 caracteres) como anexo. Isso cobre o caso de uso mais comum de equipe: alguém envia uma gravação e a equipe recebe um ping no Slack quando a transcrição fica pronta.

Isso funciona para qualquer arquivo de áudio ou vídeo enviado pela ferramenta de transcrição. Sem necessidade de código. A única coisa que isso não faz é transcrever automaticamente arquivos compartilhados no Slack, o que exige a abordagem de webhook personalizado abaixo.

O caminho do desenvolvedor: webhooks do CATT para o Slack

O CATT tem webhooks de saída (plano Business). Quando um trabalho de transcrição termina, o CATT envia via POST um payload assinado para qualquer URL HTTPS que você registrar. Você recebe o evento e o encaminha para o Slack.

Registre um webhook pelo painel ou pela API:

curl -X POST https://api.convertaudiototext.com/api/v1/dashboard/webhooks \
  -H "Authorization: Bearer <your-api-key>" \
  -H "Content-Type: application/json" \
  -d '{"url": "https://your-server.com/webhooks/catt", "events": ["job.completed"]}'

A resposta inclui um campo secret. Guarde-o. Cada entrega será assinada com ele.

Quando um trabalho é concluído, o payload fica assim:

{
  "event": "job.completed",
  "timestamp": "2026-07-01T10:23:45Z",
  "data": {
    "job_id": "550e8400-e29b-41d4-a716-446655440000",
    "status": "completed",
    "duration": 342,
    "completed_at": "2026-07-01T10:23:44Z",
    "result_url": "https://api.convertaudiototext.com/api/v1/result/<job_id>"
  }
}

A assinatura chega no cabeçalho X-Webhook-Signature como sha256=&lt;hmac-hex&gt;.

Receber o webhook e publicar no Slack

import crypto from 'crypto';
import express from 'express';
import fetch from 'node-fetch';

const app = express();

app.post('/webhooks/catt',
  express.raw({ type: 'application/json' }),
  async (req, res) => {
    const rawSig = req.header('X-Webhook-Signature') ?? '';
    const [algo, receivedHex] = rawSig.split('=');
    if (algo !== 'sha256' || !receivedHex) {
      return res.status(401).send('Bad signature format');
    }

    const expected = crypto
      .createHmac('sha256', process.env.CATT_WEBHOOK_SECRET)
      .update(req.body)
      .digest('hex');

    if (!crypto.timingSafeEqual(Buffer.from(receivedHex), Buffer.from(expected))) {
      return res.status(401).send('Signature mismatch');
    }

    const event = JSON.parse(req.body.toString());
    if (event.event !== 'job.completed') return res.sendStatus(200);

    const { job_id, duration, result_url } = event.data;
    const durationMin = (duration / 60).toFixed(1);

    // Optionally fetch the full transcript text from result_url
    // using your API key before posting to Slack.

    await fetch(process.env.SLACK_WEBHOOK_URL, {
      method: 'POST',
      headers: { 'Content-Type': 'application/json' },
      body: JSON.stringify({
        text: `Transcript ready (${durationMin} min). View: ${result_url}`,
        attachments: [{
          color: '#2563eb',
          title: 'ConvertAudioToText',
          text: `Job ID: ${job_id}`
        }]
      })
    });

    res.sendStatus(200);
  }
);

Para uma análise mais profunda de quando o polling supera os webhooks e vice-versa, veja webhook vs. polling para transcrições.

Se quiser o texto completo da transcrição na mensagem do Slack, busque-o em result_url usando sua chave de API antes de publicar. Para transcrições longas, publicar um resumo mais um link para o resultado completo fica mais limpo do que despejar 30.000 caracteres numa mensagem do Slack.

A alternativa sem código: Zapier e n8n

As duas ferramentas conseguem conectar o Slack a uma API de transcrição sem código.

O Zapier tem um gatilho "New File" para o Slack. A limitação: capturar um webhook de conclusão de um serviço externo exige o gatilho de webhook pago do Zapier. Se seu serviço de transcrição envia um webhook ao concluir, o Zapier pode recebê-lo e publicar no Slack. A direção Zapier→Slack (publicar uma mensagem) está disponível em todos os planos.

O n8n suporta eventos de file-shared do Slack como nó de gatilho e pode enviar requisições para APIs externas. O n8n auto-hospedado é gratuito. Para equipes com um desenvolvedor que tenha algumas horas disponíveis, a abordagem de webhook personalizado acima é mais flexível. Para equipes sem nenhum desenvolvedor, vale a pena avaliar o n8n. Veja automação de transcrição com o Zapier para um passo a passo.

Notas práticas

Limites de tamanho de arquivo do Slack. O Slack aceita arquivos de até 1 GB em todos os planos. Para arquivos de áudio ou vídeo próximos desse limite, espere um tempo de upload considerável dentro do Slack antes que qualquer fluxo de trabalho consiga pegá-los.

Limites de taxa de mensagens do Slack. A API chat.postMessage permite cerca de 1 mensagem por segundo por canal, com margem para rajadas. Na prática, isso só importa se muitas transcrições terminarem ao mesmo tempo e todas notificarem o mesmo canal.

API de upload de arquivos do Slack. Se quiser enviar um arquivo de texto de transcrição ao Slack via API, use o fluxo files.getUploadURLExternal mais files.completeUploadExternal, ou o método uploadV2 no SDK Node oficial do Slack. O endpoint antigo files.upload parou de funcionar em novembro de 2025.

CATT sem bot de reunião. Se você precisa de transcrições para arquivos de áudio, podcasts ou gravações enviadas, em vez de reuniões ao vivo, o ConvertAudioToText cuida disso sem instalar um bot de reunião. Configure o webhook do Slack integrado para notificações, ou use os webhooks de desenvolvedor (plano Business) para construir uma integração mais estreita.

Como começar

O caminho mais rápido para ter transcrições funcionando no Slack:

  1. Se você realiza reuniões e já usa Otter ou Fireflies, instale o app deles para o Slack a partir do marketplace. Pronto em menos de 10 minutos.
  2. Se você usa o CATT para uploads de áudio, ative a notificação do Slack nas configurações do painel e cole sua URL de Incoming Webhook.
  3. Se você quer uma solução personalizada que reaja a uploads de arquivos no Slack ou a lógica de roteamento própria, registre um endpoint de webhook do CATT e conecte-o usando o handler acima.

FAQ

Preciso escrever código para levar transcrições ao Slack?

Nem sempre. Tanto o Otter.ai quanto o Fireflies têm apps para o Slack no Slack Marketplace que publicam notas de reunião automaticamente, sem código. Se você usa um serviço sem app nativo para o Slack, tem duas opções sem código: Zapier (com plano pago para gatilhos de webhook) ou n8n (que pode ser auto-hospedado). Escrever seu próprio handler de webhook dá o máximo de controle e leva cerca de 100–150 linhas de Node.js.

O ConvertAudioToText tem um app nativo para o Slack?

Não há app no Slack Marketplace. O CATT tem uma configuração de notificação do Slack integrada: cole sua URL de Incoming Webhook nas configurações do painel e o CATT publica um aviso de conclusão com link e resumo de IA quando qualquer transcrição termina. Desenvolvedores no plano Business também podem registrar webhooks de saída disparados em job.completed e publicar esses payloads no Slack num handler sob seu controle.

Qual plano o Fireflies exige para integração com o Slack?

Segundo a documentação do Fireflies, a integração com o Slack está disponível em todos os planos pagos. As Advanced Integration Rules (que filtram quais reuniões são publicadas no Slack com base em título, anfitrião ou participantes) exigem o plano Business ou superior.

Qual é o cabeçalho correto para verificar os webhooks do CATT?

A assinatura é enviada no cabeçalho X-Webhook-Signature como sha256=<hmac-hex>. Calcule o HMAC-SHA256 do corpo bruto da requisição usando seu segredo de webhook, adicione o prefixo 'sha256=' e compare com crypto.timingSafeEqual para evitar ataques de timing.

Fontes

Try transcription free

Convert any audio or video to clean, unwatermarked text — speaker labels, timestamps, and AI summaries included. First 10 minutes free, no account.

Related Articles