Principal Canais e caixas de entrada
📲

Canais e caixas de entrada

Como conectar e configurar Instagram, Web Widget e e-mail.
Ian Kraskoff Fabrício Rissetto Tech
Por Ian Kraskoff and 6 outros
• 18 artigos

Como conectar o Instagram ao Cloud Chat

Quando usar - Você quer atender as mensagens diretas (DMs) do Instagram dentro do Cloud Chat - Você quer responder comentários dos seus posts e reels sem sair do Cloud Chat - Você quer acompanhar menções e respostas aos seus stories Pré-requisitos - Estar logado como administrador no Cloud Chat - Ter uma conta profissional do Instagram (Business ou Creator) - Ter o login e a senha dessa conta do Instagram :::info Não é mais preciso ter uma Página do Facebook vinculada: a conexão é feita direto com o login do Instagram. ::: Sobre este artigo Neste artigo você aprende a conectar sua conta do Instagram ao Cloud Chat pela integração nativa do Instagram. Se o seu Instagram já está conectado ao Cloud Chat pela Página do Facebook (integração antiga), não crie uma caixa nova: siga o artigo Migrar seu Instagram da Página do Facebook para a integração nativa. Assim você mantém o histórico das conversas. Passo a passo Etapa 1 — Adicionar uma caixa de entrada Vá em Configurações → Caixas de Entrada e clique em Adicionar Caixa de Entrada. Tela Caixas de Entrada com o botão Adicionar Caixa de Entrada em destaque Etapa 2 — Escolher o canal Instagram Na lista de canais, escolha Instagram. Lista de canais com o card Instagram em destaque Etapa 3 — Conectar com o Instagram Clique em Conectar com Instagram. Você será direcionado para o login do Instagram: entre com a conta que deseja conectar e aprove as permissões solicitadas. Tela Canal do Instagram com o botão Conectar com Instagram em destaque Etapa 4 — Nomear a caixa e escolher as interações De volta ao Cloud Chat, você verá a mensagem Conta do Instagram conectada com sucesso!. Defina o Nome da Inbox e escolha quais interações quer gerenciar: - Mensagens diretas: receba e responda as DMs dos seus clientes - Comentários em posts e reels: leia, responda, oculte ou apague comentários - Menções e respostas em stories: receba quando clientes mencionarem você ou responderem seus stories - Responder a clientes após 24 horas: permite enviar mensagens de acompanhamento depois da janela de 24 horas (até 7 dias — veja Instagram: como ativar a resposta após 24 horas) Depois clique em Criar Canal do Instagram. Tela de configuração da inbox do Instagram com nome, interações e o botão Criar Canal do Instagram Etapa 5 — Adicionar agentes Escolha os agentes que vão atender essa caixa e clique em Adicionar agentes. Pronto! Sua caixa do Instagram está conectada ao Cloud Chat. Caso já tenha usado outra integração — Definir o app de roteamento padrão Se o seu Instagram já esteve conectado a outra ferramenta (ou à integração antiga pela Página do Facebook), o app do Cloud Chat precisa ser o app padrão de respostas na Meta. Sem isso, ao responder, aparece o erro (#100) not the thread owner e a mensagem não é enviada. Na caixa de entrada do Instagram, abra a aba Configurações avançadas e vá até a seção Roteamento de conversas. Clique em Abrir configurações de roteamento de conversas da Meta e defina o app do Instagram do Cloud Chat como padrão. Aba Configurações avançadas com a seção Roteamento de conversas em destaque Observações - Você pode ligar ou desligar as interações (mensagens diretas, comentários, stories) a qualquer momento na aba Configurações avançadas da caixa de entrada. - Se a conexão com o Instagram expirar, ou se você precisar conceder novas permissões (por exemplo, para comentários), use o botão Reautorizar Instagram na aba Configurações avançadas. As mensagens diretas continuam funcionando enquanto você reautoriza. - Se o seu Instagram está conectado pela Página do Facebook, veja Migrar seu Instagram da Página do Facebook para a integração nativa.

Última atualização em Sep 23, 2026

Como instalar o Web Widget do Cloud Chat: público, com dados ou em área logada (HMAC)

Quando usar - Você quer adicionar o chat do Cloud Chat em qualquer página do seu site - Você quer passar dados do contato automaticamente (nome, e-mail, telefone, atributos) sem o cliente digitar - Você quer validar a identidade do usuário (HMAC) para impedir que alguém se passe por outra pessoa - Você quer permitir múltiplas conversas simultâneas e dar acesso ao histórico dentro do widget - Você quer restringir o widget a domínios específicos (ex: produção apenas) - Você quer saber se o cliente final vê o histórico dos atendimentos, como impedir que ele encerre a conversa ou por que mensagens de visitantes diferentes caem na mesma conversa Pré-requisitos - Estar logado como administrador no Cloud Chat - Acesso ao código fonte do site onde o widget vai ser instalado - Para Cenário 3 (área logada com HMAC): backend próprio para gerar o identifier_hash — não pode ser feito no frontend (expõe a chave secreta) Sobre este tutorial Esse artigo cobre o ciclo completo de instalação do Web Widget do Cloud Chat. Antes de seguir o passo a passo de código, você precisa decidir qual dos 3 cenários se encaixa no seu uso — eles têm requisitos e complexidade muito diferentes. Qual cenário é o seu? | Cenário | Quando usar | Passa dados do cliente? | Precisa de HMAC? | | --- | --- | --- | --- | | 1. Widget público (sem dados) | Site público / landing page / blog. O cliente digita o próprio nome e e-mail ao iniciar a conversa. | ❌ Não | ❌ Não | | 2. Widget com dados, fora de área logada | Páginas que já conhecem o contato mas não exigem autenticação forte (ex: link único enviado por e-mail/CRM, formulário pós-cadastro). | ✅ Sim | ❌ Não | | 3. Widget em área logada (com HMAC) | Portal do cliente, dashboard interno, app autenticado. Qualquer cenário onde o usuário precisa fazer login pra acessar. | ✅ Sim | ✅ Obrigatório | :::warning Se o seu caso é o Cenário 3 (área logada), você precisa configurar o HMAC. Sem ele a conversa não será criada. ::: :::info O atributo personalizado do contato deve ser criado previamente — ver Como criar campos customizados de contatos e conversas. ::: Etapa comum a todos os cenários — Criar a caixa de entrada do tipo Web Widget Antes de configurar qualquer cenário, você precisa criar uma caixa de entrada do tipo Website no Cloud Chat. O caminho é o mesmo para os 3 cenários. 1. Acessar a tela de Caixas de Entrada No painel do Cloud Chat, vá em Configurações → Caixas de Entrada e clique no botão Adicionar Caixa de Entrada (canto superior direito). 2. Escolher o canal Website Selecione o card Website na grade de canais disponíveis. 3. Configurar o canal do website Preencha os campos: - Nome do site — nome exibido pro cliente (ex: "Cloud Humans") - Domínio do website — domínio onde o widget vai rodar (ex: cloudhumans.com) - Cor do Widget — cor primária do botão e cabeçalho - Seja bem-vindo — título inicial do widget (ex: "Olá!") - Bem-vindo, saudação — mensagem de boas-vindas - Ativar saudação do canal — se quer enviar mensagem automática ao iniciar conversa Clique em Criar caixa de entrada. 4. Adicionar agentes Selecione os agentes que terão acesso a essa caixa de entrada. Como administrador, adicione-se a si mesmo se quiser visualizar todas as conversas. Clique em Adicionar agentes. 5. Configuração do script Na tela final (“Sua caixa de entrada está pronta!”), o Cloud Chat exibe o script básico de instalação do widget. Porém, existem outras opções de configuração que podem ser utilizadas dependendo do seu cenário. Clique em Mais configurações. Nessa seção, você verá as três opções de script disponíveis para instalação, que explicaremos abaixo. :::success Pronto. Agora vá pro cenário que se aplica ao seu caso (1, 2 ou 3 abaixo) e siga as instruções específicas de cada um. ::: Cenário 1 — Web Widget público (sem passar dados do cliente) Use quando o widget fica numa página pública (landing, blog, site institucional). O cliente digita o próprio nome / e-mail / telefone ao iniciar a conversa. Como instalar Cole o script copiado na Etapa Comum (Passo 5) logo antes do fechamento da tag </body> no HTML da página: :::info É só isso. Esse cenário não exige nada além do script base. Não chame setUser(), não passe identifier_hash. O cliente preenche os próprios dados no formulário inicial do widget. ::: Cenário 2 — Web Widget passando dados do cliente, fora de área logada Use quando você já conhece o contato mas a página não exige login. Exemplos: - Link único enviado por e-mail ou WhatsApp com o identifier na URL - Página pós-cadastro (o cliente acabou de preencher um formulário) - Página acessada via deep link de campanha de CRM Aqui você quer pré-preencher nome, e-mail, telefone e atributos personalizados sem o cliente digitar. Como instalar :::error ⚠️ O primeiro argumento de setUser(...) é o identifier — precisa ser único por usuário (ID interno, UUID do banco, etc). Se você deixar o identifier chumbado (valor fixo, copiado do exemplo, ou um placeholder), o Cloud Chat mescla todos os acessos como o mesmo contato — funde tickets de pessoas diferentes na mesma conversa e quebra o histórico irreversivelmente. Antes de subir pra produção, confirme com seu time de engenharia que o identifier está sendo populado dinamicamente com o ID real do usuário. ::: :::info Você precisa passar pelo menos o e-mail ou o telefone — são os identificadores que o Cloud Chat usa para fazer match com o contato. ::: Cenário 3 — Web Widget em área logada (com HMAC + opcionalmente múltiplas conversas) Use quando o widget fica dentro de área logada (portal do cliente, dashboard, app autenticado). Aqui o HMAC é obrigatório. Esse cenário também é o único onde faz sentido habilitar múltiplas conversas + histórico. 3.1 — Como funciona o HMAC A validação usa HMAC SHA-256: um código gerado a partir do identifier do usuário combinado com uma chave secreta (token) da caixa de entrada. :::warning A geração do identifier_hash é responsabilidade do cliente. O cálculo precisa acontecer no backend (servidor), nunca no navegador, se a chave secreta vazar no front-end, a proteção deixa de existir. A Cloud Humans fornece o token por caixa de entrada; implementar o cálculo e a entrega do hash ao widget é responsabilidade da equipe técnica do cliente. ::: 3.2 — Copiar o token da caixa de entrada Em Configurações → Caixas de Entrada → (sua inbox Website) → Configurações avançadas → Validação de Identidade do Usuário → Copiar. Esse token é secreto — guarde apenas no backend, nunca no frontend. 3.3 — Calcular o identifier_hash no backend Quando o usuário se autentica no seu sistema, o backend calcula: identifier_hash = HMAC_SHA256(token_da_inbox, identifier) Onde identifier é o ID único do usuário (UUID interno, e-mail corporativo, etc). Exemplos server-side: // Node.js const crypto = require('crypto'); const hash = crypto .createHmac('sha256', '<token-da-inbox>') .update('<identifier>') .digest('hex'); # Python import hashlib, hmac hash = hmac.new(b'<token-da-inbox>', b'<identifier>', hashlib.sha256).hexdigest() // PHP $identifier_hash = hash_hmac('sha256', '<identifier>', '<token-da-inbox>'); 3.4 — Enviar o hash no widget via setUser <script> (function(d,t) { var BASE_URL="https://cloudchat2.cloudhumans.com"; var g=d.createElement(t),s=d.getElementsByTagName(t)[0]; g.src=BASE_URL+"/packs/js/sdk.js"; g.defer = true; g.async = true; s.parentNode.insertBefore(g,s); g.onload=function(){ window.cloudchatSDK.run({ websiteToken: 'SEU_TOKEN_AQUI', baseUrl: BASE_URL }); window.addEventListener('cloudchat:ready', function() { window.$cloudchat.setUser('<identifier-do-usuario>', { identifier_hash: '<hash-gerado-no-backend>', email: '[email protected]', name: 'João da Silva', phone_number: '+5511999999999' }); }); } })(document,"script"); </script> 3.5 — Forçar a validação na caixa de entrada Ainda em Configurações avançadas, marque "Forçar validação de identidade do usuário" → Habilitado. A partir daí, requisições sem um identifier_hash válido são rejeitadas. :::error Ative o "Forçar validação" somente depois que o backend já estiver enviando o identifier_hash correto. Se ativar antes, todas as conversas que não enviam o hash passam a ser rejeitadas e o chat para de funcionar. Teste primeiro numa caixa de entrada de homologação. ::: :::success Boas práticas: - Use um identifier estável — nunca mude o identificador de um usuário existente - Não exponha o token HMAC no frontend - Gere o hash sempre no backend e envie ao cliente apenas no momento de inicializar o widget - Regenere o identifier_hash toda vez que o widget for carregado para um usuário autenticado ::: 3.6 — (Opcional) Habilitar múltiplas conversas e histórico Com o HMAC já funcionando, você pode habilitar a feature de múltiplas conversas + histórico: o mesmo usuário consegue manter vários atendimentos abertos em paralelo e ver o histórico de conversas já encerradas dentro do próprio widget. Útil para SaaS, B2B ou e-commerce com alta recompra/recontato. Como o usuário vê: o widget passa a exibir duas abas — Conversas ativas (em aberto) e Histórico de conversas (encerradas, com busca por data inicial, data final e ID do ticket; carrega 5 por vez). Vídeos demonstrativos: https://www.loom.com/share/5e1ffa9996814752b4e745191d5059f7 https://www.loom.com/share/184de48c78c440dfaf6169c14b244f94 Como ativar: 1. No painel do Cloud Chat, vá em Caixas de Entrada → (sua inbox Website) → Configuração 2. Ative a flag Múltiplas conversas por usuário 3. Copie o novo script exibido após a ativação — ele já vem com user_id e identifier_hash no formato correto 4. Substitua o script atual da página pelo novo :::error A feature de múltiplas conversas e histórico depende do HMAC estar ativo e funcionando. Não habilite em widget público (Cenário 1) nem em widget sem área logada (Cenário 2) — sem validação de identidade, qualquer um consegue acessar o histórico de outro usuário. ::: Validação de Domínio (opcional, todos os cenários) Configure os domínios onde o widget pode funcionar — útil para evitar uso fora dos domínios autorizados (staging, terceiros não autorizados). Em Caixas de Entrada → (sua inbox) → Configuração, na seção Validação de Domínio: | Configuração | Comportamento | | --- | --- | | Campo vazio | Sem restrições — funciona em qualquer domínio | | example.com | Permite uso apenas nesse domínio | | *.example.com | Permite uso em todos os subdomínios (ex: app.example.com, login.example.com) | Como testar 1. Abra a página com o widget instalado 2. Verifique se o widget aparece no canto da tela 3. Cenário 2 e 3: confirme que nome, e-mail, telefone e atributos já aparecem preenchidos sem o cliente digitar 4. Cenário 2 e 3: teste com pelo menos 2 usuários diferentes — abra o widget com um, depois com outro, confira no painel se aparecem como contatos separados (não mesclados num só). Se aparecerem mesclados, o identifier está fixo — corrija antes de subir pra produção 5. Cenário 3: teste com um identifier_hash inválido e confirme que o widget rejeita a requisição quando "Forçar validação" está habilitado 6. Cenário 3 com múltiplas conversas: abra dois tickets em paralelo e confirme que aparecem como conversas separadas dentro do widget Perguntas frequentes O que acontece se já existir uma informação anterior do contato? A nova informação enviada via script sobrescreve os dados antigos. O dado mais recente prevalece. E se eu errar o nome de algum campo personalizado? Nenhum erro é lançado. O campo incorreto é ignorado silenciosamente. Apenas os campos existentes são atualizados. Posso passar atributos da conversa também? :::warning Não por enquanto. A passagem de atributos personalizados da conversa não foi lançada na versão atual (v0) por limitações técnicas. Use o formulário no início da conversa como alternativa. ::: Que tipos de formatação o widget aceita? O Widget aceita a maioria dos formatos do Markdown: - Negrito / Tachado / Itálico - Bloco de código - Links - Imagens - Bullet points Posso usar HMAC sem ativar múltiplas conversas? Sim. HMAC é uma camada de segurança independente — você pode ativar só o HMAC (Cenário 3, passos 3.1 a 3.5) sem habilitar múltiplas conversas (passo 3.6). O contrário não é recomendado. O cliente final consegue ver o histórico dos próprios atendimentos? Sim, dentro do próprio widget do site. Com Múltiplas conversas por usuário ativa (passo 3.6), o widget mostra duas abas: Conversas ativas e Histórico de conversas, com busca por data e pelo número do ticket. - Funciona só no Cenário 3 (área logada com HMAC), porque o histórico precisa ter certeza de quem é o usuário. - Cada pessoa vê apenas os próprios atendimentos. Não existe visão por empresa: colegas da mesma empresa não veem os chamados uns dos outros. - Não existe um portal de tickets com URL própria. O único portal com link é a Central de Ajuda, com artigos. Como impedir que o cliente encerre a conversa pelo widget? 1. Vá em Configurações → Caixas de entrada e abra a caixa do Web Widget. 2. Na aba Configurações, desmarque Permitir que usuários terminem a conversa a partir do widget. 3. Salve. Com a opção desmarcada, o cliente deixa de poder encerrar a conversa pelo widget. Quem encerra passa a ser o time ou a ClaudIA. Mensagens de visitantes diferentes aparecem na mesma conversa. O que fazer? Quase sempre o script do site está mandando o mesmo identificador para todo mundo. O Cloud Chat junta quem tem o mesmo identificador num só contato, e essas pessoas passam a ver as mensagens umas das outras. Os casos mais comuns: - o script foi publicado com o valor de exemplo da documentação, sem trocar pelo ID real do usuário; - a variável do usuário chega vazia e o identificador vai como undefined ou null. Como corrigir: 1. Se clientes reais estiverem sendo afetados, tire o widget do ar até corrigir. 2. Só chame setUser quando o usuário estiver logado e tiver um ID real (id do cliente ou e-mail). Para visitante não logado, não chame setUser: o widget funciona como anônimo (Cenário 1). 3. Nunca passe como identificador um valor vazio, null, undefined ou fixo. 4. No logout, chame window.$cloudchat.reset(). 5. Procure outras cópias do script no site (outros arquivos, templates e gerenciador de tags). Em lojas Shopify, por exemplo, o script pode estar em sections, snippets ou templates, além do theme.liquid. 6. Para impedir que alguém se passe por outro cliente, ative a validação de identidade com HMAC (Cenário 3). Posso usar tudo isso em apps mobile? Sim, via WebView. Veja Como integrar o Web Widget em aplicativos mobile. Observações - Para compartilhar a sessão do widget entre abas do navegador: Como compartilhar a sessão do Web Widget entre abas do navegador - Para usar o widget em apps mobile via WebView: Como integrar o Web Widget em aplicativos mobile - Para criar atributos personalizados antes de passar via script: Como criar campos customizados de contatos e conversas - Para ativar continuidade de conversa por e-mail: Como habilitar continuidade de conversas por e-mail - Para ativar o widget no Portal de Ajuda: Como ativar o Web Widget no Portal de Ajuda

Última atualização em Oct 14, 2026

Como conectar uma caixa de e-mail ao Cloud Chat (Google, Microsoft, IMAP/SMTP)

Quando usar - Você quer conectar uma caixa de e-mail ao Cloud Chat para receber e responder e-mails de clientes na mesma inbox que chat e WhatsApp - Sua caixa é Gmail / Google Workspace, Outlook / Microsoft 365 ou de outro provedor (Zimbra, Yahoo, provedor próprio, etc.) - Você precisa reconectar uma caixa existente que está com erro Pré-requisitos :::error Desligue a ClaudIA para a caixa que está criando antes da conexão. Quando um e-mail novo é conectado, o Cloud Chat puxa o histórico de e-mails como novas conversas — se a ClaudIA estiver ligada, ela passará a respondê-los. ::: - Estar logado como administrador no Cloud Chat - O e-mail deve ser uma caixa de usuário (login + senha) — não pode ser grupo - Para Microsoft: o e-mail precisa ser a conta principal da conta Microsoft - Para IMAP/SMTP: acesso às configurações do provedor para ativar IMAP e obter endereço/porta dos servidores Sobre este tutorial O Cloud Chat suporta três caminhos para conectar uma caixa de e-mail: - Google (OAuth) — para Gmail e Google Workspace, via Sign in with Google - Microsoft (OAuth) — para Outlook.com e Microsoft 365, via Sign in with Microsoft - Outros provedores (IMAP/SMTP) — para qualquer outro provedor, com configuração manual :::info Google e Microsoft deprecaram suporte a integrações via IMAP — para esses dois, usamos integrações nativas (OAuth). Para todos os outros provedores, IMAP/SMTP é o caminho. ::: Pule direto para a etapa do seu provedor: - Caminho A — Google (Gmail / Workspace) - Caminho B — Microsoft (Outlook / 365) - Caminho C — Outros provedores via IMAP/SMTP Vídeos de referência: https://www.loom.com/embed/f97da4387d464ce998ca54a6c271dcc9 https://www.loom.com/embed/c28480dab2b5482c93f2801b4c9355a9 https://www.loom.com/embed/1114432b7f2a4c8b99f592b9dd002a3f Passo a passo Etapa 1 — Acessar Configurações de caixa 1. Acesse Configurações no Cloud Chat 1. Vá em Caixa de Entrada → Adicionar Caixa de Entrada 1. Selecione o canal E-mail — em seguida escolha o provedor (Google, Microsoft ou Outros provedores) Caminho A — Google (Gmail / Workspace) Use quando a caixa for Gmail ou Google Workspace — integração via OAuth (Sign in with Google). :::info O aplicativo de conexão nativa com o Gmail está em fase beta aguardando aprovação do Google, mas está funcional. ::: 1. Selecione Google como provedor Após selecionar E-mail, clique em Google. 2. Faça o login Google 1. Insira o endereço de e-mail que deseja conectar 1. Clique em Sign in with Google e siga o login Google 2. Selecione a conta e aceite as permissões solicitadas 3. Adicione os agentes Selecione os agentes que terão acesso à caixa. :::success Pronto! A caixa Gmail está integrada ao Cloud Chat. ::: Limitações de sincronização (Google): - Apenas mensagens da Caixa de Entrada são sincronizadas para o Cloud Chat - Mensagens em outras pastas ou em spam não são sincronizadas automaticamente Para mover mensagens de spam automaticamente, crie uma regra no Gmail: https://www.loom.com/share/4dde1712265c411c841c37d7a1e264df Caminho B — Microsoft (Outlook / 365) Use quando a caixa for Outlook.com ou Microsoft 365 — integração via OAuth (Sign in with Microsoft). 1. Habilite POP/IMAP no Outlook 1. Acesse Settings → Mail → Forwarding and IMAP em outlook.live.com 1. No bloco POP and IMAP, ative Let devices and apps use IMAP 1. Clique em Save 2. Confirme que o e-mail é o principal 1. Acesse Minha Conta Microsoft → Suas Informações → Editar Informações da Conta 2. Verifique que o e-mail a conectar é a conta principal :::warning Se o e-mail não for o principal, marque-o como tal clicando em Tornar o principal. Caixas secundárias não conseguem conectar. ::: 3. Faça o login Microsoft no Cloud Chat Após selecionar E-mail e escolher Microsoft: 1. Informe o endereço de e-mail 2. Clique em Sign in with Microsoft — você será redirecionado ao login Microsoft :::warning Se você tem outras contas Microsoft na mesma máquina, uma delas pode vir preenchida automaticamente. Faça logout da conta Microsoft anterior antes ou — recomendado — faça a configuração em aba anônima. ::: 4. Adicione os agentes Após o redirecionamento de volta ao Cloud Chat, selecione os agentes que terão acesso e clique em Adicionar agentes. :::success Pronto! Sua caixa Outlook/Microsoft 365 está integrada ao Cloud Chat. ::: Caminho C — Outros provedores via IMAP/SMTP Use quando a caixa for de qualquer outro provedor (Zimbra, Yahoo, provedor próprio etc.) — configuração manual via IMAP/SMTP. 1. Ative IMAP no provedor 1. Acesse as configurações do seu e-mail 2. Ative o encaminhamento IMAP 3. Copie as informações de conexão (endereço, porta) 2. Nomeie a caixa no Cloud Chat Após selecionar E-mail e escolher Outros provedores: 1. Nomeie a caixa e insira o e-mail 1. Clique em Criar canal de e-mail 3. Adicione agentes Selecione os agentes que vão atuar na caixa e clique em Adicionar agentes. 4. Configure o IMAP 1. Clique em Mais configurações 1. Vá em Configuração e ative o IMAP 1. Insira endereço, porta, login e senha :::warning Se o provedor tem autenticação de dois fatores, use a senha de app gerada — não a senha pessoal. ::: Endereço e porta padrão (exemplos): | Provedor | Endereço IMAP | Porta | | --- | --- | --- | | Google | imap.gmail.com | 993 | 1. Clique em Atualizar as configurações de IMAP 5. Configure o SMTP 1. Ative o SMTP 1. Insira endereço, porta, login e senha (autenticação de dois fatores: use a senha de app) Endereço e porta padrão (exemplos): | Provedor | Endereço SMTP | Porta | | --- | --- | --- | | Google | smtp.gmail.com | 587 | 1. No campo Domínio, insira o mesmo do endereço do SMTP :::info Para a maioria dos casos, mantenha as opções de criptografia, SSL e autenticação no padrão (STARTTLS, none, login). ::: 1. Clique em Atualizar a configuração de SMTP :::success Pronto! Sua caixa de e-mail está conectada ao Cloud Chat. ::: Reconectar em caso de erro Vale para caixas Google e Microsoft (caminhos A e B). Em caso de erro, a caixa de entrada exibe um alerta em vermelho. Para reconectar: 1. Acesse Configurações → Caixas de Entrada → Configurações 2. Na faixa vermelha, clique em Clique aqui para reconectar 3. Faça o login Google ou Microsoft novamente conforme o caminho original :::info Não é necessário excluir a caixa para reconectar. ::: Observações - Para enviar disparo proativo via e-mail: Como enviar mensagens proativas unitárias no Cloud Chat - Para habilitar continuidade de conversa entre canais (chat → e-mail): Como habilitar continuidade de conversas por e-mail - Erro 550 5.7.515 em Google Workspace: Como corrigir o erro 550 5.7.515 — Autenticação de e-mail via Google Workspace

Última atualização em May 26, 2026

Como integrar o Web Widget do Cloud Chat em aplicativos mobile

Quando usar - Você quer adicionar o Cloud Chat dentro de um app mobile (Flutter, React Native, iOS, Android) - Você não tem SDK nativo disponível ainda e quer uma solução funcional já - Você quer reaproveitar o Web Widget já configurado no painel do Cloud Chat Pré-requisitos - Ter uma caixa de entrada do tipo Web Widget já configurada — ver Como instalar o Web Widget do Cloud Chat no site - Acesso ao código fonte do app mobile pra adicionar uma WebView Sobre este artigo Atualmente, o Cloud Chat pode ser integrado em apps mobile por meio do Web Widget usando o componente WebView de cada plataforma. Como funciona O Web Widget do Cloud Chat é distribuído como um script JavaScript, gerado automaticamente durante a configuração de uma caixa de entrada do tipo Web Widget no painel. Esse script pode ser incorporado em uma WebView dentro do app mobile (Flutter, React Native, Android nativo, iOS nativo). Permite que o chat seja renderizado dentro do app, com experiência próxima à do Web Widget original. :::info Exemplo: em React Native, embute o widget num <WebView> apontando para a URL onde o script foi inserido — garantindo a comunicação completa com o Cloud Chat. ::: SDKs nativos :::warning Ainda não disponibilizamos SDKs nativos oficiais para Flutter, React Native, Android ou iOS. Temos planos de lançar SDKs no futuro, mas sem data definida. Enquanto isso, o uso via WebView é a única forma recomendada e suportada oficialmente. ::: Vantagens e limitações | Aspecto | WebView | | --- | --- | | Compatibilidade | Funciona em qualquer app com suporte a WebView | | Esforço de implementação | Baixo — basta incluir o script gerado pelo Cloud Chat | | Experiência de uso | Similar ao Web Widget | | Limitação | Menor flexibilidade de personalização e performance que um SDK nativo | Passo a passo Etapa 1 — Criar inbox Web Widget no Cloud Chat Crie uma nova caixa de entrada do tipo Web Widget no painel do Cloud Chat. Etapa 2 — Copiar o script Copie o script gerado na etapa de configuração da inbox. Etapa 3 — Hospedar uma página HTML simples Insira o script em uma página HTML simples hospedada pelo seu app (ou em servidor próprio). Etapa 4 — Carregar dentro da WebView Aponte a WebView do seu app para essa página HTML. Etapa 5 — Testar Valide a comunicação e a aparência do widget dentro do aplicativo. Roadmap :::info Estamos avaliando o desenvolvimento de SDKs nativos para Flutter e React Native, com recursos avançados como notificações push e controle de sessão nativo. No momento, sem data definida para lançamento. ::: Observações - Para o passo a passo completo de instalação do Web Widget no site (com passagem de dados do contato): Como instalar o Web Widget do Cloud Chat no site - Para sessão compartilhada entre abas/contextos: Como compartilhar a sessão do Web Widget entre abas do navegador - Para múltiplas conversas e histórico (área logada): Como ativar múltiplas conversas e histórico no Web Widget

Última atualização em Aug 19, 2026

Como compartilhar a sessão do Web Widget entre abas do navegador

Quando usar - O usuário abre o seu site em múltiplas abas e você quer que o widget reconheça a mesma identidade em todas - Sua aplicação permite múltiplas abas abertas simultaneamente - Você já usa (ou quer usar) Validação de Identidade do widget e quer evitar exigir login em cada aba Pré-requisitos - Web Widget já configurado com Validação de Identidade (Identity Validation) habilitada - user_id único por usuário no seu sistema - Backend disponível para gerar identifier_hash (opção recomendada) - Web Widget instalado — ver Como instalar o Web Widget do Cloud Chat no site Sobre este artigo Este guia explica como manter a mesma sessão de usuário do Web Widget Cloud Chat em duas ou mais abas, sem exigir que cada aba esteja autenticada. Cenário típico: o usuário abre o site em duas abas e inicia uma conversa pelo widget em uma delas. Na segunda aba, o widget deve reconhecer o mesmo usuário e exibir o mesmo histórico de conversas. Como funciona (explicação simplificada) 1. user_id = "nome no crachá" — identifica quem é o usuário 2. identifier_hash = "carimbo de autenticidade" — prova que o crachá é verdadeiro 3. O Cloud Chat confere o carimbo (usando uma chave secreta que só o servidor conhece) antes de liberar acesso ao histórico Fluxo entre abas :::info Ponto-chave: cada aba precisa chamar setUser() independentemente. O cookie cw_user_* é compartilhado automaticamente entre abas (mesmo domínio), mas o authToken interno do widget é por instância (por aba). Por isso, ambas as abas precisam ter acesso ao user_id e identifier_hash para inicializar corretamente. ::: Opção recomendada: Endpoint server-side Esta é a opção mais segura. O identifier_hash nunca é armazenado no navegador — é obtido sob demanda a partir de um endpoint protegido pela autenticação da sua aplicação. Backend (Node.js / Express) const crypto = require('crypto'); app.get('/api/widget-identity', authMiddleware, (req, res) => { const userId = String(req.user.id); const hmacToken = process.env.CLOUDCHAT_HMAC_TOKEN; const identifierHash = crypto .createHmac('sha256', hmacToken) .update(userId) .digest('hex'); res.json({ user_id: userId, identifier_hash: identifierHash, name: req.user.name, email: req.user.email, }); }); Backend (Ruby on Rails) class Api::WidgetIdentityController < ApplicationController before_action :authenticate_user! def show user_id = current_user.id.to_s hmac_token = ENV['CLOUDCHAT_HMAC_TOKEN'] identifier_hash = OpenSSL::HMAC.hexdigest('sha256', hmac_token, user_id) render json: { user_id: user_id, identifier_hash: identifier_hash, name: current_user.name, email: current_user.email } end end Backend (Python / Django) import hmac import hashlib from django.http import JsonResponse from django.contrib.auth.decorators import login_required from django.conf import settings @login_required def widget_identity(request): user_id = str(request.user.id) identifier_hash = hmac.new( settings.CLOUDCHAT_HMAC_TOKEN.encode(), user_id.encode(), hashlib.sha256 ).hexdigest() return JsonResponse({ 'user_id': user_id, 'identifier_hash': identifier_hash, 'name': request.user.get_full_name(), 'email': request.user.email, }) Frontend (qualquer aba) <script> window.cloudchatSettings = { // ... configurações do widget }; window.addEventListener('cloudchat:ready', async function () { try { const response = await fetch('/api/widget-identity', { credentials: 'include', }); if (!response.ok) { console.error('Falha ao obter identidade do widget'); return; } const { user_id, identifier_hash, name, email } = await response.json(); window.$cloudchat.setUser(user_id, { identifier_hash: identifier_hash, name: name, email: email, }); } catch (error) { console.error('Erro ao configurar usuário do widget:', error); } }); </script> :::success Vantagens: - O hmac_token nunca sai do servidor - O identifier_hash nunca é persistido no navegador - Cada aba obtém dados frescos, garantindo consistência - Logout retorna 401, e o widget não é identificado ::: Opção alternativa: localStorage (com ressalvas) Use somente se sua aplicação não tem backend disponível para fornecer o identifier_hash (SPAs puramente estáticas). :::warning Aviso de segurança: o localStorage é acessível por qualquer script JavaScript no mesmo domínio. Se o site for vulnerável a XSS, um atacante pode ler o identifier_hash armazenado. ::: Aba que gera os dados (ex: página de login) const userData = { user_id: '12345', identifier_hash: 'abc123def456...', name: 'Maria Silva', email: '[email protected]', }; localStorage.setItem('cloudchat_user', JSON.stringify(userData)); Qualquer aba que carrega o widget window.addEventListener('cloudchat:ready', function () { const stored = localStorage.getItem('cloudchat_user'); if (!stored) return; try { const { user_id, identifier_hash, name, email } = JSON.parse(stored); window.$cloudchat.setUser(user_id, { identifier_hash, name, email, }); } catch (e) { console.error('Dados do widget inválidos no localStorage'); localStorage.removeItem('cloudchat_user'); } }); Ao fazer logout localStorage.removeItem('cloudchat_user'); window.$cloudchat.reset(); Opção avançada: sessionStorage + BroadcastChannel Combina a não persistência do sessionStorage com sincronização entre abas via BroadcastChannel API. Os dados existem apenas enquanto pelo menos uma aba está aberta. Inicialização (em todas as abas) const CHANNEL_NAME = 'cloudchat-session'; const STORAGE_KEY = 'cloudchat_user'; const channel = new BroadcastChannel(CHANNEL_NAME); channel.onmessage = (event) => { if (event.data.type === 'session-data') { sessionStorage.setItem(STORAGE_KEY, JSON.stringify(event.data.payload)); initWidget(event.data.payload); } if (event.data.type === 'session-request') { const stored = sessionStorage.getItem(STORAGE_KEY); if (stored) { channel.postMessage({ type: 'session-data', payload: JSON.parse(stored) }); } } if (event.data.type === 'session-clear') { sessionStorage.removeItem(STORAGE_KEY); window.$cloudchat.reset(); } }; function initWidget(userData) { window.$cloudchat.setUser(userData.user_id, { identifier_hash: userData.identifier_hash, name: userData.name, email: userData.email, }); } window.addEventListener('cloudchat:ready', function () { const stored = sessionStorage.getItem(STORAGE_KEY); if (stored) { initWidget(JSON.parse(stored)); return; } channel.postMessage({ type: 'session-request' }); // Timeout: se nenhuma aba responder em 2s, esta é a primeira aba }); Ao autenticar (aba principal) const userData = { user_id, identifier_hash, name, email }; sessionStorage.setItem(STORAGE_KEY, JSON.stringify(userData)); channel.postMessage({ type: 'session-data', payload: userData }); initWidget(userData); Ao fazer logout sessionStorage.removeItem(STORAGE_KEY); channel.postMessage({ type: 'session-clear' }); window.$cloudchat.reset(); :::success Vantagens: - Dados não persistem após fechar todas as abas - Sincronização em tempo real entre abas - Sem dependência de cookies acessíveis por JS ::: :::warning Limitações: - BroadcastChannel não é suportado no IE11 (mas funciona em todos os navegadores modernos) - Se o usuário fechar todas as abas, precisa autenticar novamente ::: Segurança O que NUNCA fazer :::error Nunca exponha o hmac_token (chave secreta) no frontend. É a chave que o servidor usa para gerar o identifier_hash. Se um atacante a obtém, pode personificar qualquer usuário. // ❌ ERRADO const hmacToken = 'sua-chave-secreta-aqui'; const hash = CryptoJS.HmacSHA256(userId, hmacToken).toString(); ::: Riscos de armazenar identifier_hash no localStorage Contextualização do risco O identifier_hash por si só não é um segredo de alto valor: - É uma assinatura (HMAC) do user_id, não um token de acesso - Um atacante precisa do user_id correspondente E da validação HMAC ativa para personificar alguém - Não concede acesso a sistemas além do widget de chat - O impacto de vazamento é limitado: o atacante poderia, no máximo, abrir conversas no widget como aquele usuário Ainda assim, a opção server-side é preferível por eliminar a exposição. Tabela comparativa de armazenamento Boas práticas :::success 1. Proteja-se contra XSS — é a ameaça nº 1 para qualquer dado no navegador. Use Content Security Policy (CSP), sanitize inputs, mantenha dependências atualizadas 2. Gere identifier_hash no servidor, nunca no frontend 3. Use HTTPS sempre — sem exceções 4. Limite a superfície de ataque — carregue o widget apenas em páginas necessárias 5. Limpe dados ao fazer logout — remova localStorage/sessionStorage e chame $cloudchat.reset() ::: Referências: - OWASP HTML5 Security Cheat Sheet - Auth0 — Secure Browser Storage Reset de sessão Use window.$cloudchat.reset() para limpar a sessão. Internamente: 1. Fecha o chat se estiver aberto 2. Remove o cookie cw_conversation (token de sessão da conversa) 3. Remove o cookie cw_user_{websiteToken} (identidade do usuário) 4. Recarrega o iframe do widget, iniciando sessão limpa Quando usar Exemplo: logout completo function onLogout() { // 1. Limpar dados armazenados (se localStorage) localStorage.removeItem('cloudchat_user'); // 2. Resetar o widget if (window.$cloudchat) { window.$cloudchat.reset(); } // 3. Redirecionar para página de login window.location.href = '/login'; } Troubleshooting Problema: Widget mostra "Iniciar nova conversa" em vez do histórico Causa provável: setUser() não foi chamado, ou foi chamado com identifier_hash inválido. Solução: 1. Verifique no console se há erros de rede (HTTP 401 no endpoint /widget/contact) 2. Confirme que o identifier_hash foi gerado com o hmac_token correto 3. Confirme que o user_id passado para setUser() é o mesmo usado para gerar o hash Problema: Abas mostram usuários diferentes Causa provável: cada aba está chamando setUser() com dados diferentes. Solução: 1. Endpoint server-side: confirme que ambas as abas chamam o mesmo endpoint e usuário logado 2. localStorage: verifique se os dados foram gravados antes da segunda aba ler Problema: Após logout, widget ainda mostra dados do usuário anterior Causa provável: $cloudchat.reset() não foi chamado, ou os cookies não foram limpos. Solução: 1. Chame window.$cloudchat.reset() antes ou durante o logout 2. Limpe localStorage/sessionStorage se estiver armazenando dados lá 3. Verifique se o cookie cw_user_* foi removido (DevTools → Application → Cookies) Problema: setUser() lança erro "Identifier should be a string or a number" Causa: o user_id está como undefined, null ou objeto. Solução: garanta que é string ou número: window.$cloudchat.setUser(String(userData.user_id), { ... }); Problema: setUser() lança erro "User object should have one of the keys..." Causa: o objeto não contém nenhuma das chaves obrigatórias. Solução: inclua ao menos uma de name, email ou avatar_url: window.$cloudchat.setUser(userId, { identifier_hash: hash, name: 'Nome do Usuário', }); Problema: BroadcastChannel não sincroniza entre abas Causa provável: abas em domínios diferentes (ex: app.exemplo.com vs www.exemplo.com). Solução: BroadcastChannel só funciona entre páginas do mesmo domínio (same-origin). Garanta que todas as abas usam exatamente a mesma URL base. Observações - Para a instalação básica do Web Widget: Como instalar o Web Widget do Cloud Chat no site - Para múltiplas conversas e histórico (que essa feature pressupõe): Como ativar múltiplas conversas e histórico no Web Widget - Para uso em apps mobile via WebView: Como integrar o Web Widget em aplicativos mobile

Última atualização em Aug 19, 2026

Migrar seu Instagram da Página do Facebook para a integração nativa

Quando usar - Seu Instagram hoje está conectado ao Cloud Chat por uma caixa de entrada de Página do Facebook (integração antiga) e você quer passar para a integração nativa do Instagram. - Você quer manter todo o histórico das conversas do Instagram (mensagens diretas). - Você também usa o Facebook Messenger na mesma página e quer continuar atendendo o Messenger normalmente. Pré-requisitos - Ser administrador da conta. - A migração é feita por caixa de entrada, nas próprias configurações — sem abrir chamado. :::warning Depois de migrar, para conseguir responder as conversas do Instagram você precisa definir o novo app do Instagram como app de roteamento padrão na Meta. Sem isso, as respostas falham com (#100) not the thread owner (ver Etapa 4). ::: O que acontece na migração - A caixa de entrada atual passa a ser de Instagram — as mensagens diretas e todo o histórico continuam nela. - Suas conversas de Facebook Messenger vão para uma caixa de entrada nova, separada, para o Messenger continuar funcionando. Passo a passo Etapa 1 — Abrir as configurações da caixa de entrada Vá em Configurações → Caixas de Entrada e selecione a caixa de entrada do Instagram (a que hoje está conectada por uma Página do Facebook). Etapa 2 — Iniciar a migração Na aba de configurações, role até a seção Migrar para a nova integração do Instagram e clique em Migrar para o Instagram. Seção Migrar para o Instagram nas configurações da caixa de entrada Etapa 3 — Entrar com o Instagram e aprovar as permissões Você será direcionado ao login do Instagram. Faça login com a conta e aprove as permissões solicitadas. Ao retornar, a caixa de entrada já aparece como Instagram e a nova caixa de Messenger é criada. Etapa 4 — Definir o app de roteamento padrão na Meta Na caixa de entrada do Instagram, abra a aba Configurações avançadas e vá até a seção Roteamento de conversas. Clique no link para abrir as configurações da Meta e defina o app do Instagram como o app padrão de respostas. Seção Roteamento de conversas na aba Configurações avançadas :::error Se você pular esta etapa, ao tentar responder verá o erro (#100) not the thread owner e a mensagem não será enviada. ::: Observações - O histórico das mensagens diretas do Instagram é preservado — nada é perdido na migração. - As conversas do Facebook Messenger continuam funcionando na nova caixa de entrada. - A movimentação das conversas acontece em segundo plano; pode levar alguns instantes em contas com muitas conversas.

Última atualização em Jul 02, 2026

O que acontece com os atendimentos quando eu excluo uma caixa de entrada

Quando usar - Você vai excluir uma caixa de entrada (ex.: trocar de número de WhatsApp, migrar de WABA, desativar um canal) e quer saber o que acontece com os atendimentos que estavam nela - Você precisa preservar o histórico de conversas antes de mexer no canal O que acontece Ao excluir uma caixa de entrada, o Cloud Chat apaga também as conversas e as mensagens que pertenciam a ela. O histórico não fica órfão nem é transferido para outra caixa: ele é removido junto. :::error Ação irreversível. As conversas e mensagens da caixa excluída não podem ser recuperadas depois — nem pelo suporte. Se o histórico daquele canal importa para você, não exclua a caixa antes de resolver a preservação dos dados. ::: Junto da caixa também saem: os membros vinculados a ela, as campanhas, os webhooks e as automações específicas daquela caixa. Se você precisa preservar o histórico Antes de excluir, extraia os dados que você quer guardar: - Construtor de Relatórios (Relatórios → Construtor de Relatórios): monte a visão que precisa e exporte em CSV/Excel. - Data Extract API: para extrações em lote — veja Como extrair dados em lote via API (Data Extract API). Se a mudança é de número/WABA de WhatsApp e você quer manter o histórico dentro do Cloud Chat, fale com o time da Cloud Humans antes de excluir a caixa — dependendo do caso existem caminhos melhores que a exclusão.

Última atualização em Aug 27, 2026

O chat do site abre sozinho quando o agente responde?

O chat do site sobe sozinho quando o agente responde? Sim — esse é o comportamento padrão do Web Widget. O que acontece na prática Quando o agente (ou a ClaudIA) responde e o cliente está com o chat fechado: 1. O widget abre um pop-up de mensagem não lida acima do bubble, com a prévia da resposta. 2. O bubble ganha um indicador de não lida. 3. Toca um som de notificação. Ao clicar no pop-up, o chat abre na conversa e as mensagens são marcadas como lidas. Se o cliente já estiver com o chat aberto, não há pop-up: a mensagem aparece direto na conversa. :::info Vale tanto para resposta de agente humano quanto de ClaudIA — qualquer mensagem de saída visível ao cliente. ::: Como desligar ou religar O pop-up é controlado no script de instalação do widget no seu site, pela chave showUnreadMessagesDialog. O padrão é ligado; para desligar, defina essa chave como false nas configurações do widget dentro do script. Com o pop-up desligado, o cliente ainda recebe o indicador de não lida no bubble — só não aparece a prévia. :::warning Essa configuração fica no código do seu site, não no painel do Cloud Chat. Precisa do time que mantém o site para alterar. ::: Para abrir o chat inteiro, e não só o pop-up Isso não é opção do painel. Para abrir a janela completa automaticamente, o site precisa escutar o evento de nova mensagem do widget (cloudchat:on-message) e chamar a função de abrir o chat (window.$cloudchat.toggle). É uma implementação no site, feita pelo time de desenvolvimento. :::warning Abrir a janela inteira sobre a tela do cliente sem ele pedir é intrusivo e costuma piorar a experiência. O pop-up com prévia existe para chamar atenção sem sequestrar a navegação. :::

Última atualização em Sep 02, 2026

Como corrigir o erro 550 5.7.515 — Autenticação de e-mail via Google Workspace

Quando usar - Você usa Google Workspace e suas mensagens enviadas pelo Cloud Chat para destinatários Microsoft (Outlook, Hotmail, Live, Microsoft 365) estão sendo rejeitadas com o erro 550 5.7.515 - O envio direto pelo Gmail funciona, mas pelo Cloud Chat (ou qualquer outra plataforma de terceiros) falha - Você precisa configurar SPF, DKIM e DMARC alinhados ao seu domínio para passar nos requisitos da Microsoft Pré-requisitos - Acesso Super Admin ao Google Workspace (admin.google.com) - Acesso ao provedor de DNS do seu domínio (Registro.br, Cloudflare, GoDaddy, AWS Route 53 etc.) - Gmail ativado no domínio há pelo menos 24 a 72 horas antes de gerar a chave DKIM - Caixa de e-mail conectada — ver Como conectar caixa de e-mail do Google ao Cloud Chat :::error Substitua SEUDOMINIO.COM.BR pelo seu domínio real ao longo de todo este documento. Os exemplos usam esse placeholder apenas para ilustrar. ::: Sobre este artigo Esse erro não é uma fragilidade do Cloud Chat — o mesmo aconteceria com qualquer plataforma de atendimento que envie e-mails em nome do seu domínio. Quando você envia pelo Gmail direto, a mensagem sai dos servidores do Google — que já estão autorizados no SPF e assinam o DKIM com o seu domínio automaticamente. Tudo passa. Quando o e-mail sai pelo Cloud Chat (ou qualquer plataforma de terceiros), ele parte de servidores diferentes, que não estão no SPF do seu domínio e não têm acesso à chave DKIM dele. Resultado: SPF falha, DKIM não alinha, DMARC não passa, e a Microsoft rejeita com 550 5.7.515: 550 5.7.515 Access denied, sending domain SEUDOMINIO.COM.BR doesn't meet the required authentication level. The sender's domain in the 5322.From address doesn't meet the authentication requirements defined for the sender. Spf=Fail , Dkim=Pass , DMARC=None A causa raiz: o domínio não tem SPF, DKIM e DMARC devidamente configurados. O Gmail direto "esconde" o problema porque o Google cuida disso automaticamente para os seus próprios servidores. Qualquer envio por fora expõe a lacuna. Este guia corrige essa configuração no Google Workspace e no seu provedor de DNS. Depois de aplicada, a autenticação passa tanto pelo Gmail quanto pelo Cloud Chat. Diagnóstico A Microsoft rejeita suas mensagens porque falta autenticação alinhada ao domínio do cabeçalho From:. O cabeçalho da devolução costuma mostrar: - SPF = Fail — o registro SPF não inclui _spf.google.com, ou não existe - DKIM = Pass, mas sem alinhamento — o Google assina com d=gmail.com em vez de d=<seu-dominio>. Passa tecnicamente, mas não conta para o DMARC - DMARC = None — não existe registro DMARC publicado :::info Desde o fim de 2024, a Microsoft exige pelo menos um mecanismo de autenticação alinhado ao From: para remetentes de alto volume (≥ 5.000 mensagens para outlook.com, hotmail.com, live.com, msn.com). Se você já está recebendo esse erro, seu domínio ultrapassou esse limiar. ::: :::info Sobre alinhamento: para o DMARC passar, basta SPF ou DKIM estar alinhado. Este guia configura os dois para maior confiabilidade, mas o DKIM alinhado (Etapa 2) é o componente principal. ::: Inspecionar o cabeçalho de uma mensagem devolvida Antes de mexer no DNS, confirme o estado atual. Localize uma mensagem devolvida com o código 550 5.7.515, abra-a no Gmail e clique em Mostrar original. Procure a linha Authentication-Results: Authentication-Results: ... spf=fail (sender IP is ...) smtp.mailfrom=<seu-dominio>; dkim=pass header.d=gmail.com; ← d=gmail.com = SEM alinhamento dmarc=none action=none header.from=<seu-dominio>; Se o padrão for esse, siga este guia. Se for diferente (ex: SPF pass, DMARC quarantine), a investigação deve seguir por outro caminho — abra um chamado de suporte. Passo a passo Etapa 1 — Publicar o registro SPF No seu provedor de DNS, publique (ou atualize) um registro TXT no apex do domínio: | Campo | Valor | | --- | --- | | Tipo | TXT | | Host / Nome | @ (ou o próprio domínio) | | Valor | v=spf1 include:_spf.google.com ~all | | TTL | 3600 | :::error Só pode existir um único registro SPF por domínio. Se já houver um, edite-o e mescle os includes: v=spf1 include:_spf.google.com include:outro-servico.com ~all ::: Verificação: dig TXT <seu-dominio> +short # Deve retornar uma linha contendo v=spf1 include:_spf.google.com ~all Etapa 2 — Configurar o DKIM no Google Workspace (passo principal) Este é o passo mais importante. Ele faz o Google assinar suas mensagens com d=<seu-dominio> em vez de d=gmail.com, resolvendo o problema de alinhamento. 2.1 — Gerar a chave DKIM 1. Acesse admin.google.com como Super Admin 2. Vá em Menu → Apps → Google Workspace → Gmail → Autenticar e-mail 3. Selecione o seu domínio e clique em Gerar novo registro 4. Configure: 2048 bits, prefixo do seletor: google 5. Copie os dois valores exibidos: - Nome do host DNS: google._domainkey - Valor TXT: texto longo começando com v=DKIM1; k=rsa; p=MIIBIjAN... :::warning Botão desabilitado? Aguarde 24–72h desde a ativação do Gmail no domínio. ::: 2.2 — Publicar o registro DKIM no DNS | Campo | Valor | | --- | --- | | Tipo | TXT | | Host / Nome | google._domainkey | | Valor | Texto copiado do Admin console | | TTL | 3600 | 2.2.1 — Erro CharacterStringTooLong ao publicar o DKIM Sintoma Ao publicar o registro TXT google._domainkey, o provedor exibe erro semelhante a: ⚠️ Ocorreu um erro. Tente novamente mais tarde. CharacterStringTooLong (Value is too long) encountered with '"v=DKIM1; k=rsa; p=XXXXXXXX..."' O registro não é salvo e a autenticação DKIM não pode ser ativada. Causa A RFC 1035 (seção 3.3) limita cada character-string de um registro TXT a 255 caracteres. A chave pública RSA de 2048 bits gerada pelo Google Workspace ultrapassa esse limite (≈400 caracteres), então o provedor rejeita quando o valor é enviado como string única. Não é problema da chave nem do Google Workspace — é limitação do protocolo DNS. Solução Quebre o valor em múltiplas strings de até 255 caracteres, cada uma entre aspas duplas e separadas por espaço. O servidor DNS concatena automaticamente na entrega, e o resolver enxerga uma única chave DKIM contínua. Formato esperado: "v=DKIM1; k=rsa; p=XXXXXXXXXXXXXXXXXXXXXXXXXXXX...ate_255_chars" "continuacao_ate_255_chars..." "parte_final_da_chave" Como quebrar a chave 1. Cole o valor copiado do Admin console (v=DKIM1; k=rsa; p=...) em um editor de texto 2. A cada 255 caracteres do conteúdo, insira " " (aspas — espaço — aspas) 3. Envolva o valor inteiro com aspas duplas no início e no fim 4. Cole o resultado no campo Valor / Content do registro TXT :::info Dica: Não conte as aspas externas no limite de 255 — apenas o conteúdo da string. ::: Comportamento por provedor de DNS: | Provedor | Como colar | | --- | --- | | Cloudflare | Cole o valor já quebrado com aspas e espaços no campo Content. A UI aceita direto. | | AWS Route 53 | Cole as strings quebradas com aspas no campo Value. Cada string em linha separada também funciona. | | Registro.br | Formato de múltiplas strings entre aspas em linha única. | | GoDaddy / HostGator / outros | Aceitam o mesmo formato. Se a UI recusar aspas, procure a opção raw ou advanced. | Verificação Após salvar e aguardar propagação (até 30 minutos), valide: dig TXT google._domainkey.<seu-dominio> +short A saída deve exibir a chave concatenada. Se o retorno mostrar várias strings separadas, ainda é válido — o que importa é a chave RSA reconstruída ser idêntica ao valor do Admin console. Para confirmar, compare a chave retornada pelo dig com a do passo de geração no Google Workspace. 2.3 — Ativar a autenticação 1. Volte a Gmail → Autenticar e-mail no Admin console 2. Clique em Iniciar autenticação 3. Aguarde o status mudar para Autenticando e-mails com DKIM :::warning Pode levar até 48 horas para começar a funcionar. ::: Verificação: dig TXT google._domainkey.<seu-dominio> +short # Deve retornar v=DKIM1; k=rsa; p=... completo Etapa 3 — Publicar o registro DMARC :::error Publique o DMARC somente depois que SPF e DKIM estiverem autenticando corretamente por pelo menos 48 horas. ::: | Campo | Valor | | --- | --- | | Tipo | TXT | | Host / Nome | _dmarc | | Valor | v=DMARC1; p=none; rua=mailto:dmarc-reports@<seu-dominio>; pct=100; adkim=s; aspf=s | | TTL | 3600 | Crie uma caixa ou alias dmarc-reports@<seu-dominio> para receber os relatórios agregados (XML) que os provedores enviam diariamente. Roteiro de endurecimento Avance de fase somente depois de pelo menos uma semana sem falsos positivos nos relatórios. | Fase | Semana | Política | Efeito | | --- | --- | --- | --- | | 1 — Monitoramento | 0 | p=none | Apenas gera relatórios | | 2 — Quarentena parcial | ≥ 1 | p=quarantine; pct=10 | 10% das não autenticadas vão para spam | | 3 — Quarentena total | ≥ 2–3 | p=quarantine; pct=100 | Todas vão para spam | | 4 — Rejeição | ≥ 4 | p=reject; pct=100 | Servidor rejeita mensagens não autenticadas | Desbloqueio rápido (se for urgente) Se precisar destravar o envio para destinatários Microsoft imediatamente, publique apenas: 1. Etapa 1 — o registro SPF 2. Etapa 3 — o registro DMARC com p=none (sem esperar as 48h do DKIM) Na maioria dos casos, isso já encerra o 550 5.7.515, porque a Microsoft mira especificamente domínios sem nenhum DMARC. Ter um DMARC publicado (mesmo permissivo) já muda o tratamento. :::warning A Etapa 2 (DKIM alinhado) continua sendo a correção definitiva e precisa ser executada em seguida — sem ela, SPF e DMARC ficam sobre uma base frágil. ::: Verificação final Depois da propagação (30 min para SPF/DMARC, até 48h para DKIM): dig TXT <seu-dominio> +short # SPF dig TXT google._domainkey.<seu-dominio> +short # DKIM dig TXT _dmarc.<seu-dominio> +short # DMARC Teste funcional Envie um e-mail de teste para qualquer endereço @outlook.com, @hotmail.com ou conta Microsoft 365. No cabeçalho do e-mail recebido, confira: Authentication-Results: ... spf=pass smtp.mailfrom=<seu-dominio>; dkim=pass header.d=<seu-dominio>; ← prova do alinhamento dmarc=pass header.from=<seu-dominio>; :::success Se as três linhas mostrarem pass com header.d=<seu-dominio> e header.from=<seu-dominio>, a configuração está correta — o erro 550 5.7.515 não voltará a ocorrer. ::: :::warning Se dkim=pass ainda aparecer com header.d=gmail.com, a Etapa 2.3 ainda não foi concluída ou o DNS continua propagando. Aguarde mais algumas horas e teste de novo. ::: Fontes oficiais - Set up DKIM — Google Workspace Admin Help - Turn on DKIM for your domain — Google Workspace Admin Help - Set up SPF — Google Workspace Admin Help - Define your SPF record — Google Workspace Admin Help - Add your DMARC record — Google Workspace Admin Help - Recommended DMARC rollout — Google Workspace Admin Help - Email sender guidelines — Google Workspace Admin Help — Outlook.com Observações - Para conectar uma caixa Gmail ao Cloud Chat: Como conectar caixa de e-mail do Google ao Cloud Chat - Para conectar uma caixa Outlook ao Cloud Chat: Como conectar caixa de e-mail Outlook/Microsoft ao Cloud Chat - Para entender como anexos de e-mail funcionam: Como funcionam os anexos de e-mail no Cloud Chat

Última atualização em Sep 02, 2026

Continuidade de conversas por e-mail: como habilitar e como funciona (automática e manual)

Quando usar - O cliente está num chat do site (Web Widget) e some (fecha a aba, troca de aparelho) — e você quer que a conversa continue por e-mail - Você precisa que uma conversa de WhatsApp prossiga por e-mail (tratativas longas, anexos, registro com terceiros) - Você quer manter o contexto da conversa quando ela transita entre canais Pré-requisitos - Uma caixa de entrada de e-mail configurada — ver Conectando caixa de e-mail ao Cloud Chat - O agente que vai operar alocado nessa caixa de e-mail - O contato precisa ter e-mail cadastrado - Para habilitar a opção na caixa de entrada: estar logado como administrador Sobre este artigo A continuidade por e-mail evita que o atendimento se perca quando o cliente sai do canal original. Existem dois modos: - Automática (por inatividade) — só no Web Widget: o Cloud Chat envia a resposta por e-mail se o cliente não estiver vendo o chat. - Manual (botão) — no Web Widget e no WhatsApp: o agente força a conversa a seguir por e-mail. Como habilitar na caixa de entrada Etapa 1 — Ter uma caixa de e-mail Tenha (ou crie) uma caixa de entrada do tipo e-mail em Configurações → Caixa de entrada. Etapa 2 — Habilitar a continuidade na caixa do Site Na caixa do tipo Site, abra a aba Ciclo da conversa e ative Habilitar continuidade das conversas por e-mail. Etapa 3 — Selecionar a caixa de e-mail de continuidade Em Selecione a caixa de e-mail para continuar a continuidade, escolha a caixa da Etapa 1. :::success Pronto — a continuidade por e-mail está habilitada para essa caixa de entrada. ::: Continuidade automática (por inatividade) — Web Widget Quando um agente responde uma conversa de Web Widget (com a continuidade habilitada e o contato com e-mail), o Cloud Chat aguarda cerca de 2 minutos. Passado esse tempo: - Se o cliente não abriu a conversa no chat nesse intervalo (inativo) → a resposta é enviada por e-mail, com o histórico da conversa. - Se o cliente estava no chat e viu a mensagem → a conversa continua no widget, normalmente. Quando o cliente responde ao e-mail, a resposta aparece na conversa para o agente, identificada como vinda do e-mail. :::info A continuidade automática é reversível: se o cliente voltar ao chat do site, a conversa volta a fluir pelo widget. Uma nova resposta só vai por e-mail se ele ficar inativo de novo. Mensagens enviadas em sequência nesses ~2 minutos são agrupadas em um único e-mail. ::: Continuidade manual (botão) — Web Widget e WhatsApp O agente pode forçar a conversa a seguir por e-mail, sem esperar a inatividade. Como ativar 1. Abra a conversa no painel. 2. No topo da conversa, clique em Ativar continuidade por e-mail. - Web Widget — ativa direto ao clicar. - WhatsApp — aparece um modal de confirmação antes de aplicar. :::error A ativação manual é permanente para aquela conversa — não dá para desfazer. A partir daí, todas as respostas seguem por e-mail, e a conversa passa a se comportar como uma conversa de e-mail no painel. ::: Quando o botão não aparece (ou está bloqueado) - A continuidade não está habilitada na caixa de entrada → habilite seguindo a seção "Como habilitar na caixa de entrada" acima. - O contato não tem e-mail cadastrado → edite o contato e adicione um e-mail antes de tentar. Pontos de atenção :::warning Quando a conversa está seguindo por e-mail, há duas limitações atuais que vale conhecer: - Cópia (CC/BCC): o campo de resposta não muda para o formato de e-mail completo, então não é possível adicionar destinatários em cópia por essa conversa. - Indicador de canal: não há, na linha do tempo da conversa, uma marca clara do momento em que ela passou a seguir por e-mail (ou voltou para o widget). Use a identificação das mensagens — as respostas que chegam por e-mail vêm marcadas — para se orientar. ::: Observações - No WhatsApp, a continuidade por e-mail é sempre iniciada pelo agente (nunca automática pela inatividade do cliente). - Para enviar a transcrição completa de uma conversa por e-mail (sem migrar o canal): Como enviar a transcrição de uma conversa por e-mail - Para envios proativos por e-mail (você inicia o contato): Guia de disparo proativo unitário no WhatsApp

Última atualização em Sep 02, 2026

Nova conversa pelo Web Widget: por que a inbox aparece (ou não)

https://www.loom.com/share/5868f5eba483411487f46c6d55a9336c Ao iniciar uma Nova conversa com um contato e escolher uma inbox de Web Widget (chat do site), a inbox só aparece na lista de origem em algumas condições — isso evita disparar algo que não chegaria ao cliente ou que duplicaria uma conversa em andamento. Modal "Nova conversa" com o seletor de Caixa de Entrada aberto, mostrando a inbox de Web Widget como opção de origem 1. O contato precisa estar identificado no widget Só dá pra iniciar uma conversa proativa por Web Widget com um contato identificado (que acessou logado/autenticado no widget — área logada). Visitante anônimo não aparece como opção: sem uma sessão identificada, a mensagem não teria como ser entregue de forma confiável quando ele voltasse. 2. Widget de conversa única ("Manter Conversa Única") A inbox só é oferecida se o contato não tiver uma conversa ativa nela: - Conversa ativa (aberta, pendente ou em soneca) → a inbox não aparece (pra não criar uma segunda conversa em paralelo). - Conversa resolvida → não bloqueia: você inicia uma nova normalmente (cria uma nova, não reabre a antiga). - Mensagem proativa anterior que o cliente ainda não respondeu → não bloqueia: você inicia uma nova normalmente. :::info A checagem é feita por contato dentro daquela inbox, não por sessão: se ele abriu o chat do site em outro navegador ou dispositivo e tem uma conversa ativa por lá, a inbox também não aparece. ::: 3. Widget de múltiplas conversas Se o widget permite múltiplas conversas por usuário, a inbox sempre aparece — o contato pode ter várias conversas em paralelo. Quando o cliente recebe? A conversa que você inicia fica aguardando: aparece pro cliente assim que ele reabrir o widget no site — inclusive em outra aba ou sessão. "A inbox do site não aparece — por quê?" Para iniciar o fluxo, abra o contato e clique em Nova Mensagem: Botão "Nova Mensagem" no painel do contato, usado para iniciar uma conversa proativa Se a inbox do site não estiver na lista, confira: 1. O contato está identificado nesse widget? (anônimo não é ofertado) 2. Já existe uma conversa ativa (aberta/pendente/em soneca) dele nessa inbox? Se sim, continue ou resolva a existente. 3. O widget é de conversa única? Então é uma conversa ativa por vez. A mesma regra vale no servidor: mesmo que a conversa seja tentada por outro caminho, ela é recusada com o motivo (contato não identificado ou conversa ativa já existente). Isso cobre também o caso em que o cliente manda uma mensagem enquanto a janela de Nova conversa está aberta.

Última atualização em Sep 02, 2026

Como identificar falhas de envio de mensagens no Cloud Chat

Quando usar - Você quer entender por que uma conversa aparece destacada em vermelho na fila - Você precisa identificar rapidamente atendimentos com mensagens não entregues - Você está investigando atrasos de resposta causados por mensagens com erro Sobre este artigo A funcionalidade de Indicadores de Falha de Envio torna mais fácil identificar conversas cuja última mensagem não foi entregue com sucesso. Quando isso acontece, o Cloud Chat destaca a conversa visualmente para que o time aja rapidamente. :::info Sem esse tipo de sinalização, falhas podem passar despercebidas na fila, gerando atraso no retorno ao cliente, retrabalho no suporte e a necessidade de revisar várias conversas manualmente. Com os indicadores, o time prioriza rapidamente as conversas com erro e reduz o tempo de resposta. ::: O que aparece em uma conversa com falha Quando a última mensagem está com falha, a conversa exibe: - Barra lateral vermelha no card da conversa (lado esquerdo) - Ícone de erro no lugar da seta de "enviado", ao lado da prévia da mensagem - Badge vermelho com "!" no lugar da bolinha verde de não lidas Exemplo visual Exemplo prático 1. Um agente envia uma mensagem ao cliente 2. A mensagem falha por instabilidade de conexão / canal 3. Na lista de conversas, esse ticket passa a aparecer com: - Barra vermelha na lateral - Ícone de erro na prévia - Badge vermelho de alerta 4. Quando uma nova mensagem é enviada com sucesso, os indicadores deixam de aparecer e a conversa volta ao comportamento padrão :::success A indicação de falha some automaticamente quando uma nova mensagem é entregue com sucesso. ::: Dúvidas comuns Isso substitui o contador de mensagens não lidas? Para conversas com falha na última mensagem, o badge de alerta vermelho com "!" é priorizado para chamar atenção ao erro. Precisa ativar alguma configuração? Não. Essa melhoria é aplicada automaticamente na experiência da lista de conversas. O que devo fazer ao ver uma conversa com "!" vermelho? Abra a conversa, verifique a mensagem com falha e tente reenviar ou enviar uma nova mensagem. Quando o alerta de falha deixa de aparecer? Quando a última mensagem deixa de estar com status de falha — por exemplo, após um novo envio bem-sucedido. Observações - Para entender o significado de cada código de erro de envio (especialmente WhatsApp): Por que minha mensagem não está sendo enviada? Guia completo de erros - Para diminuir o risco de bloqueio do número e perda de mensagens: Como evitar bloqueios e banimentos no WhatsApp - Para reconectar uma inbox de WhatsApp que parou de receber mensagens: Como reconectar sua inbox de WhatsApp no Cloud Chat

Última atualização em Sep 02, 2026

Como funcionam os anexos de e-mail no Cloud Chat

Quando usar - Você quer entender como anexos enviados/recebidos por e-mail aparecem no Cloud Chat - O cliente reclamou de um arquivo "que não chegou" e você precisa diagnosticar - Você precisa explicar para um agente novo onde encontrar e como baixar anexos de uma conversa de e-mail Pré-requisitos - Caixa de entrada E-mail conectada — ver Como conectar caixa de e-mail Outlook/Microsoft ao Cloud Chat ou Como conectar caixa de e-mail do Google ao Cloud Chat - Acesso a uma conversa de e-mail no Cloud Chat com pelo menos um anexo Sobre este artigo Quando uma conversa entra no Cloud Chat por e-mail, qualquer arquivo anexo segue junto com a mensagem — tanto na entrada (cliente envia para o agente) quanto na saída (agente envia para o cliente). Este artigo descreve como esse fluxo aparece para o agente, para o cliente, e como contornar problemas comuns. Detalhes Como o cliente vê os anexos enviados por um agente? Quando um agente envia um e-mail com arquivos anexados, o cliente final recebe cada anexo no corpo da mensagem. O formato é sempre o mesmo: - O nome do arquivo aparece em negrito - Ao lado, aparece a palavra Download, que é um hiperlink — basta clicar para baixar o arquivo O arquivo fica armazenado no Cloud Chat? Sim. O anexo fica disponível dentro da conversa, exatamente como enviado pelo cliente (ou pelo agente). Você pode fazer o download a qualquer momento, mesmo após a conversa ter sido encerrada. Há limite de tamanho ou tipo de arquivo? O Cloud Chat aceita os mesmos tipos e tamanhos permitidos pelo provedor de e-mail. Em outras palavras: se o e-mail entregou na caixa, o anexo será exibido no Cloud Chat. :::info Limites comuns por provedor: - Gmail / Google Workspace — 25 MB por mensagem - Outlook / Microsoft 365 — 20 MB por mensagem (pode ir até 150 MB com configuração específica) - Provedores menores — costumam ser entre 10 e 25 MB ::: Como o cliente baixa o anexo? Basta clicar em Download, ao lado do nome do arquivo. O arquivo é baixado direto para o dispositivo do cliente. Posso visualizar o anexo dentro do Cloud Chat (sem baixar)? A pré-visualização inline depende do tipo de arquivo: - Imagens (PNG, JPG, GIF) — aparecem com pré-visualização - PDF, DOC, XLSX, ZIP, vídeos — precisam ser baixados para serem abertos E se o anexo não aparecer? Verifique nessa ordem: 1. O e-mail original realmente continha o arquivo? Confira no provedor de origem (Gmail web, Outlook web). 2. O provedor bloqueou o envio por tipo ou tamanho? Olhe o cabeçalho do e-mail por avisos de quarentena. 3. A conversa foi carregada por completo? Tente recarregar a página do Cloud Chat (F5) ou abrir a conversa em uma aba nova. :::warning Se mesmo após esses passos o anexo continuar ausente, abra um chamado para o suporte da Cloud Humans com: - ID da conversa no Cloud Chat - Message-ID original do e-mail (encontrado no cabeçalho da mensagem no provedor) - Print da mensagem original com o anexo presente ::: Observações - Para conectar uma caixa Gmail: Como conectar caixa de e-mail do Google ao Cloud Chat - Para conectar uma caixa Outlook: Como conectar caixa de e-mail Outlook/Microsoft ao Cloud Chat - Para outros provedores via IMAP/SMTP: Como conectar uma caixa de e-mail ao Cloud Chat (outros provedores) - Para corrigir o erro 550 5.7.515 no envio: Como corrigir o erro 550 5.7.515 — Autenticação de e-mail via Google Workspace

Última atualização em Sep 02, 2026

Caixa de entrada do Slack: conectar e atender pelo canal nativo

Quando usar - Você atende clientes em canais do Slack (canais dedicados por cliente, ou canais de Slack Connect compartilhados com eles) e quer que cada thread vire uma conversa no CloudChat. - Você quer que a ClaudIA atenda no Slack, com o mesmo desenho de fila, tag e automação dos outros canais. - Você quer sair de uma ferramenta separada de tickets no Slack e centralizar o atendimento no CloudChat. Pré-requisitos :::info A caixa de entrada nativa do Slack é liberada por conta. Se o bloco do Slack não aparecer em "Adicionar caixa de entrada", fale com o seu contato na Cloud Humans antes de seguir. ::: - Ser administrador da conta no CloudChat. - Poder instalar apps no workspace do Slack. Se o seu workspace exige aprovação de admin para novos apps, quem autoriza precisa ser admin do Slack — senão o pedido cai na fila de aprovação e a conexão não conclui. - Saber em quais canais do Slack o atendimento acontece. Passo a passo Etapa 1 — Conectar o workspace do Slack 1. Vá em Configurações → Caixas de Entrada → Adicionar caixa de entrada. 2. Escolha o bloco Slack. Tela Adicionar caixa de entrada com o bloco Slack destacado 3. Na tela Canal do Slack, clique em Adicionar ao Slack. Tela Canal do Slack com o botão Adicionar ao Slack destacado 4. Você é levado à tela de autorização do Slack. Escolha o workspace correto e confirme em Allow. 5. De volta ao CloudChat aparece "Workspace do Slack conectado com sucesso!". Dê um nome à caixa de entrada (por exemplo, Suporte Slack) e clique em Criar canal do Slack. 6. Adicione os agentes que vão atender e conclua. Nesta etapa você ainda não escolhe canais. Isso começa dentro do Slack, na etapa 2. Etapa 2 — Convidar o app no canal, dentro do Slack No canal do Slack que deve gerar conversas, digite: /invite @CloudChat Repita em cada canal que você quer atender. É esse convite que dá ao CloudChat acesso ao canal — sem ele, o canal nem aparece na lista de canais disponíveis. Etapa 3 — Ativar o canal no CloudChat 1. Abra a caixa de entrada e vá na aba Canais do Slack. 2. O canal normalmente aparece sozinho poucos segundos depois do convite. Se não apareceu, clique em Sincronizar canais. 3. Ligue a chave da coluna Ativo. Aba Canais do Slack com o botão Sincronizar canais e a chave Ativo destacados A partir daí o canal começa a gerar conversas. Antes disso, nada é capturado. O que cada marcação na lista significa: - Slack Connect — canal compartilhado com pessoas de fora do seu workspace. - Interno — canal marcado como interno do time. - Sem acesso, com a chave travada — o bot saiu ou foi removido do canal. Convide novamente com /invite @CloudChat e clique em Sincronizar canais. Etapa 4 — Escolher quando a mensagem vira conversa Na aba Canais do Slack, clique em Editar no canal. O campo Abrir conversa tem três modos: - Em toda mensagem (padrão) — toda mensagem nova no canal abre uma conversa. - Só ao reagir com um emoji — nada é capturado até alguém reagir com o emoji configurado (padrão: ticket). - Só quando mencionarem o app — nada é capturado até alguém mencionar @CloudChat no canal. Modal de edição do canal do Slack com os três modos de abertura de conversa, o campo Emoji e as tags automáticas Como escolher: Em toda mensagem serve para canal dedicado a um cliente, onde tudo é atendimento. Emoji e menção servem para canal movimentado, onde só parte da conversa é atendimento. O emoji é o nome dele no Slack, sem os dois-pontos: ticket, eyes, sos. Não cole o emoji, escreva o nome. Ainda no mesmo modal: - Tags das novas conversas — toda conversa aberta nesse canal já nasce com essas tags. O uso mais comum é uma tag por cliente, o que deixa relatório e automação prontos sem trabalho manual. - Canal interno do time — deixe desmarcado (o padrão) quando quem abre conversa ali é cliente. Marque apenas quando é canal do seu próprio time: nesse caso todos são tratados como contato, e ninguém é confundido com agente. Em canal de Slack Connect a opção não aparece, porque canal compartilhado é sempre atendimento a cliente. Etapa 5 — Configurar o canal interno do time, se quiser Ainda na aba Canais do Slack existe o seletor Canal interno — um canal só do seu time, escolhido uma vez para a caixa de entrada inteira. Com ele configurado, cada conversa nova ganha uma thread nesse canal, com um cartão que traz o contato, a prévia da mensagem e dois botões: Ver no Slack, que abre a thread original do cliente, e Abrir no CloudChat. Serve para o time discutir o caso sem o cliente ver: - Nota privada escrita no CloudChat aparece nessa thread interna. - Resposta escrita na thread interna volta para a conversa como nota privada — nunca chega ao cliente. O canal escolhido como interno não pode ser ativado como canal de atendimento; ele existe apenas para isso. Como funciona Quem é tratado como cliente e quem é tratado como agente O CloudChat decide pelo workspace de origem de quem escreve: - Convidado (guest) ou pessoa de outro workspace — o caso do Slack Connect — vira contato, e a mensagem dele é a mensagem do cliente. - Membro do seu workspace é tratado como agente, e o CloudChat casa pelo e-mail: se existir um agente no CloudChat com o mesmo e-mail do Slack, a mensagem entra como resposta oficial dele. - Membro do workspace sem agente correspondente por e-mail tem a mensagem registrada como nota privada, não como resposta ao cliente. O que muda no atendimento - A conversa mostra o nome do canal do Slack (#nome-do-canal) em vez do nome genérico da caixa de entrada, tanto na lista quanto no topo da conversa. - O botão Abrir no Slack, no topo da conversa, abre a thread original já expandida, no workspace certo. Cabeçalho da conversa mostrando o nome do canal do Slack e o link Abrir no Slack destacado - Para filtrar: lista de conversas → Filtro → Canal do Slack. - Para rotear: ao criar uma regra de automação, use o grupo Condições do Slack → Canal do Slack. É assim que se manda cada cliente para uma fila ou time diferente. - A resposta do agente sai na thread com o nome dele, não como "CloudChat". - A ClaudIA atende normalmente: configure na aba ClaudIA da caixa de entrada, como em qualquer outro canal. Observações - Nada de histórico é importado. O canal é totalmente orientado a evento: só chega o que acontece depois de você ativá-lo. - Não existe janela de resposta. Diferente do WhatsApp e do Instagram, não há prazo de 24 horas para responder uma conversa do Slack. - Fora do escopo desta versão: resolver e reabrir por emoji no Slack, sincronizar edição e exclusão de mensagem, CSAT por dentro do Slack, slash commands, DM com o bot e importação de histórico.

Última atualização em Sep 09, 2026

Telefonia no Cloud Chat: como receber e fazer ligações

Quando usar - Sua equipe atende por telefone e quer as ligações no mesmo lugar onde já responde chat, WhatsApp e e-mail. - Você quer entender como uma ligação aparece no Cloud Chat, como atender pelo softphone e como ligar para um cliente. - Você quer saber o que acontece com a gravação e a transcrição de cada ligação. O que é A telefonia do Cloud Chat conecta a sua conta da AtendeSimples ao Cloud Chat. Cada ligação, recebida ou feita, vira uma conversa, com histórico, atribuição, status e tags como qualquer outro atendimento. O que você ganha: - Ligações no inbox: cada ligação vira uma conversa na caixa de voz. - Softphone embutido: atenda sem trocar de janela, num painel flutuante que acompanha você pelas telas ou em tela cheia. - Ligar para um contato: ligue direto da conversa ou do perfil do contato. - Gravação na conversa: ouça de novo o que foi dito, no player da própria conversa. - Transcrição: leia a ligação por escrito, separando atendente e cliente. - Ligação vinculada ao atendimento: se o cliente já tem um atendimento aberto, vincule a ligação a ele e mantenha o caso num só lugar. :::info Importante O Cloud Chat registra as ligações e embute o softphone, mas a ligação em si continua sendo da AtendeSimples. URA, filas, horários de atendimento e grupos de atendentes são configurados no painel da AtendeSimples. ::: Como ativar A telefonia é ativada pela nossa equipe. Fale com o seu account manager. Você vai precisar de: - Uma conta na AtendeSimples, com o número contratado e os atendentes cadastrados com VoIP (cada um com o seu ramal). - O mesmo e-mail para cada atendente na AtendeSimples e no Cloud Chat. É assim que o Cloud Chat sabe quem atendeu cada ligação. - Um administrador do painel da AtendeSimples para acompanhar a configuração com a gente. A gravação e a transcrição das ligações são liberações à parte da telefonia. Pergunte ao seu account manager. Atender ligações Abrir o softphone 1. Clique no botão Softphone, no canto da tela. 2. Se a sua caixa de voz já está configurada com o login automático, o softphone entra sozinho no seu ramal. Se não, entre com o seu e-mail e o seu ramal da AtendeSimples. 3. Pronto: com o softphone aberto, as ligações tocam nele e na notificação do navegador. Dicas para não perder ligação: - Minimize o softphone em vez de fechar. A ligação continua enquanto o painel estiver aberto, mesmo navegando por outras telas do Cloud Chat. - Você pode arrastar, redimensionar ou abrir o softphone em janela separada. Durante uma ligação, ele não pode ser movido para outra janela, para a ligação não cair. - A página Telefonia, no menu lateral, abre o softphone em tela cheia. Sair dessa página encerra o softphone dela. Para atender navegando, use o painel flutuante. - Para receber ligações, o softphone precisa estar aberto e logado. A URA da AtendeSimples só encaminha ligações para atendentes online. O que aparece no Cloud Chat Assim que a ligação chega, ela vira uma conversa na caixa de voz: - O contato é encontrado pelo número de telefone. Se o número ainda não é um contato, o Cloud Chat cria um. - Quando você atende, a conversa é atribuída a você e aparece o aviso "Você atendeu a ligação", com o atalho Abrir o ticket. - O cartão da ligação mostra o número, o tempo de espera, a duração da conversa e quem atendeu, em qual ramal. Toda ligação vira uma conversa, inclusive as que não foram atendidas. O status mostra o que aconteceu: | Status | O que significa | | --- | --- | | Em andamento | A ligação está acontecendo | | Chamando | Ligação feita pela equipe, aguardando o cliente atender | | Atendida | Alguém da equipe falou com o cliente | | Perdida | Ninguém atendeu | | Abandonada na fila | O cliente desligou enquanto esperava | | Resolvida na URA | O cliente foi atendido pelo menu da URA, sem falar com a equipe | :::info Importante A conversa de uma ligação não recebe mensagens escritas. Para registrar o que foi combinado, use as notas privadas da conversa. Quando o atendimento terminar, resolva a conversa como qualquer outra: a ligação não resolve a conversa sozinha. ::: Vincular a ligação a um atendimento em aberto Se o cliente que ligou já tem outro atendimento aberto (por exemplo, uma conversa no WhatsApp), a conversa da ligação pergunta: "Esta ligação é sobre algum atendimento em aberto deste contato?". - Clique no atendimento certo: as duas conversas ficam vinculadas, cada uma com um link para a outra. - Clique em "É outro assunto" se a ligação não tiver relação com ele. Nada é vinculado automaticamente, porque só quem atendeu sabe o assunto da ligação. Se vincular errado, clique em Desfazer. Ligar para um cliente 1. Na conversa ou no perfil do contato, clique no ícone de telefone (Ligar para o contato). 2. Escolha a caixa de voz e clique em Ligar. Para ligar para um número que ainda não é contato, use Ligar para número. 3. Aparece "Ligando... atenda no seu softphone". O seu softphone toca primeiro. Quando você atende, a AtendeSimples liga para o cliente. A ligação aparece como uma conversa nova na caixa de voz, já atribuída a você. Se você ligou a partir de uma conversa aberta, essa conversa ganha um link para a conversa da ligação. Para ligar pelo Cloud Chat, você precisa ter um ramal cadastrado na caixa de voz e estar com o softphone logado. Gravação e transcrição Gravação Depois que a ligação termina, a gravação aparece no cartão da ligação, assim que a AtendeSimples termina de processar o áudio. Isso costuma levar alguns minutos. Enquanto isso, o cartão mostra "Processando no fornecedor". - Ouça no player da própria conversa ou baixe o áudio pelo menu Baixar. - Ligações não atendidas não têm gravação. Transcrição 1. No cartão da ligação, clique em Transcrever. 2. Aguarde: leva cerca de 1 a 2 minutos para cada 3 minutos de áudio. 3. A transcrição aparece logo abaixo da gravação, separando o que disse o Atendente e o que disse o Cliente. - Trechos com a marca "Baixa confiança, confira no áudio" são partes em que o reconhecimento de voz ficou em dúvida. Ouça a gravação nesses pontos. - Você pode baixar a transcrição em .txt pelo menu Baixar. - A sua conta pode ocultar dados pessoais nas transcrições. Com essa opção ligada, nomes, documentos, e-mails e datas aparecem como "dado oculto". Perguntas frequentes Preciso de um telefone físico? Não. O softphone funciona no navegador, com um fone de ouvido com microfone. Permita o uso do microfone quando o navegador pedir. As ligações que eu faço pelo celular aparecem no Cloud Chat? Não. O Cloud Chat registra as ligações que passam pelo VoIP da AtendeSimples. Ligações feitas por celular pessoal ou outro aparelho ficam de fora. A ligação tocou para outro atendente e não para mim. Por quê? Quem decide para quem a ligação toca é a URA da AtendeSimples, de acordo com as filas e os grupos configurados lá. Confira também se o seu softphone estava aberto e logado: a URA só encaminha para atendentes online. Uma ligação não virou conversa. O que faço? Avise o administrador da sua conta. Em geral é um ajuste na integração com a AtendeSimples, que a nossa equipe verifica. Apareceu um erro ao clicar em Ligar. As mensagens mais comuns: | Mensagem | O que fazer | | --- | --- | | Você não tem ramal nesta caixa de voz | Peça ao administrador para cadastrar o seu ramal na caixa de voz | | Seu login de discagem (e-mail e ramal) não foi reconhecido | O seu e-mail e o seu ramal no Cloud Chat precisam ser os mesmos da AtendeSimples. Avise o administrador | | Ligação recente para este número; aguarde para ligar de novo | Aguarde alguns instantes antes de tentar de novo | | Não deu para confirmar se a ligação saiu | Confira a caixa de voz antes de ligar de novo, para não ligar duas vezes | | Serviço de discagem indisponível; tente em instantes | Tente de novo em alguns instantes | | Serviço de discagem indisponível na conta (saldo ou ativação) | Verifique a sua conta na AtendeSimples | | Qualquer mensagem que peça para avisar o administrador | Avise o administrador da conta, que aciona o nosso suporte | A gravação não apareceu. Ligações não atendidas não têm gravação. Se a ligação foi atendida e o cartão mostra "Indisponível", peça ao administrador para acionar o nosso suporte. Depois de corrigido, use Tentar de novo no cartão. Não vejo o botão Transcrever. A transcrição é uma liberação à parte da telefonia. Fale com o seu account manager. Consigo configurar a URA ou os horários pelo Cloud Chat? Não. URA, filas, horários, mensagens de boas-vindas e grupos de atendimento são configurados no painel da AtendeSimples.

Última atualização em Oct 19, 2026

Moderar comentários do Instagram pela conversa

Comentários do Instagram que chegam como conversa no Cloud Chat podem ser ocultados, reexibidos ou apagados direto no atendimento, sem abrir o Instagram. Quando usar - Quando um comentário em um post precisa sair da vista do público, mas você quer manter o registro do que foi dito. - Quando um comentário precisa ser removido de vez. - Quando o supervisor precisa revisar o que o time ocultou ou apagou no período. Pré-requisitos - Canal do Instagram conectado ao Cloud Chat, com a autorização da conta em dia. - Permissão de atendimento na caixa de entrada do Instagram. Passo a passo 1. Abra a conversa originada do comentário. 2. No menu de ações da mensagem do comentário, escolha Ocultar comentário ou Apagar comentário. 3. Para desfazer uma ocultação, use Reexibir comentário na mesma mensagem. A mensagem passa a mostrar um selo, "Comentário ocultado" ou "Comentário apagado", e o conteúdo continua visível no histórico da conversa, mesmo depois de apagado no Instagram. Encontrar comentários moderados No filtro de conversas, use Status do comentário Instagram, com três opções: - Visível: comentários que estão aparecendo normalmente no post. - Ocultado: comentários que o time escondeu do público. - Apagado: comentários que o time removeu. Salvar esse filtro como pasta dá ao supervisor uma lista pronta do que foi moderado. Observações - Apagar é definitivo no Instagram. O comentário não volta pelo Cloud Chat nem pelo Instagram, só o registro dentro da conversa permanece. Para algo reversível, use Ocultar. - A ação é feita no Instagram pela integração. Se a autorização do canal estiver vencida, a ação falha e o Cloud Chat avisa. Basta reconectar o canal e tentar de novo. - Ocultar afeta a visibilidade do comentário para o público no post. A conversa no Cloud Chat continua aberta e pode ser respondida normalmente.

Última atualização em Oct 20, 2026