OpsIQ Documentação

Construir, operar e Estenda OpsIQ.

Esta é a documentação completa para OpsIQ Configure o produto, execute suporte, configure IA, gerencie CRM, instale o widget, construa conectores, chame o REST API, receber webhooks, pacotes de aplicativos de mercado, e operar auto-hospedagem implementações.

Guia de clienteGuia de administração.Guia de desenvolvimentoReferência de CRMConector SDKRESTAURAÇÃO APIAuto-anfitrião
Escopo

Escopo deste manual

Tudo. OpsIQ Começar em qualquer lugar, as seções seguem a mesma ordem que a barra lateral do administrador.

Escopo
Mapa da documentaçãoO manual é organizado em torno do OpsIQ produto, seguindo a mesma ordem da barra lateral do administrador.Mapa da documentaçãoOpsIQ produtoAUDIENCEOperadoresCONSTRUÇÃODesenvolvedoresRUNAdministradores.OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOUseOpsIQTelas de produtos e fluxos de trabalhoIncluídoEstender OpsIQConectores, APIs e widgetIncluídoOperar OpsIQSegurança, cron e implantaçãoIncluídoReferênciaPacote, API e contratos webhookIncluído1CHOOSE AUDIENCEOperador ou desenvolvedor2FOLLOW THE UISeções espelho OpsIQ3USE SOURCE TRUTHO status vem da construção
O manual é organizado em torno do OpsIQ produto, seguindo a mesma ordem da barra lateral do administrador.
Guia de campo do Portal Studio

Use o guia de administrador e desenvolvedor dedicado para arquitetura do Portal, páginas, componentes, visualização, Central de Ajuda, identidade, SCIM, releases governados, extensões, migrações e certificação.

Abra o guia do Portal Studio.

O que está aqui?

Execute o produto.

Cada tela do administrador: análise, chat ao vivo, tickets, CRM, base de conhecimento, Inteligência do Site, promoções e o portal do cliente.

Conecte seus sistemas.

O widget do site, correios de e-mail, acesso e saída webhooks, e a biblioteca de conectores para plataformas como Shopify, WooCommerce, WHMCS, Zendesk, Stripe, Slack e Gmail.

Construa o seu próprio

The Connector Builder for no-code connectors, Actions & Triggers if you would rather not use connectors at all, and the REST API with every action, scope and error code.

Operar

Funções e permissões, segurança, cron, diagnósticos, backups, e implantação hospedada e auto-anfitriã.

Por onde começar?

1
Se você correr OpsIQ Dia após dia

Leia as seções de tela em ordem lateral, cada uma abre com o que a página serve, para que você possa parar assim que tiver o que precisa.

2
Se você administrar

Adicione configurações, segurança, diagnósticos, Cron e produção.

3
Se você está construindo uma integração

Comece nos conectores, depois no Connector Builder, e depois no REST. API Leia-os em ordem e verá de todas as formas. OpsIQ pode falar com outro sistema.

💡
Duas coisas mudam o que você vê, Permissões escondem páginas que seu papel não pode abrir, então uma seção descrita aqui pode estar faltando na sua barra lateral, peça a um administrador para verificar seu papel e conectores carregam uma etiqueta de maturidade de Produção, Beta, Visualização ou Modelo, a construção em execução e seu manifesto de conector são a autoridade sobre qual delas você tem, não esta página.
Comece aqui.

O quê? OpsIQ faz para o seu negócio

OpsIQ Ele substitui sua análise, chat ao vivo, helpdesk, CRM, SEO toolkit, integração middleware e plataforma desenvolvedora por um único administrador unificado onde cada ferramenta compartilha o mesmo contexto do cliente. 8-12 Separados produtos SaaS, você instala OpsIQ uma vez e operar tudo de uma tela.

A plataforma
OpsIQ Plataforma unificadaUm cérebro de IA central conectado a chat ao vivo, CRM, ingressos, Inteligência do Site, promoções e análises.Conversa ao vivo.PromoçõesAICRMIntel do siteBilhetes-Esquecimento.OpsIQAi Brain1ONE WORKSPACECada ferramenta em um administrador2SHARED BRAINUm contexto de cliente.3ANYWHERENuvem ou auto-hospedado
OpsIQ é uma plataforma com um contexto de cliente compartilhado, cada ferramenta alimenta, e é alimentado por, o mesmo cérebro IA.

Tudo. OpsIQ Faz · em detalhe

Análise de sites e inteligência de visitantes

Rastreamento de visitantes em tempo real.

Cada página carrega, clica, rola e evento de navegação é capturado em tempo real.

Diário de visitas e sessões

Histórico completo de cada visitante com dispositivo, navegador, sistema operacional, país, cidade, referência, parâmetros UTM, landing page e resolução de identidade.

Reprodução de sessão

Reproduções de tempo nas sessões de visitantes capturados, veja exatamente o que os usuários fizeram: movimentos do mouse, cliques, pergaminhos, transições de páginas e interações de formas, use-o para diagnosticar problemas com UX, entender pontos de entrega e verificar fluxos de conversão.

- Alimento ao vivo.

Veja as visualizações de página, início de conversa, submissão de formulários e sinais de intenção atualizando a cada poucos segundos.

Páginas de cima.

Páginas classificadas por visitas, tempo de engajamento, taxa de rejeição, conversões e atividade de suporte.

Geo-inteligência

Distribuição de dispositivos e navegadores, análise da fonte de tráfego, rastreamento de referências do motor de busca e insights de penetração no mercado.

Funil de intenção

Rastreie os sinais de intenção do visitante (principais visitas de página, retornos repetidos, padrões de navegação de documentação e interações de suporte) para identificar visitantes que são propensos a comprar, churn, ou precisar de ajuda.

Experiências A/B

Faça testes separados em seu site diretamente de OpsIQ... crie variantes, ajuste a alocação de tráfego, defina objetivos de conversão e meça significância estatística.

JavaScript error tracking

Capture o lado do cliente. JavaScript Veja mensagens de erro, traços de pilha, navegadores afetados, contadores de frequência e quais páginas os ativam.

Diário de eventos

Cada evento rastreado (vistas de página, eventos personalizados, interações de chat, submissões de formulários, compras) em um registro pesquisável e filtrado com metadados completos.

Vendas e conversões

Acompanhar ordens, receitas, reembolsos, renovações de assinaturas e atribuir conversões a fontes de tráfego, campanhas e viagens de visitantes.

Chumbo

Visitantes de alta intenção identificados por padrões de comportamento, pontos baseados em visitas de página, tempo no local, frequência de retorno, interações de suporte e sinais personalizados, alimentação leva diretamente para o pipeline CRM.

Inteligência do site (SEO e análise de conteúdo)

O site rasteja.

Rastreamento automático de todo o seu site para descobrir páginas, detectar links quebrados, encontrar meta tags faltando, verificar imagem alt texto, validar canônico URLs, e mapear sua estrutura do site.

Auditoria técnica de SEO

Análise técnica abrangente: pontuação de velocidade da página, responsividade móvel, Vitais da Web Core, status do certificado SSL, cadeias de redirecionamento, detecção duplicada de conteúdo, análise de profundidade e validação estruturada de dados.

Auditoria de conteúdo

Avaliar cada página para qualidade de conteúdo, contagem de palavras, pontuação de leitura, densidade de palavras-chave, estrutura de cabeçalhos, relação de ligação interna/externa e frescura.

Busca com energia de IA

Procure semântica em todo o conteúdo do site, faça perguntas sobre seu conteúdo e obtenha respostas sintéticas com referências de página de origem.

Rastreio de classificação SERP

Monitore seus rankings de busca por palavras-chave no Google e outros motores, rastreie as mudanças de posição ao longo do tempo, compare com os concorrentes e veja quais páginas classificam para quais termos.

Pesquisa de palavras-chave

Descubra oportunidades de palavras-chave baseadas em seu conteúdo, análise de concorrente e dados de volume de busca.

Análise de backlink

Veja quais sites se conectam a você, rastreie links novos e perdidos, analise a distribuição de texto âncora e identifique oportunidades de construção de links.

Rede local de SEO

Para empresas com locais físicos, visualize sua visibilidade de busca local em uma grade geográfica, veja como seus rankings variam por localização, distância do seu negócio e intenção de pesquisa.

Perfil de Negócios do Google Sincronia:

Conecte seu perfil de negócios do Google para OpsIQ Sincronize comentários, posts, perguntas, fotos e informações de negócios.OpsIQ Responda a críticas, publique posts e monitore insights.

Relatórios agendados

Relatórios automatizados de SEO e análise gerados em sua agenda (diário, semanal, mensal) relatórios incluem mudanças de ranking, tendências de tráfego, problemas técnicos encontrados, e desempenho do conteúdo.

Suporte com IA

Conversa de clientes AI

AI responde perguntas de clientes em seu site. 24/7 usando sua base de conhecimento, dados de plataforma conectados (ordens, contas, assinaturas) e avisos de treinamento personalizados.Anthropic), GPT-4o (OpenAI), Gemini (Google) e Grok (xAI).

Assistente de IA do administrador.

Um copiloto de IA dentro do seu painel de administração que ajuda você a escrever respostas de ticket, rascunho de comunicações com o cliente, análise de tendências de suporte, pesquisa de dados de clientes em plataformas conectadas e execução de ações através do sistema de conectores.

AI conhecimento aterramento

A IA está fundamentada em seus artigos de base de conhecimento, entradas de FAQ, documentação do produto e dados de plataforma conectados, não alucina, responde de suas informações reais ou aumenta quando é incerto.

Auto-entrega para humanos

Quando a IA não consegue resolver uma pergunta, detecta frustração ou o cliente pede por um humano, automaticamente entrega para sua equipe com contexto de conversação completo.

AI treinando prompts

Escreva instruções separadas para IA voltadas para o cliente e AI voltada para o administrador.

História e auditoria da IA

Cada conversa de IA é registrada com detalhes completos de solicitação/resposta, uso de fichas, rastreamento de custos, provedor usado e versão modelo.

Intuições de IA

Análise automatizada de padrões de conversação com IA, veja perguntas comuns, taxas de resolução, frequência de transferência, satisfação do cliente por tópico e áreas onde a IA precisa de melhor treinamento.

Configuração de IA por espaço de trabalho

Cada site/espaço de trabalho conectado pode usar seu próprio fornecedor de IA, modelo, temperatura, orçamento de fichas e instruções de treinamento.

AI gerenciada e BYOK

Dois modos AI: IA gerenciada (incluída em seu plano, não API A chave é necessária, ou traga sua própria chave. OpenAI/Anthropic/Google/xAI API Ambos são de primeira classe, cada recurso funciona com qualquer modo.

Al orçamentos de fichas e controles de custos

Definir orçamentos mensais, limites de conversação e alertas de baixo equilíbrio, rastrear gastos por provedor, por espaço de trabalho e por conversação, evitar custos com tetos rígidos.

Bilhetes e serviço de ajuda

Sistema de bilhetes nativos

Serviço completo de ajuda com departamentos, prioridades (baixa/média/alta/urgente), status, rastreamento SLA, notas internas, respostas ao cliente, anexos de arquivos e conversas sem necessidade de assistência externa.

Triagem de IA e resposta automática

A IA triplica automaticamente os tickets de entrada por departamento e prioridade, habilita a resposta automática para departamentos seguros, o IA rascunha e envia uma resposta após um atraso configurável (padrão: 2 minutos) para que os humanos possam intervir primeiro.

E-mail ingestão

Ligue uma caixa de correio (Gmail, IMAP, ou fornecedor específico) para criar automaticamente tickets a partir de e-mails enviados.

Portal de ingressos incorporado.

Os clientes podem enviar ingressos, ver seu histórico, responder a tickets abertos e verificar o status, todos marcados com seu design.

Passagem fundida

Mesclar ingressos duplicados em um único tópico, os ingressos mesclados mostram na linha de assunto, todo o histórico de conversa está preservado no ingresso sobrevivente.

Volte para a IA.

Depois que um agente humano assumir o ingresso, use "Retorne à IA" para deixar a IA retornar a resposta automática nessa passagem.

Copiloto de entrada.

O co-piloto sugere respostas, resume o histórico de conversação, recomenda atribuições de prioridade/departamento e pode executar ações em plataformas conectadas.

Conversa e apoio em tempo real.

Conversar com a caixa de entrada.

Conversa de clientes em tempo real gerenciada por uma caixa de entrada unificada, veja todas as conversas ativas, identidade do cliente, histórico de conversa e sugestões de IA, vários agentes podem colaborar em uma conversa.

Regras de bate-papo proativo

Mensagens de bate-papo baseadas no comportamento do visitante: tempo na página, específico URL Exemplo: mostrar uma mensagem de ajuda depois de 60 segundos na página de preços.

Widget de bate-papo

Um widget de chat personalizado incorporado em seu site, suporta bate-papo com IA, chat com agente ao vivo, submissão de tickets, busca na base de conhecimento e identidade do visitante.

Pesquisa da CSAT

Colete avaliações de satisfação após bate-papo e interações de ingressos, projete pesquisas com suas próprias perguntas, escalas de classificação e avisos de acompanhamento.

Pesquisa de e-mail pós-conversa

Depois que um bate-papo termina, visitantes com um e-mail conhecido podem receber uma mensagem marcada com um resumo de IA do que foi tratado e um clique "Foi fácil?" Sim/Não. Uma vez por linha, links assinados para uso único, cada envio registrado, e o resultado cai na página de Feedback como seu próprio sinal ao lado das estrelas no chat.

Release de identidade.

Cada item de feedback que carrega uma pessoa mostra-lhes: nome, e-mail, um clique para a sua jornada completa do cliente e contato CRM, e um clique Email ou Al-draft respostas fundamentadas em seu histórico real.

Escrevendo "AI"

Assistente de redação de IA para compor rascunhos de e-mail, respostas de tickets, anúncios e comunicações com clientes.

Primeiro CRM da IA

Centro de Comando CRM

Uma única tela mostrando todo o seu estado de CRM: valor do pipeline, velocidade do negócio, próximas tarefas, negócios em risco, atividade do agente e recomendações de IA.

Contatos e empresas

Gerencie contatos com clientes com perfis completos: nome, e-mail, telefone, empresa, etiquetas, ciclo de vida, histórico de conversação, histórico do ticket, histórico da compra e campos personalizados.

Acordos e oleodutos

Visual Kanban, com palcos personalizáveis, arrastando negócios entre estágios, valores definidos, proprietários, rastreie datas próximas e veja o valor do pipeline em cada estágio.

AI negócio treinador

A IA analisa cada negócio e fornece treinamento: sinais de risco (se foi silencioso, o concorrente mencionou, preocupações orçamentárias), recomendações de próxima melhor ação, probabilidade de vitória, e sugestão de tempo de seguimento.

Previsão e relatórios

Previsão de receitas baseada em dados de oleoduto, taxas próximas históricas e velocidade do negócio.

Agente de Perspectiva (SDR)

Prospecção com tecnologia de inteligência que identifica potenciais clientes de seus dados de visitantes, sinais de chumbo e atividade da plataforma conectada sugere alvos de alcance, rascunhos de mensagens iniciais e qualidade de liderança.

Sequências de seguimento

Sequências automáticas de acompanhamento multi-passo: e-mail, espera, e-mails, verificação da resposta, aumento.

Ciclo de vida e retenção

Acompanhe os estágios do ciclo de vida do cliente (leader, prospect, cliente, churned) com transições automatizadas.

Agente responsável pelos dados.

Agente de IA que limpa e enriquece continuamente seus dados de CRM: deduplica contatos, preenche campos desaparecidos, valida e-mails, padroniza nomes das empresas e sinaliza registros obsoletos.

Construa meu CRM

Configuração de CRM em linguagem natural: diga à IA como é seu processo de vendas e constrói suas etapas de oleoduto, campos personalizados, modelos de negócio e regras de automação.

Controle de saúde do CRM

Auditoria automatizada da qualidade dos dados do CRM: contatos duplicados, acordos sem próximos passos, oleodutos obsoletos, informações de contato ausentes e pontuação de completude de dados.

Confiança em Dial

Controle de autonomia de três níveis para cada agente de IA CRM: piloto automático (AI atua independentemente), copiloto (AI sugere, humano aprova) e manual (AI observa apenas).

Quatro agentes de IA.

O CRM executa quatro agentes especializados em IA: Steward (qualidade de dados), SDR (prospecção), Retenção (prevenção de churn) e Analista (relatórios e insights).

Conectores e integrações

Conectores pré-construídos.

Conectores prontos para usar.Shopify, WooCommerce, BigCommerce, Magento2, PrestaShop, OpenCart, OsCommerce,WordPress, WHMCS, Zendesk, Stripe, Amazon SES, Postmark, Reenviar, SendGrid, Mailgun,Gmail, IMAP, SlackCada conector traz ações específicas de IA, conhecimento e sincronização de dados.

Construtor de Conectores

Construir conectores personalizados para qualquer plataforma, nenhum código, AI-assisted, ou código completo. O construtor suporta REST e GraphQL APIs, OAuth fluxo de código de autorização, webhook auto-registo com Stripe e esquemas de assinatura simples, paginação (offset, página, cursor, e link-header), list/error transforma, contexto multi-ação, e embalagem mercado.

Autor de conectores assistidos por IA

O ConnectorBuilderAI ajuda a construir conectores: descrever o que você quer e sugere ações, escrever manipuladores de pedidos e mapas API respostas.

OAuth fluxo para qualquer conector.

In-app genérico.OAuth Suporte PKCE, gerenciamento de estado localizado, atualização automática do token.OAuth parâmetros e OpsIQ Lida com o fluxo.

Autocarros de capacidade (extensão em plataforma)

Os conectores não apenas adicionam ações de plataforma, eles podem alimentar recursos centrais através da capacidade "buses". Um conector declara uma capacidade (calendar, enriquecimento, escrivaninha em CRM; lista_local, rank_data em Inteligência do Site; web_analytics em Analytics; payment_provider em Pagamentos; email_sync em Mailbox; video_meeting em Comunicações) e implementa seu pequeno conjunto de métodos; OpsIQ descobre-o através de Capability Registry e o liga à UI, ao Cliente 360 Vários conectores podem oferecer a mesma capacidade sem bloqueio.

Pré-instalado vs nível de mercado

Conectores pré-instalados (conectores/) são ativos no registro fora da caixa, mantidos inclinados para apenas a referência sem chave e o provedor mais usado por capacidade (por exemplo, Google Calendar, Gmail, Google Business Profile). Conetores de mercado (conectores_mercado /) são detectáveis mas inertes até serem instalados, por exemplo, Microsoft 365 Calendário, Outlook, DocuSign, Stripe, GA4, SerpApi, Zoom. Cada ponte tem uma lista de mercado para que a UI e a IA possam alertar "instalar do marketplace" (notificar para instalação) quando uma capacidade não tiver um provedor pronto, nunca quebrado.

Mercado de conexões

Publique seus conectores para o OpsIQ Conectores de pacotes com perfil.json, conhecimento.json, taxas de fluxo de trabalho.json Marketplace suporta conectores pagos e gratuitos com faturamento multi-fonte.

Conector, assinando.

Todos os conectores são criptograficamente assinados para verificação de integridade.

-Smartlookup.

Define regras de busca. OpsIQ Esquema: find_country("germ") combina com a Alemanha. 88.9% Confiança.

Contratos de ação

O General. OpsIQ API publica 1,312 Ações nomeadas, enquanto os pacotes de conectores declaram suas próprias ações com parâmetros digitados, requisitos de autenticação, regras de paginação e respostas transformam-se através do executivo unificado.

Receitas do conector

Receitas de fluxo de trabalho pré-construídas que combinam múltiplas ações de conectores em fluxos de trabalho comuns. Exemplo: "Quando uma nova ordem vem em Shopify, criar um ticket, atualizar o CRM, e enviar uma notificação Slack."

Sincronização do conhecimento

Os conectores declaram tópicos de conhecimento que sincronizam com a base de conhecimentos da IA, artigos de ajuda específicos para plataformas, guias de configuração e etapas de solução de problemas estão automaticamente disponíveis para a IA sem entrada de conhecimento manual.

Plataforma de desenvolvimento

RESTAURAÇÃO API

Um nome.JSON API cobre cada administrador registrado.JSON Operação, comAPI Autenticação chave, isolamento de espaço de trabalho, escopos, limitação de taxa, escrita idempotente, OpenAPI, e uma coleção gerada do Postman.

Webhooks

Entrega sincronizada via fila de trabalho, retentação exponencial, proteção SSRF, e auto-desativada depois 15 Falhas consecutivas.

Assinatura do Webhook

Todos os webhook de saída estão assinados comHMACVerifique assinaturas na sua parte de recepção para garantir autenticidade do webhook.

WILD SDK

JavaScript SDK Instale receitas para React, Vue, Next.js, WordPress, Shopify, e estático HTML.

Plugins e SDKs

SDKs do lado do servidor e plugins para frameworks comuns. WordPress plugin, WHMCS módulo, e bibliotecas de integração PHP/Node.js genéricas.

Eventos API

Push custom events into OpsIQ from your backend: purchases, signups, feature usage, errors, or any business event. Events appear in the visitor timeline and feed into analytics and AI context.

Ativa o livro de receitas.

Construir fluxos de trabalho automatizados desencadeados por eventos: novo ticket, conversa iniciada, visitante identificado, estágio do acordo alterado ou evento personalizado.

API Construtor

Visual. API Configure endpoints, pedidos de teste, inspecione respostas e integrações de depuração sem sair. OpsIQ.

Equipe e administração

Controle de acesso baseado em papéis.

Três papéis: Proprietário (acesso completo, faturamento, zona de perigo), Administrador completo (todas as operações exceto faturamento e zona de risco) e Agente (somente departamentos designados, sem acesso a configurações).

Painel de desempenho da equipe

Dona e painel completo só para administração mostrando tempo de resolução, distribuição de carga, profundidade do manuseio, quebra de canal, análise de tendência, conformidade com SLA, CSAT por agente, taxas de reabertura, rolagem de equipe e horas mais ocupadas.

Presença do administrador e rastreamento online

Um widget em tempo real na navegação do administrador, detecção de presença baseada no batimento cardíaco.60-segundo ping, 300-Segunda extensão, auto-prune depois 120 Veja quais administradores estão ativos e em quais páginas.

Por ajuste de espaço de trabalho

Cada site conectado (espaço de trabalho) pode ter sua própria configuração de IA, configurações de conectores, departamentos de tickets, branding e regras operacionais.

Gestão multi-site

Gerencie vários sites de um só. OpsIQ Cada site tem seu próprio trecho de rastreamento, dados do visitante e configuração.

Sistema de modelos de e-mail

Modelos de e-mail dirigidos por registro para todas as comunicações automatizadas: notificações de tickets, transcrições de chat, emails de boas vindas, resets de senhas e alertas do sistema. HTML Modelos com visualização ao vivo, chips variáveis.{{customer_name}}, {{ticket_id}}), e controle global de layout.

Importação e exportação

Importar contatos, ingressos e artigos de conhecimento de CSV/JSON Exportar dados de visitantes, relatórios de análise e registros de CRM.

Segurança, conformidade e operações.

Enterprise. SSO

OIDC (OpenID Connect) single sign-on com tempo de execução total: descoberta, autorização, retorno, verificação da assinatura JWKS, informações do usuário, lista de domínios, provisionamento de JIT e guardas de status. SAML Suporte de configuração.

GDPR e conformidade de dados

Embutida.DSAR(Requisito de Acesso ao Assunto de Dados) manipulação: exportar e excluir dados do cliente em todos os sistemas.CRMRegistros e registros de e-mail, políticas de gerenciamento e retenção.

IP Bloqueando e proteção contra força bruta.

Bloqueio específico. IPs O bloqueio automático após as tentativas de login configuráveis falhou.IP, horário e agente de usuário.

HSTS e cabeçalhos de segurança

Segurança de Transporte Estrito HTTP, cabeçalhos de Permissões-Política e configuração segura de cookies.

Endurecimento do gancho de teia que sai

Guarda SSRF bloqueia webhooks para particular / metadados IP A entrega da Async impede que terminais lentos bloqueiem sua aplicação. 15 Falhas consecutivas evitam desperdício de recursos em terminais mortos.

Isolação do espaço de trabalho

O isolamento restrito de dados entre espaços de trabalho, visitantes, ingressos, bate-papos, registros de CRM e conversas com IA são explorados em seu espaço de trabalho.

Gestão de ciclo de faturamento

Apoio para ciclos mensais, trimestrais, semestrales, anuais, bienais e de faturamento vitalício.

Cron e automação programada.

Sistema de cronização integrado para tarefas programadas: geração de relatórios, limpeza de dados, renovação de assinaturas, atualizações de treinamento de IA, sincronia de conectores e retries de webhook.

Políticas de retenção de dados

Configure o tempo de sessões de visitantes, transcrições de chat, histórico de conversas com IA e registros de eventos são mantidos.

Diagnósticos e saúde

Painel de saúde do sistema mostrando status cron, conectividade com banco de dados, status do provedor de IA, taxa de entrega de conectores, e uso de armazenamento.

Quem? OpsIQ é para

Lojas de comércio eletrônico.

Lojas

Deixe que a IA responda "Onde está minha ordem?" usando o Live. Shopify/WooCommerce Gerencie tickets de suporte com resposta automática da IA, execute um oleoduto para vendas por atacado e B2B lidera, atribua receita a fontes de tráfego e campanhas, monitore o abandono do carrinho com fluxos de trabalho de recuperação.

SaaS e empresas de software

Software como serviço

Monitore as inscrições de julgamento e a adoção com o replay da sessão, rastreie quais páginas de documentação convertem, automatize suporte com IA ancorada em seu site. API Ligue sua plataforma de faturamento (Stripe, WHMCS Use o agente do ciclo de vida da CRM para detectar e prevenir churn.

Agências e freelancers

Agência

Ofereça análises e portais de suporte aos clientes, rastreie leads em vários sites de clientes de um administrador, use o pipeline CRM para gerenciar prospects e lead de projeto, crie conectores personalizados para plataformas de clientes usando o Connector Builder, gere relatórios de SEO com inteligência do site, revenda conectores de mercado como serviços de valor agregado.

Hospedagem e infraestrutura

Hospedagem

Profundidade WHMCS integração com 80+ AI ações para busca de ordem, gestão de serviços, DNS Resposta automática a perguntas comuns de hospedagem usando artigos de base de conhecimento, engajamento na página do servidor, gerenciamento de tickets de suporte técnico com triagem de IA, uso da escada de ciclo de faturamento para mensalidade através de planos de hospedagem vitalícia.

Negócios de apoio pesado

Suporte

Defletir. 40-70% Percorrer o desempenho da equipe com tempo de resolução, conformidade com o SLA e CSAT por agente, usar a redação de IA para elaboração de respostas profissionais, monitorar tendências de apoio com insights de IA.

Equipes de marketing e SEO

Marketing

Suíte de Inteligência do Site: rastreamentos, auditorias técnicas de SEO, análise de conteúdo, rastreamento de classificação SERP, pesquisa de palavras-chave, monitoramento de backlinks e grade local de SEO.

Fundadores solo e equipes pequenas

Iniciações.

Comece com apenas rastreamento e bate-papo, grátis para adicionar, depois adicione tickets quando receber o volume de suporte, ligue o CRM quando começar a vender, conecte plataformas enquanto as adota. OpsIQ escalas de uma pessoa fazendo tudo para um 50- Equipe de operações com RBAC, departamentos e rastreamento por agente.

Enterprise e multi-marcas.

Empresarial

Enterprise. SSO OIDC para autenticação centralizada, isolamento multi-espaço de trabalho para marcas ou divisões separadas, configuração de IA por espaço de trabalho com diferentes fornecedores e modelos, desenvolvimento de conectores personalizados com distribuição de mercado, trilhas de auditoria, GDPR Ferramentas de conformidade e políticas de retenção de dados.

O quê? OpsIQ Substituta

Google Analytics + Hotjar + Plausivel

Análise completa do site com monitoramento de visitantes, replay de sessão, rankings de páginas, geo inteligência, funil de intenção, atribuição de conversão, eventos, experimentos A/B, e rastreamento de erros JS, tudo em uma plataforma.

Intercomunicador + Drift + Tidio

Conversa com clientes com conhecimento, apoio de IA multifornecedor, transferência automática para humanos, regras proativas de chat, histórico de conversação, pesquisas da CSAT e criação de tickets do chat.

Zendesk + Freshdesk + Scout de ajuda

Sistema de tickets nativos com departamentos, prioridades, SLA, triagem IA, resposta automática com atraso configurável, ingestão de e-mail, incorporação de ticket, fusão de ticket. Copiloto de entrada e retorno à capacidade de IA.

HubSpot + Pipedrive + Salesforce

Primeiro CRM com quatro agentes especializados em IA (Steward, SDR, Retention, Analyst), Controle de autonomia do Trust Dial, placa de oleoduto, treinamento de negócios, previsão, sequências, gerenciamento de ciclo de vida e configuração de CRM de linguagem natural.

Ahrefs + SEMRush + Moz

Inteligência do site com rastreamentos automatizados, auditorias técnicas de SEO, análise de conteúdo, busca de IA, rastreamento de classificação SERP, pesquisa de palavras-chave, análise backlink, rede local de SEO e relatórios agendados.

Zapier + Make + middleware personalizado

Conector SDK com 25+ conectores pré-construídos, Conector Builder (sem código/AI assistido/código completo), OAuth Fluxo, auto-registro webhook, um grande catálogo de definições de ação de conectores que se tornam executáveis apenas quando o conector relevante é instalado, habilitado, configurado e validado, SmartLookup, marketplace e pacotes assinados.

Gerente de Perfil de Negócios do Google

Conector GBP completo: gerenciamento de revisão, pós-publicação, gestão de Q&A, uploads de fotos, sincronização de informações de negócios, rastreamento de insights e respostas de avaliação com inteligência artificial, tudo de dentro OpsIQ.

Ferramentas de e-mail separadas

Modelos de e-mail com editor visual, visualização ao vivo, chips variáveis, controle global de layout e personalização por evento para todas as comunicações automatizadas.

Painel de gerenciamento de equipe

Desempenho de equipe embutido: tempo de resolução, carga de trabalho, conformidade com SLA, CSAT por agente, taxas de reabertura, horas mais ocupadas, rastreamento em tempo real e avarias por departamento.

GDPR Ferramentas de conformidade

Nativo. DSAR Lidando, apagando dados em todos os sistemas, gerenciamento de consentimentos, políticas de retenção, e trilhas de auditoria, construídas na plataforma, não trancadas.

Duas edições

- Adiantado.

OpsIQ A operação do produto é a mesma, infraestrutura, atualizações e backups são gerenciados pelo operador de hospedagem.OpsIQ Tempo de execução em vez de fluxos de marketing ou contas comerciais.

Módulo auto-hospedado

Instalar OpsIQ em seu próprio servidor para controle total de dados, marcas, atualizações e integrações. 8.4+, MySQL 5.7+ ou MariaDB 10.3+, HTTPS, e o OpsIQ Cron unificado, apoio. WHMCS Integração como módulo addon, soberania de dados.

Ordem de leitura recomendada.

1
-Começo rápido.

Siga-me. 30- Guia de instalação de minutos para rastrear, conversar e IA básica trabalhando no seu site.

2
Painel e análise

Aprenda a ler os dados do visitante, configurar o replay da sessão, identificar leads e entender padrões de tráfego.

3
Inteligência do site

Faça seu primeiro rastreamento de SEO, verifique sua saúde técnica e configure o rastreamento da SERP para suas palavras-chave.

4
Bilhetes e suporte

Configure departamentos, configure resposta automática com IA, conecte a ingestão de e-mail e treine sua IA para lidar com perguntas comuns.

5
CRM

Organize contatos, construa seu oleoduto, configure os agentes de IA, ajuste os níveis de discagem de confiança e deixe que a IA treine seus negócios.

6
Conectores e ferramentas de desenvolvimento

Conecte sua plataforma de e-commerce/billing, construa conectores personalizados, configure webhooks e integre através do REST API.

💡
Novo para OpsIQ Comece com o guia de início rápido abaixo. 30 minutos.
Comece aqui.

Começar rápido. 30 minutos.

Siga estes passos para conseguir OpsIQ No final, você terá rastreamento de visitantes, bate-papo com IA e suporte básico a tickets.

Configuração
Lista de verificação de início rápidoUma lista de verificação guiada mostrando widget instalar, conexão plataforma, treinamento de IA, convite da equipe e ir ao vivo, com um 60 Barra de progresso por cento.Comecem.setupInstale o widget OpsIQFeitoConecte uma plataforma.WHMCS, Shopify...)FeitoTreine sua IA sobre seu conteúdo.FeitoConvide sua equipe.Verifique e vá ao vivo.Configurando o progresso3 de 5 · 60%1STEP 1Instale o widget2STEP 2Conectar a IA do trem3STEP 3Convide e vá ao vivo.
O 30-caminho de minutos: instale o widget, conecte uma plataforma, treine sua IA, convide a equipe e depois vá ao vivo.

O 30-Equipamento de minutos

1
Ative sua licença.

Digite sua chave de licença no administrador OpsIQ. Vá para Configurações, insira a chave de habilitação fornecida para esta instalação e clique em Ativar.

2
Defina sua identidade de negócio.

Vá para Configurações e preencha seu nome de empresa, indústria, fuso horário, moeda padrão e horas de suporte.

3
Escolha um fornecedor de IA.

Vá para a configuração da IA e selecione seu provedor.Anthropic), GPT-4o (OpenAI), Gemini (Google), ou Grok (xAI). API A chave se usar sua própria chave, ou usar IA gerenciada se estiver disponível em seu plano.

4
Instale o widget de rastreamento

Go to Connected Sites, copy the tracking snippet, and paste it before the closing </body> tag on your website. Visit your site in a private browser, then check the Live Feed in OpsIQ. You should see yourself as a visitor within 15 seconds.

5
Conecte sua plataforma.

Se você usar Shopify, WooCommerce, WHMCS, ou outra plataforma suportada, vá até Conectores, encontre sua plataforma, insira credenciais e clique em Test Connection.

6
Convide sua equipe.

Os agentes só podem acessar departamentos que você os designou.

O caminho mais rápido possível (5 minutos)

Passo 1: Instalar widget

Copie o trecho dos Sites Conectados e cole no seu site, isso te dá rastreamento imediatamente.

Passo 2Ativar IA

Vá para a configuração da IA, escolha um provedor, digite sua chave e salve.

Feito.

Agora você tem o rastreamento de visitantes e a conversa da IA.CRM, e conectores depois.

Dia. 2Fazê-lo útil

Adicione o conhecimento.

Vá para a Base de Conhecimento e adicione 5-10 A IA usa isso para responder aos clientes com precisão.

Criar departamentos

Vá para Tickets e crie pelo menos 2 Departamentos (por exemplo, "Vendas" e "Apoio").

Escreva seu alerta de IA.

Vá para o treinamento de IA e escreva um pedido de IA do cliente que descreve suas regras de negócios, tom e escalada.

Teste uma conversa.

Abra seu site em um navegador privado e converse com a IA como cliente, verifique se as respostas são precisas e o tom está certo.

Semana 1: Construir suas operações

Conectar e-mail

Prepare uma caixa de correio (Gmail, IMAP, ou um conector de provedor) assim os e-mails do cliente automaticamente criam ingressos.

Prepare a resposta automática.

Habilite a resposta automática de tickets para departamentos seguros. 2- para que os humanos possam intervir primeiro.

Análise de revisão

Veja a contagem de visitantes, taxa de rejeição, páginas de cima e vendas se o rastreamento estiver conectado.

Comece seu CRM.

Abra o CRM de IA e deixe OpsIQ Importar contatos de suas plataformas conectadas.

Mês 1Otimizar

Reveja a história da IA.

Procure respostas erradas, perguntas perdidas e oportunidades de adicionar conhecimento.

Adicione regras proativas.

Criar uma regra: se um visitante está na página de preços para 60+ segundos, mostre uma mensagem perguntando se precisam de ajuda.

Construa um conector.

Se você usar uma plataforma que não tenha um conector embutido, use o Conector Builder para criar uma.

Prepare os hooks.

Conectar OpsIQ para suas ferramentas internas usando webhooks de saída para eventos de ticket, bate-papo e vendas.

Posso pular a IA e usar o rastreamento?+

Sim, o fornecedor de IA é opcional. OpsIQ Você pode ativar a IA mais tarde quando estiver pronto.

Posso pular conectores e adicioná-los depois?+

Os conectores enriquecem a IA com dados específicos da plataforma, mas... OpsIQ Comece com rastreamento e bate-papo, depois conecte plataformas quando necessário.

E se eu ainda não tiver um site?+

Você ainda pode usar OpsIQ para tickets, CRM e colaboração de equipe.

Como sei se o widget está instalado corretamente?+

Visite seu site em um navegador privado/incógnito. OpsIQ Você deveria ver sua visita aparecer dentro de uma sala. 15 Se não, verifique:1É o trecho colado corretamente, (2) é a chave do site correta, (3) são bloqueadores de publicidade ou cabeçalhos CSP bloqueando o script.

Comece aqui.

Mapa completo do produto

OpsIQ É um administrador de operador, um widget do site, uma camada de suporte de IA, um sistema de tickets/helpdesk, um CRM completo com quatro agentes de IA... uma suíte de Inteligência do Site, uma plataforma de conectores com mercado e uma superfície de desenvolvedor.

Operadora de administração

Painel, alimentação ao vivo, registro de visitantes, sessões, replay de sessão, páginas superiores, geo inteligência, funil intenção, log de eventos, experimentos A/B, rastreamento de erros JS, vendas e conversões, leads, CRM AI (centro de comando, contatos, empresas, ofertas, conselho de pipeline, coaching de negócios, previsão, prospecção, sequências, ciclo de vida, administrador de dados, Construir meu CRM, CRM config, CRM saúde, CRM API), tickets, chat inbox, regras proativas, pesquisas CSAT, rascunhos de email, caixas de correio, configuração IA, treinamento de IA, histórico de IAs, insights de IA. base de conhecimento, conectores, Connector Builder, marketplace, sites conectados, gerenciamento de equipe, desempenho da equipe, configurações, diagnósticos e licença.

Superfícies voltadas para o cliente

Site de rastreamento widget (analytics beacon + chat + ticket incorpor + pesquisa base de conhecimento), cliente bate-papo IA, portal de submissão de tickets, manipulação de fichas de identidade do visitante, uploads de arquivos, widget de pesquisa CSAT, e centro de ajuda voltado para o cliente.

Primeiro CRM da IA

Centro de comando, contatos, empresas, acordos, placa de oleoduto com arrastar e soltar, coaching de acordo com IA (sinais de risco, próxima melhor ação, probabilidade de vitória), previsão de receita, agente prospector (SDR), sequências de acompanhamento automatizadas, ciclo de vida e gerenciamento de retenção, agente responsável por dados (dedup, enriquecer, validar), Construir meu CRM (configuração da linguagem natural), configuração do CRM, verificação de saúde CRM, discagem confiável (Autopilot/Copilot /Manual por agente), quatro agentes especializados (Steward, SDR, Retention, Analyst) e CRM API com webhooks.

Suíte de Inteligência do Site

Site automatizado rasteja, auditoria técnica SEO (velocidade, celular, Vitais da Web Core, SSL, redirecionamentos, dados estruturados), auditoria de conteúdo (contagem de palavras, legibilidade, densidade de palavra-chave, estrutura de cabeçalho), pesquisa semântica com IA, rastreamento de classificação SERP entre motores, pesquisa de palavras-chave com pontuação de oportunidade, análise de backlink e monitoramento, visualização local da rede SEO, sincronização do perfil de negócios do Google (reviews, posts, Q&A, fotos, insights), relatórios agendados (diário/semanal/mensal) e white-label PDF Produção para agências.

AI e automação

Claude, GPT-4o, Gemini, Grok), administrador assistente de IA, conhecimento AI aterramento, auto-handoff com configurável reversão, por espaço de trabalho configuração de IA , gerenciado IA e BYOK Modos, orçamentos de fichas e controles de custos, histórico de IA trilha de auditoria, análise de insights de IA, triagem de IA de ticket, auto-resposta do bilhete com atraso, escrevendo IA (prompt separado), e co-piloto da caixa de entrada administrador.

Conectores e integrações

25+ conectores pré-construídos (Shopify, WooCommerce, BigCommerce, Magento2, PrestaShop, OpenCart, OsCommerce, WordPress, WHMCS, Zendesk, Stripe, Amazon SES, Postmark, Reenviar, SendGrid, Mailgun, Gmail, IMAP, Slack, Google Business Profile), Conector Builder (sem código/AI-assistido/código completo), genérico OAuth Fluxo com PKCE, mercado de conectores com distribuição paga, assinatura e verificação de conector, combinação fuzzy SmartLookup, um grande catálogo de definições de ação HTTP cuja disponibilidade depende da instalação do conector, habilitação, configuração e validação, sincronização de conhecimento e receitas de fluxo de trabalho.

Plataforma de desenvolvimento

RESTAURAÇÃOAPI(visitantes, eventos, ingressos, contatos, configurações, conectores), OpenAPI spec,API Gestão de chaves, webhooks encadernados (sincronia, auto-desativação), EventosAPI para ingestão de eventos personalizados, widget SDKcom resolução de identidade, gatilhos livro de receitas, contratos de ação, conector SDK, embalagem de mercado, servidor-side SDKs (PHP, Node.js), WordPress plugin, e WHMCS Módulo.

Configurações e operações

Business identity, AI configuration per workspace, tracking settings, security (HSTS, Permissions-Policy, IP blocking, brute-force protection), RBAC (Owner/Full Admin/Agent), team management and invitations, team performance dashboard, admin presence tracking, email template system (registry-driven, visual editor, variable chips), survey designer, domain knowledge, ticket embed configuration, branding, data retention policies, billing cycle management (monthly through lifetime), currency normalization, import/export, diagnostics, cron automation, and danger zone.

Segurança e conformidade.

Enterprise. SSO (OIDC com verificação JWKS, provisionamento JIT) SAML configuração, GDPR/DSAR manipulação (exportação e exclusão em todos os sistemas), apagamento de dados por contato, gerenciamento de consentimentos, isolamento do espaço de trabalho (escopeamento restrito da camada de consulta), trilhas de auditoria, falha no rastreamento de login, IP Bloqueio, proteção SSRF da web e políticas de retenção de dados.

Ponte do provedor.

A IA gerenciada proximou OpsIQ provedor URL, Ligação do provedor de Inteligência do Site, validação de licença, relatórios de saúde, PDF renderização, e exportações de dados, todos encaminhados através do terminal de provedor configurado, não fornecedor direto API Chamadas do seu servidor.

Cada página de administração

Painel de controle

Núcleo

Centro de Comando Diário: visão geral do tráfego, contagem de visitantes ao vivo, resumo de vendas, profundidade da fila de suporte, alertas de atividade de IA e atalhos de ação rápida.

- Alimento ao vivo.

-Esquecimento.

stream de visitantes em tempo real: visualizações de página, início de conversa, submissão de formulários e sinais de intenção atualizando a cada segundo com filtros de país, dispositivo e referência.

Diário de visitas

-Esquecimento.

Registros completos de visitas: dispositivo, navegador, SO, país, cidade, referência, params UTM, landing page, identidade e histórico completo de visualização de páginas.

Sessões

-Esquecimento.

Visão agrupada: fluxo de página, tempo na página, profundidade do rolagem, caminho de conversão e página de saída para cada sessão de visitantes.

Reprodução de sessão

-Esquecimento.

Reproduções de eventos capturados: movimento do mouse, cliques, pergaminhos, transições de páginas e interações de forma para o diagnóstico de UX.

Páginas de cima.

-Esquecimento.

Ranking de desempenho da página: visitas, tempo de engajamento, taxa de rejeição, conversões, interações de suporte e direção de tendência.

Geo-inteligência

-Esquecimento.

Relatórios geográficos: quebra de país/cidade com mapas, distribuição de dispositivos, compartilhamento de navegadores, fontes de tráfego e penetração no mercado.

Funil de intenção

-Esquecimento.

Rastreamento de intenção comportamental: preços, frequência de retorno, navegação por documentos, interações de suporte e sinais personalizados com probabilidade de conversão.

Diário de eventos

-Esquecimento.

Histórico de eventos pesquisáveis: visualizações de página, eventos personalizados, chats, compras, submissão de formulários com metadados completos e filtragem.

Experiências A/B

-Esquecimento.

Testes divididos: criar variantes, alocar tráfego, definir objetivos, medir significado e declarar vencedores, todos de dentro OpsIQ.

Erros JS

-Esquecimento.

Captura de erro da Frontend: mensagens, traços de pilha, navegadores afetados, frequência, páginas afetadas e rastreamento de tendências.

Vendas

Vendas

Painel de receitas: pedidos, renovações, reembolsos, atribuição por fonte, desempenho da campanha, comparação do período e análise de tendência.

Chumbo

Vendas

Gestão principal: pontuação, atribuição de fonte, status de CRM, detalhes de contato, sinais comportamentais e roteamento de tubulação.

AICRM

CRM

Cheio.CRMCentro de comando, contatos, empresas, acordos, oleodutos, treinamento, previsão, prospecção, sequências, ciclo de vida, administrador de dados e saúde.

Bilhetes

Suporte

Suporte de entrada: departamentos, prioridades, rastreamento SLA, triagem de IA, resposta automática, notas internas, anexos de arquivos, fusão e gerenciamento de status.

Conversar com a caixa de entrada.

Suporte

Conversas ao vivo: IA e conversa humana, entrega, colaboração, histórico de conversação, identidade do cliente, e coleção CSAT.

Rascunhos de e-mail

Suporte

Gerenciamento de e-mail: entrada de correio para tickets, composição de resposta assistida por IA, seleção de modelos e configuração da caixa postal.

Configuração da IA

IA

Configuração do provedor: selecione Claude/GPT-4o/Gemini Grok, entre. API Chave ou habilitar IA gerenciada, modelo, temperatura e orçamentos de fichas por espaço de trabalho.

AI treinamento

IA

Autora imediata: avisos voltados para o cliente e para o administrador, regras de escalada, diretrizes de tom, tópicos proibidos e configuração de limites.

AI história

IA

Auditoria de conversação: registros completos de pedido/resposta, uso de fichas, custo por conversa, provedor, versão do modelo e resultado da resolução.

Intuições de IA

IA

Análise de padrões: perguntas comuns, taxas de resolução, frequência de transferência, satisfação por tópico e identificação de gap de treinamento.

Base de conhecimento

IA

Conteúdo de treinamento de IA: artigos, entradas de FAQ, documentos de produtos, conhecimento de conectores e entradas personalizadas.

Conectores

Integrações

Centro de integração: conectores instalados, estado de saúde, inventário de ação, gerenciamento de credenciais, navegador de mercado e Connector Builder.

Sites conectados

Configurações

Gerenciamento de site: rastreamento de trechos, chave de site, configuração de widgets, configurações de domínio e isolamento por local de trabalho.

Equipe

Configurações

Gestão de usuários: convidar membros, atribuir papéis (Proprietário/Admin./Agente completo), definir o acesso do departamento e gerenciar permissões.

Desempenho em equipe

Configurações

Metricas de operações: tempo de resolução, carga de trabalho, conformidade com o SLA, CSAT por agente, taxas de reabertura, horas mais ocupadas e análise de tendência.

Configurações

Configurações

Configuração: identidade de negócios, instalação de IA, rastreamento, segurança, marca, retenção, modelos de e-mail, faturamento, importação/exportação, diagnósticos e zona de perigo.

Licença

Configurações

Gerenciamento de planos: status da licença, características do plano, métricas de uso, data de renovação e opções de atualização/downgrade.

Comece aqui.

Guiado a bordo

A jornada de integração transforma uma nova instalação em um trabalho. OpsIQ espaço de trabalho e pode ser deixado e retomado sem perder o progresso.

Tela de produto
A bordo.A bordo mostra cada área de configuração, seu estado atual e a próxima ação a ser completada.A bordo.Espaço de trabalhoPROGRESS60%COMPLETED6PróximoWidgetOBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOLicençaValidar a licença do produtoFeito.AI provedorSelecione provedor e chave de testeFeito.MarcaIdentidade de negócios e tomFeito.SiteAdicione site e instale widgetPróxima1COMPLETE BASICSLicença, marca, IA2CONNECT DATALocal e conector3VERIFY LAUNCHEquipe, e-mail, cheques
A bordo mostra cada área de configuração, seu estado atual e a próxima ação a ser completada.

Sequência recomendada

  1. Licença: Valide a licença e confirme que o espaço de trabalho está ativo.
  2. AI provedor: Escolha o provedor/modelo, insira credenciais e execute o teste de conexão.
  3. Identidade comercial: definir o nome, indústria, descrição, tom de cliente e detalhes da marca usados pelo widget e IA.
  4. Conector: habilitar pelo menos uma plataforma externa quando OpsIQ precisa de pedidos, clientes, tickets, e-mail ou outro contexto da plataforma.
  5. Site e widget: Criar o local/espaço de trabalho, copiar a chave do site e verificar uma visita privada-browser em Live Feed.
  6. Equipe e roteamento: Convide administradores/agentes, crie departamentos, defina o encaminhamento de e-mails e confirme as preferências de notificação.
  7. - Cheques ao vivo: Teste de bate-papo, um ticket, sincronia de conectores, cron, e-mail de saída, webhooks e cabeçalhos de segurança.

A viagem armazena a conclusão por espaço de trabalho, retornar ao Onboarding deve mostrar passos completos em vez de forçar um reinício.

Comece aqui.

Navegação e permissões da administração

O OpsIQ Este mapa explica onde cada área operacional vive e porque uma página pode não ser visível para cada administrador.

Tela de produto
OpsIQ navegaçãoOs grupos da barra lateral. OpsIQ por área de trabalho, links individuais aparecem apenas quando o papel atual pode usá-los.OpsIQ navegaçãoEspaço de trabalhoGROUPS8PÁGINASPermissão baseada.SEARCHDisponívelOBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOSuporteBilhetes, e-mail, CSAT, conhecimentoAbra.CRMContatos, oleodutos, acordos, prospecçãoAbra.AutomatizaçãoFluxos de trabalho, regras, objetivosAbra.Segurança e PrivacidadeVisão geral, auditoria, consentimento, bloqueiosAdmin.1PICK A GROUPCombinar a barra lateral2CHECK ROLEEscondida significa restrita3USE PAGE HELPAbra a seção correspondente.
Os grupos da barra lateral. OpsIQ por área de trabalho, links individuais aparecem apenas quando o papel atual pode usá-los.
Suporte

Bilhetes, a plataforma de email da equipe, CSAT, a Central de Ajuda e o Chatbot flui.

CRM

As superfícies de vendas diárias: CRM Home, Centro de Comando, contatos, oleoduto, previsão, ciclo de vida, prospecção, segmentos, leaderboard, aprovações de acordo, data steward, ferramentas de crescimento e o fluxo de atividade.

Automatização

Fluxos de trabalho orientados para eventos, regras do ciclo de vida e metas de conversão.

Marketing

Expansão, mensagens proativas, anúncios, Estúdio de Promoção, Estúdio Pesquisa, campanhas de impulso e visitas guiadas.

-Esquecimento.

Reporte as superfícies primeiro - Analytics Hub, Insights de IA, vendas, clientes, leads, funils, testes A/B, replay de sessão, painéis personalizados e relatórios agendados - com os registros de visitantes brutos, sessões, páginas, geografia e eventos em uma sub-seção de dados crus.

Páginas autônomas

Inteligência do site, desempenho da equipe e feedback sentam-se fora dos grupos como entradas diretas.

Integrações

Conectores, ações e gatilhos, caixas de correio, rascunhos, configurações de email, terminais de entrada, webhooks de saída e chaves API.

Segurança e Privacidade

Security overview, privacy and compliance, cookie consent, audit activity, failed logins, blocked IPs and JavaScript errors.

Configurações

Noções básicas do espaço de trabalho (geral, equipe, sites, idiomas), então sub-seções que se colapsam: AI Brain (instruções, configuração, avaliação, história), CRM Setup (construtor, campos personalizados, pontuação de chumbo, saúde), Data & Health (diagnóstico, exportação) e Geting Begined (onboarding, help).

Páginas que um papel não pode abrir estão escondidas na barra lateral. Atualização Etiquete e abra uma tela de atualização no aplicativo.

Esconder um link lateral não é o limite de segurança, toda ação protegida deve passar por sua permissão e verificação do espaço de trabalho.

-Esquecimento.

- Centro de análise.

O centro de análise traz suporte, bate-papo, IA, visitante e agente reportando em um local de trabalho filtrado com resultados exportáveis.

Tela de produto
- Centro de análise.O Hub do Analytics mostra um intervalo de datas, cartões métricos e guias para suporte, bate-papo, IA, visitante e agente.- Centro de análise.Espaço de trabalhoCITKETS184AI RESOLVE63%CSAT4.7OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOSuporteCriado, fechado, pendente, SLATab.ConversarAL/humano resultados e lidar com o tempoTab.IAConfiança, feedback, uso de fichas.Tab.Agente.Volume, velocidade e satisfaçãoTab.1CHOOSE DATESPredefinido ou personalizado2CHANGE TABApoio ao Agente.3EXPORTBaixe CSV
O Hub do Analytics mostra um intervalo de datas, cartões métricos e guias para suporte, bate-papo, IA, visitante e agente.

Filtros e controles.

  • Use um ajuste ou um costume de/para Alcance, então refresque para reconstruir cada carta e gráfico para o mesmo período.
  • Exportação CSV Exporta a visão analítica ativa ao invés de uma imagem.
  • A varredura do espaço de trabalho é automática, mudar os locais muda o conjunto de dados.

O que cada tabulação mede

  • Apoio: tickets criados/fechados/pendentes, primeira resposta, resolução, resoluções de primeiro contato, SLA e detalhamentos de prioridade/departamento/status.
  • Conversar: As sessões começaram, resoluções de IA, escaladas, abandono, tempo de manuseio, mensagens por sessão, e IA/humana/todos os CSAT.
  • AI: confiança média, baixa taxa de confiança, precisão da triagem, feedback, desvio do conhecimento, uso de token/cache, e os itens que precisam ser revisados.
  • Visitante: Tendências de tráfego e engajamento para o período selecionado.
  • -Agente: carga de trabalho per-agente, velocidade, fechamento e medidas de satisfação.

Use o Centro de Análise para revisão entre equipes, use as páginas dedicadas Visitantes, Bilhetes, CSAT, História da IA e Desempenho em Equipe quando precisar de investigação.

-Esquecimento.

O Painel

O Dashboard é seu centro de comando diário, mostra tráfego, vendas, carga de suporte, atividade de IA e indicadores de conversão em uma visão.

Painel de controle
Painel de visão geralA tela de visão geral liderada por OpsIQ Painel de inteligência IA (com resumo diário, alertas inteligentes, previsão), peças de widget KPI e um widget de tráfego de sete dias, além de um controle de layout reset.Visão geralEspaço de trabalhoOPSIQ INTELIGÊNCIAEscolha uma análise e OpsIQ escreve.Um resumo diário.Alertas inteligentes.PrevisãoRedefinir o layoutVISITAS HOJE2,481+12%RECEITAS$8.2k+5%ABERTAS AS VITAS143SLATráfego por último. 7 dias1AI-FIRSTOpsIQ Painel de Inteligência.2WIDGETS- O que você está fazendo?3SeuReset layout a qualquer hora
A verdadeira tela de visão geral: OpsIQ Painel de inteligência em cima (escolha uma análise e ela escreve) acima dos widgets KPI você se organiza.

Cartas de bordo explicadas.

Visitantes ao vivo

O número de pessoas no seu site agora. 15 Um visitante é "ativo" se carregar uma página dentro do limite ativo (padrão: 90 segundos).

Visitantes únicos.

Quantas pessoas diferentes visitaram seu site na faixa de datas selecionada. OpsIQ identifica visitantes por uma combinação de impressão digital do navegador, cookies e identidade autenticada (se disponível).

Novo vs retorno

Os visitantes que retornam já foram vistos antes, uma alta proporção de retorno significa que seu conteúdo traz as pessoas de volta, uma taxa muito baixa de retorno pode significar que você não está mantendo o interesse.

Taxa de salto

A porcentagem de visitantes que saíram após ver apenas uma página, uma taxa de rejeição acima de 70% nas landing pages geralmente significa que a página não está atendendo as expectativas dos visitantes, conteúdo errado, carga lenta ou má experiência móvel.

Tempo médio na página

Quanto tempo os visitantes gastam em cada página, em média. 10"Segmentos" nas páginas de conteúdo sugerem que o conteúdo não está se envolvendo.

Ameaças bloqueadas.

IPendereços que OpsIQ Identificou-se como potencialmente malicioso com base em ameaças, tentativas brutas de força ou blocos manuais. IPs Lista.

Vendas hoje / esta semana / este mês

Receita de fontes de vendas conectadas (Shopify, WooCommerce, StripeSe as vendas mostrarem zero, verifique se o conector da plataforma está conectado e sincronizado.

Gráfico de tendências

Um gráfico mostrando a contagem de visitantes ao longo da faixa de datas selecionada.

Fontes de topo.

De onde seus visitantes vêm: direto, Google, redes sociais, campanhas de e-mail, sites de referência.

Navegadores de topo.

Chrome, Safari, Firefox, Edge e outros. CSS ou JavaScript Problema de compatibilidade.

Mapa de calor por hora

Uma grade mostrando atividade de visitante por hora do dia e dia da semana.

Visitantes recentes

Os últimos visitantes com país, página, dispositivo e fonte... úteis para verificações rápidas durante as campanhas.

Usando o filtro de data

Clique no seletor de data na parte superior direita do Painel. Predefinições: Hoje, Ontem, Último 7 dias, Últimos 30 Todos os cartões e gráficos do painel são atualizados quando você altera o intervalo. O intervalo de datas está no seu fuso horário configurado (definido em Configurações).

- Sim.

Investigação de picos de velocidade.

Cenário:
Your bounce rate jumped from 45% to 78% this week. What happened?
O que fazer:

Check: (1) Did a specific landing page change? Go to Top Pages and sort by bounce rate. (2) Did a campaign send traffic to the wrong page? Check Top Sources for new referrers. (3) Did the site break on mobile? Check browser breakdown for mobile bounce rate. (4) Is it bot traffic? Check the Threats counter and visitor details for suspicious patterns.

Zero visitantes no painel de controle.

Cenário:
The dashboard shows 0 live visitors even though your website is getting traffic.
O que fazer:

Check: (1) Is the tracking widget installed? View your website source code and search for the OpsIQ script. (2) Is the site key correct? Compare the data-site-key in the script with the key in Connected Sites. (3) Is a CDN or cache serving a stale page without the script? Clear your CDN cache. (4) Is an ad blocker or CSP header blocking the script? Check the browser console for blocked requests.

Lendo o mapa de calor horário

Cenário:
Your heatmap shows heavy activity between 10am-2pm on weekdays but nothing on weekends.
O que fazer:

This is a B2B traffic pattern. Your visitors are working professionals browsing during business hours. Implications: (1) Schedule support staff for weekday business hours. (2) Send email campaigns Tuesday-Thursday morning. (3) Weekend maintenance windows are safe. (4) Consider offering live chat only during peak hours.

O trânsito está vindo de uma fonte desconhecida.

Cenário:
You see a sudden spike of 500 visitors in one hour from an unknown referrer.
O que fazer:

Go to Visitors and filter by the time window. Check: (1) Are they real visitors or bots? Look at session duration, pages viewed, and browser diversity. (2) If real, what page are they landing on? (3) Check the referrer URL. Someone might have linked to you from Reddit, Hacker News, or a popular blog. (4) If it is bot traffic, check Threats and consider blocking the IP range.

Por que meu visitante conta diferente de Google Analytics?+

OpsIQ Ele usa impressões digitais do navegador e cookies, enquanto GA usa um modelo de cookie diferente. 10-20% A variância está normal.

Posso colocar o painel em outra ferramenta?+

O painel foi projetado para o OpsIQ Para relatórios externos, use o REST. API para puxar dados de análise e exibi-lo em seu próprio painel ou ferramenta BI.

O que significa o contador de ameaças?+

Conta. IP endereços que OpsIQ Ele marcou ou bloqueou com base na pontuação de ameaça, logins falhando repetidos, ou blocos manuais.

-Esquecimento.

Diário de visitas

O registro de visitas mostra cada visita aos sites rastreados, cada linha é uma página carregada por um visitante, para investigar o comportamento individual do visitante, encontrar tráfego na campanha e diagnosticar problemas de rastreamento.

Diário de visitas
Diário de visitasUma mesa de visitantes com uma barra de filtro (data, busca)IP/email/cidade, fonte, dispositivo) e colunas para IP E-mail, localização, fonte, dispositivo e tempo, com uma linha de ameaça marcada.Diário de visitasyoursite.com7 diasProcure. IP, e-mail, cidade...Fonte▾Dispositivo▾IP/ EMAILLOCALIZAÇÃOFONTEDISCURSOQUANDO[email protected]EUA · Nova YorkgoogleÁrea de trabalho2m41.62.10.4Reino Unido · LondresdirectMóvel6m[email protected]DE · BerlimUTM: AdsMóvel14m203.0.113.9NG · Rio de JaneiroreferralÁrea de trabalhothreat1–25 de 3,402Sessão →1FILTERData · busca · fonte · dispositivo2REAL COLUMNSIP/email · localização · dispositivo · ameaça3DRILL INAbra a sessão completa.
O verdadeiro registro de visitantes: filtrar por data, busca e dispositivo, então ler todas as visitas por IP_/email, localização, fonte, dispositivo e hora, ameaças marcadas em vermelho.

O que cada linha mostra

IP endereço

O visitante.IP Endereço anônimo se...IP A anonimização está ativada em Configurações.IP.

País e cidade

Detectado a partir do endereço IP usando dados GeoIP. Requer banco de dados MaxMind GeoLite2 ou cabeçalhos geo Cloudflare. Mostra "Desconhecido" se GeoIP não estiver configurado.

Página URL

A página que o visitante carregou.URLLongo. URLs estão truncados na vista da mesa.

- Remetente.

"Direta" significa nenhum referenciador (marcas, digitados URLs_, alguns links de aplicativos).

Dispositivo e navegador

O tipo de dispositivo do visitante (desktop, celular, tablet) e navegador (Chrome, Safari, Firefox, etc.).

Data e hora

Quando a página foi carregada, no seu fuso horário configurado.

Identidade do cliente

Se o visitante for identificado (via identidade ou login), seu nome ou e-mail aparecerá, caso contrário será anônimo.

Filtros

Data de intervalo

Filtrar as visitas a um período de tempo específico. 7 dias.

Busca

Procurem por IP Endereço, página URL, referência, país ou e-mail do cliente.

Fonte

Filtro por fonte de tráfego: direto, orgânico, social, referência, pago, e-mail.

Dispositivo

Filtrar por Desktop, Mobile ou Tablet.

Só para novos

Mostre apenas visitantes da primeira vez que nunca foram vistos antes.

- Sim.

Encontre visitantes de uma campanha específica.

Cenário:
You launched a Google Ads campaign with UTM parameter utm_source=google&utm_medium=cpc&utm_campaign=summer-sale. How do you find those visitors?
O que fazer:

No Diário de Visitantes, use o campo de busca e digite "verão-venda".URLs e página.URLs Você também pode filtrar por Source = Pago para reduzir ainda mais.

Encontre um cliente que relatou um problema.

Cenário:
A customer emailed saying "your checkout page was broken yesterday around 3pm." How do you find their session?
O que fazer:

Procure pelo endereço de e-mail no registro dos visitantes, se eles foram logados, sua identidade aparecerá, definirá o intervalo de data para ontem, procure visitas para as páginas de checkout por volta das 15h. JavaScript Erros.

Detecte um batedor de loop ou raspador.

Cenário:
You notice an IP address has 500+ visits in one hour, all to the same page.
O que fazer:

This is likely a bot, scraper, or broken script. Go to the Visitor Log and search by that IP. Check: (1) Are all visits to the same page? (2) Is the user agent a known bot? (3) Is the session duration always 0 seconds? If confirmed as a bot, go to Security and block the IP.

Registro de visitantes vs Sessões vs Live Feed

Diário de visitas

Uma linha por página, melhor para investigar páginas específicas, achar tráfego de fontes específicas, diagnosticar problemas de rastreamento.

Sessões

Uma linha por sessão de visita, melhor para entender o fluxo do usuário, medir a duração da sessão, identificar os caminhos de conversão.

- Alimento ao vivo.

Atividade em tempo real, mostra visitantes no seu site, melhor para: monitorar campanhas em andamento, detectar visitantes de alta intensidade, assistir oportunidades de apoio.

Por que vejo minhas visitas no diário?+

OpsIQ Para excluir o seu próprio tráfego, adicione o seu IPEndereço para os excluídos. IPs Lista em Configurações > Rastreamento.

Por que um visitante mostra o país desconhecido?+

GeoIP requer ou Cloudflare geo headers (automático se usando Cloudflare) ou um arquivo de banco de dados MaxMind GeoLite2.

Quanto tempo os dados do visitante são mantidos?+

Os dados dos visitantes são mantidos para o período de retenção configurado em Configurações (padrão: 90 dias).

-Esquecimento.

Sessões

Sessões agrupam várias visualizações de páginas da mesma pessoa em uma única jornada, enquanto o Diário de Visitantes mostra cada página, as Sessions mostram como as pessoas passam pelo seu site de pouso para saída.

Sessões
SessõesA mesa de Registro da Sessão com IP, país, dispositivo, fonte, duração e colunas de páginas, e uma linha de ameaça sinalizada.Sessõesyoursite.comPaís (NG)Registro de sessãoIP_ (S)PAÍSDISCURSOFONTEDURAÇÃOPÁGINAS41.62.10.4Reino UnidoÁrea de trabalhogoogle3m. 12s6102.89.6.2NGMóveldirect1m. 05s388.21.4.9DEÁrea de trabalhoUTM: Ads7m. 48s11203.0.113.9EUAMóvelreferralOm 42s21SESSION LOGViagens agrupadas2COLUMNSPaís, dispositivo, fonte, duração.3THREATSessões arriscadas marcadas
O verdadeiro Diário de Sessão: cada viagem de visitante como uma linha (IP, país, dispositivo, fonte, duração e páginas) com sessões arriscadas marcadas em vermelho.

Como as sessões funcionam

Uma sessão começa quando um visitante carrega sua primeira página e continua navegando para mais páginas, uma sessão termina quando o visitante está inativo para o período de tempo limite da sessão (padrão: 30 A mesma pessoa retornando após o intervalo cria uma nova sessão.

O que cada sessão mostra

Primeira página

A página de destino, onde o visitante entrou no seu site, diz qual conteúdo está atraindo as pessoas.

Última página

Se a página de saída é frequentemente a página dos preços, os visitantes podem estar comparando você com os concorrentes.

Contagem de páginas

Quantas páginas o visitante viu nesta sessão, mais páginas geralmente significa mais engajamento, mas também pode significar que o visitante está perdido.

Duração

Sessões com 0 segundos são saltos (visão de página única, sem mais interação).

Fonte

A fonte de tráfego para esta sessão (direto, Google, social, referência, etc.).

País

Detectado país do visitante. IP Endereço.

Salto

Se o visitante saiu depois de ver apenas uma página.

Conversão

Se o visitante completou um evento de conversão (compra, inscrição, submissão de formulário) durante esta sessão.

Filtros

Busca

Procurem por IP, e-mail, página URL, ou referência dentro de sessões.

Tipo

Filtrar por visitantes novos (primeira sessão) ou retornando visitantes.

Fonte

Filtrar pela fonte de tráfego.

País

Filtrar por país para ver sessões de uma região específica.

Ameaças/Foram lançadas

Filtrar para mostrar apenas sessões perdidas ou marcadas como ameaças.

- Sim.

Perfil de um cliente de alto valor

Cenário:
A customer just made a large purchase. You want to understand their journey before buying.
O que fazer:

Search for their email in Sessions. Look at all their sessions: (1) How many times did they visit before buying? (2) Which pages did they view? (3) Did they use chat or open a ticket? (4) What was the total time from first visit to purchase? This tells you the typical buying journey for high-value customers.

Detecte login de um novo local.

Cenário:
A customer usually logs in from Nigeria but you see a session from Russia.
O que fazer:

Procure o e-mail do cliente em Sessões, compare o país das sessões recentes, se uma sessão aparecer de repente de um país incomum, pode ser viagem legítima ou uma conta comprometida.1Houve uma tentativa de login falhada antes do sucesso?2O que é isso? IP Marque para revisão se suspeitar.

Qual é a diferença entre uma sessão e um visitante?+

Uma sessão é uma visita dessa pessoa, o mesmo visitante pode ter muitas sessões ao longo do tempo, as sessões expiram após o período de espera.

Como vai? OpsIQ Identificar os visitantes que retornam?+

OpsIQ Se um visitante limpar seus cookies e não estiver logado, eles aparecerão como um novo visitante.

-Esquecimento.

- Alimento ao vivo.

O Live Feed mostra os visitantes no seu site em tempo real. 15 Use-o durante campanhas, lançamentos de produtos e períodos de suporte ocupados para ver o que está acontecendo agora.

- Alimento ao vivo.
- Alimento ao vivo.Um fluxo de atividade em tempo real mostrando uma contagem de visitantes online ao vivo e um feed de ações recentes por país.- Alimento ao vivo.yoursite.com37Visitantes online agoraAtividade viva.AgoraUS · visualização /pricing2sReino Unido começou uma conversa5sDE · adicionado ao carrinho9sCA · Inscrição completa1RIGHT NOWVeja quem está no local.2AUTO-REFRESHAtualiza tudo. 15s3ATOPule em uma conversa ao vivo
Veja quem está em seu site neste segundo e o que eles estão fazendo, refrescante automaticamente cada 15 segundos.

Como funciona

O Live Feed pesquisa seu servidor no intervalo de atualização configurado.

Configurações

Intervalo de atualização

Quantas vezes as atualizações ao vivo. 15"Segunda-feira"5-10s Dê atualizações mais rápidas, mas use mais recursos do servidor.30-60s) são mais fáceis no servidor, mas menos em tempo real.

Limiar ativo

Quanto tempo um visitante é considerado "ativo" após sua última página. 90 Se um visitante carrega uma página e então lê para 2 minutos sem clicar, eles desaparecem da transmissão ao vivo após o limiar.

Botão de pausa

Clique em Pausa para parar de atualizar automaticamente, útil quando quiser ler detalhes sem atualização da lista.

- Sim.

Veja uma pista quente durante uma campanha.

Cenário:
You are running a product launch. A visitor just viewed your homepage, then features, then pricing, and is now on the checkout page.
O que fazer:

This is high-intent behavior. In the Live Feed: (1) Click the visitor to see their session. (2) If they start a chat, the AI will have their full journey context. (3) If they leave without buying, they become a lead in the Leads page. (4) Consider creating a proactive rule to show a chat message when visitors reach checkout.

Muitos visitantes do mesmo. IP

Cenário:
You see 20 visitors from the same IP address, all on different pages.
O que fazer:

This could be: (1) An office with shared internet. Check if the visits look like real humans (different pages, reasonable session durations). (2) A bot or scraper. Check if sessions are very short (0-1 seconds) or hitting pages systematically. (3) A load test. If you are running automated tests, exclude the IP from tracking.

Por que a transmissão ao vivo mostra 0 Visitantes quando meu site tem tráfego?+

Check: (1) Is the widget script installed on your site? (2) Is the site key correct? (3) Has the active threshold passed? (4) Are visitors using aggressive ad blockers that block the tracking script?

Posso filtrar o sinal vivo por país ou dispositivo?+

O feed ao vivo mostra todos os visitantes ativos para as visualizações filtradas, use as páginas de Registro ou Sessões com suas opções de filtro.

-Esquecimento.

Páginas de cima.

Páginas de Top mostra quais páginas do seu site têm mais tráfego, classificam páginas por visitas, engajamento, conversões e atividades de suporte, usam para identificar seu melhor conteúdo, encontrar páginas com desempenho inferior e descobrir páginas que geram perguntas de suporte.

Páginas de cima.
Páginas de cima.Uma lista das páginas mais visitadas com barras de visitas horizontais e conta.Páginas de cima.yoursite.comPáginas mais visitadas/pricing3,402/2,910/docs1,740/blog/seo-guide980/signup6401RANKEDPáginas mais visitadas2SIGNALSVisitas e conversões3FINDPáginas que dirigem bilhetes
Suas páginas são classificadas por tráfego e engajamento, para que possa identificar conteúdo superior e páginas que geram suporte.

O que cada página mostra

Página URL

O total URL Páginas semelhantes (por exemplo, variantes de produto) são agrupadas se o agrupamento for ativado.

Vistas

Número total de vezes que esta página foi carregada na faixa de datas selecionada.

Visitantes únicos.

Quantas pessoas diferentes viram esta página (uma pessoa vendo a mesma página duas vezes conta como 1 original).

Taxa de salto

Percentagem de visitantes que saíram do seu site depois de verem apenas esta página, alta rejeição nas landing pages = problema, alta rebatida em "obrigado" páginas = normal.

Tempo médio

Quanto tempo os visitantes gastam nesta página em média, muito curto, não lendo, muito longo numa página de formulário, confusão.

Começa a conversa.

Quantas conversas de chat começaram nesta página, e conversas de alto nível começam em uma página de produto significa que a descrição do produto pode não ser clara.

Bilhetes de apoio.

Quantas passagens de suporte foram criadas por visitantes que estavam nesta página, alta contagem de ingressos = potencial problema de UX ou conteúdo.

- Sim.

Encontre páginas que dirijam perguntas de apoio.

Cenário:
Your support team keeps getting questions about shipping. Which page is failing?
O que fazer:

Ordenar as páginas de cima por "Ingressos de suporte" ou "Começa o bate-papo" descendo, procure por produtos ou páginas de envio com altas contagens, a página com mais perguntas de apoio provavelmente tem informações obscuras, corrija o conteúdo da página e monitore se as questões de suporte diminuem.

Encontre páginas com alta taxa de saída

Cenário:
You want to know where people leave your site most often.
O que fazer:

Separem-se por taxa de rejeição, ignorem páginas que são pontos de saída naturais, foquem-se em páginas que devem manter os visitantes envolvidos: páginas de produto, preços, recursos, estes precisam de melhores chamadas para ação ou conteúdo mais claro.

Por que uma página mostra 0 Visões mesmo sabendo que tem tráfego?+

Check: (1) Is the tracking widget installed on that specific page? Single-page apps might not fire page views on route changes. (2) Is the page excluded in tracking settings? (3) Is a CDN serving a cached version without the tracking script?

-Esquecimento.

Geo-inteligência

Geo Inteligência mostra de onde seus visitantes vêm por país, cidade, dispositivo e fonte.

Geo.
Geo-inteligênciaUm mapa de locais de visitantes ao lado de um ranking por bar.Geo-inteligênciayoursite.comVisitantes por localizaçãoEUAReino UnidoDECANG1MARKETSPaís, cidade, dispositivo2PLANLíngua e regiões3WATCHEspreitando o tráfego.
De onde seus visitantes vêm (de país, cidade e dispositivo) para o tamanho dos mercados e detectar tráfego incomum.

O que você vê

Topo dos países, tabela de barras.

Os países de topo classificados por número de visitantes, cliquem em um país para detalhar os dados da cidade.

Donut de campo

Deslocamento visual do tráfego por país, para cobrir percentuais.

Mesa de campo completa

Todos os países com visitantes no período selecionado, mostrando contagem de visitantes, contagem de sessões, taxa de rejeição e taxa de conversão.

Cidade perfurada

Clique em um país para ver quais cidades dentro desse país têm mais visitantes.

Como a detecção GeoIP funciona

OpsIQ detects visitor location in two ways: (1) Cloudflare geo headers. If your site is behind Cloudflare, country detection is automatic and accurate. (2) MaxMind GeoLite2 database. Download the free database and configure the path in Settings. City-level detection requires the GeoLite2-City database, not just the Country database.

VPN e tráfego proxy

Visitantes usando VPNs aparecerão da localização do servidor VPN, não sua verdadeira localização. OpsIQ Se você vê padrões de país incomuns, considere que 10-20% Os visitantes podem estar usando VPNs.

- Sim.

Tráfego de país inesperado

Cenário:
You run a US-only business but 30% of traffic is from India.
O que fazer:

Check: (1) Are these real visitors? Look at session duration and pages viewed. Very short sessions with high bounce = likely bots. (2) Are they finding you through Google? Check the referrer. (3) Could they be potential customers in a new market? If the traffic is genuine and engaged, consider adding India-specific pricing or content.

Decidindo sobre suporte de linguagem

Cenário:
You want to know if you should translate your site into Spanish.
O que fazer:

Look at the Geo Intelligence page. If Spanish-speaking countries (Spain, Mexico, Colombia, Argentina, etc.) together represent more than 10% of your traffic with low bounce rates, translation is worth considering. Also check: do visitors from these countries convert at similar rates to your primary market?

Planejamento de turnos de apoio regional

Cenário:
You need to decide support team hours for different time zones.
O que fazer:

Use o mapa de calor horário (no painel) combinado com a Geo Inteligência. 40% Seu tráfego é da Europa e 35% O mapa térmico mostra exatamente quando cada região é mais ativa.

País com visitas, mas sem ordens.

Cenário:
Germany shows 500 visitors this month but zero sales.
O que fazer:

Investigate: (1) Are they bouncing on the pricing page? Maybe your pricing is not competitive for that market. (2) Do you ship to Germany? Check if your shipping page mentions Germany. (3) Is your checkout available in EUR? Currency mismatch causes abandoned checkouts. (4) Are these visitors from a single source that might be low-intent traffic?

Por que um visitante mostra o país desconhecido?+

GeoIP não está configurado, ou configura Cloudflare (que adiciona cabeçalhos geo automaticamente) ou baixa o banco de dados MaxMind GeoLite2 e define o caminho do arquivo em Configurações > GeoIP Path.

Posso bloquear o tráfego de países específicos?+

OpsIQ Use seu servidor web ou Cloudflare Regras de firewall para bloqueio nacional.OpsIQ Foca na visibilidade, não no controle de acesso ao nível da rede.

-Esquecimento.

Funil de intenção

O Funil Intentário classifica as sessões de visitantes pelo que parecem estar tentando fazer: navegar, pesquisar, comparar, comprar, obter apoio ou sair para entender o equilíbrio de intenções em seu site e identificar onde os visitantes saem.

Funil de intenção
Funil de intençãoUm funil de Browse para Pesquisa para Comparar a compra com contagens, além de apoio e deixar chips.Funil de intençãoyoursite.comNavegar. 8,200Pesquisa · 4,100Compare ·1,650Compre · 520Suporte 6%Saindo. 11%1CLASSIFYO que os visitantes querem2STAGESNavegue para comprar3FIXEncontre a entrega.
Sessões classificadas por intenção (aspiração, pesquisa, comparação, compra) para que você possa ver exatamente onde as pessoas saem.

Categorias de intenção

Navegando

Visitantes olhando casualmente, sessões curtas, poucas páginas, nenhum objetivo específico detectado.

Pesquisando

Visitantes lendo páginas de produto/feature, documentos ou conteúdo do blog.

Comparando

Visitantes vendo preços, comparação de planos ou tabelas de recursos.

Comprando

Visitantes em páginas de checkout, carrinho ou inscrição.

Busca de apoio.

Visitantes em páginas de ajuda, contatos ou bate-papo.

Pulando

Visitantes que saíram depois de uma página.

Como ler o funil

Interpretando seu funil

Cenário:
1,000 visitors viewed Pricing. 270 opened chat. 92 started checkout. 64 paid. 18 opened support tickets.
O que fazer:

A página de preços é forte o suficiente para criar intenção. 27% Os ingressos de apoio após o checkout podem indicar ativação ou confusão no pagamento.1Assegure-se de que o bate-papo da IA responda bem às perguntas sobre preços.2) Investigar o 18 Bilhetes de apoio pós-checkout para problemas comuns.

Filtros de tempo

Por exemplo, compare a semana de sexta-feira negra com uma semana normal, você deve ver um pico na intenção "Comprar" e possivelmente em "Procurar apoio" se suas promoções criarem confusão.

Como vai? OpsIQ Classificar intenção?+

OpsIQ Olhe para a página. URLs Páginas de preços sinalizam intenção de comparação, páginas de check-out sinalizam a intenção de compra, as páginas de ajuda/contato indicam intenção de apoio, a classificação é baseada em heurística, não orientada por inteligência artificial.

Posso personalizar as categorias de intenção?+

As categorias são baseadas em padrões comuns de comportamento na web, a classificação personalizada está no roteiro.

-Esquecimento.

Funis, retenção e caminhos

Construa viagens personalizadas de página ou evento, meça a retenção de coorte e descubra os caminhos que os visitantes mais frequentemente tomam através de um site.

Tela de produto
FunisUm funil personalizado exibe cada página / evento, os visitantes restantes e a porcentagem de conversão.FunisEspaço de trabalhoSTEPS4CONVERSION28.4%WINDOW72hOBJETIVO AO LIVRO DA ESPAÇO DE TRABALHO-Preços vistos.1,420 visitantes100%Plano selecionado780 visitantes54.9%O checkout começou.530 visitantes37.3%Ordem concluída.403 visitantes28.4%1DEFINEEscolha 2–8 Passos2MEDIDADefinir janela de conversão3MELHORAREncontre a maior gota
Um funil personalizado exibe cada página / evento, os visitantes restantes e a porcentagem de conversão.

Funis

Criar um funil com o nome 2 para 8 Passos de página ou evento, ajuste a janela de conversão em horas, o visitante conta apenas quando os passos ordenados ocorrem dentro dessa janela, use a gota entre os passos para escolher onde inspecionar replay, erros, velocidade da página ou mensagens.

Retenção.

Retenção agrupa visitantes em coortes semanais e mostra quantos retornam. 6, 8 ou 12 Mantenha a definição de coorte estável ao comparar lançamentos ou campanhas.

Caminhos

Os caminhos listam as sequências de páginas mais comuns. 2 para 5 Use-o para encontrar desvios inesperados, saídas comuns e conteúdo que repetidamente precede a conversão.

Funils personalizados são definições analíticas, não automações, para reagir a um passo finalizado, criar uma meta de conversão, segmento, gatilho ou fluxo de trabalho.

-Esquecimento.

Reprodução de sessão

Replay de sessão permite assistir uma linha do tempo do que um visitante fez em seu site: quais elementos eles clicaram, como eles rolaram, onde eles pairaram, e o que eles digitaram (com campos sensíveis mascarados). Use-o para diagnosticar problemas de UX, verificar relatórios de bugs e entender a confusão do cliente.

Reprodução de sessão
Reprodução de sessãoUm replay player mostrando uma página com um cursor, um painel de informações de sessão e um limpador de linha do tempo.Reprodução de sessãoyoursite.comCompre agora.SESSÃODuração 3m 12s14 EstalidosEcrã dos EUAChrome. 1241WATCHClique, role, digite2MASKEDCampos sensíveis escondidos3DIAGNOSEVerifique os relatórios de erros.
Reproduza exatamente o que um visitante fez: cliques, pergaminhos, digitação (campos sensíveis mascarados), em um limpador de linha do tempo.

Encontrando a sessão certa

Na página Sessões, procure sessões com problemas relatados, páginas altas sem conversão ou sessões de clientes que arquivaram tickets de suporte.

Que replay mostra

Linha do tempo

Uma barra horizontal mostrando eventos ao longo do tempo, clique em qualquer lugar na linha do tempo para pular para esse momento.

Navegação de página

Cada carga de página aparece como um segmento na linha do tempo.

Cliques

Os eventos de clique são mostrados como pontos na linha do tempo e como destaques na reconstrução da página.

Rolagem

Profundidade de rolagem é rastreada para que você possa ver o quão longe está a leitura do visitante.

Interação de forma

O foco e a digitação dos eventos são gravados, entrada de texto em senha e campos sensíveis é mascarado por padrão.

Privacidade e mascaramento

Sessões reproduzem campos de formulários sensíveis por padrão.opsiq Você pode configurar regras adicionais de mascaramento em Configurações > Rastreio.

Diagnosticando uma verificação quebrada.

Cenário:
A customer says "I tried to buy but the button did nothing."
O que fazer:

Find their session in the Sessions page (search by email). Open the replay. Watch the checkout page segment. Look for: (1) Did they click the right button? (2) Did a JavaScript error occur? (Check the JS Errors page for that time.) (3) Did the page reload or show an error message? (4) Was a required field empty? The replay shows exactly what happened.

Quanto armazenamento o replay de sessão usa?+

Para sites de alto tráfego, considere um período de retenção mais curto (por exemplo, 30 dias) para gerenciar o armazenamento.

Os visitantes podem recusar o replay?+

Se "Respeito Não Rastrear" estiver habilitado em Configurações, visitantes com cabeçalhos DNT não serão gravados.

-Esquecimento.

Diário de eventos

The Events Log shows every event that OpsIQ has recorded: page views, clicks, chat starts, ticket creations, sales, and custom events. Use it to debug integrations, verify webhook delivery, and understand the sequence of actions.

Diário de eventos
Diário de eventosUm registro de eventos cronológicos com crachás de tipo colorido: pageview, chat, venda, webhook e personalizado.Diário de eventosyoursite.compageviewEUA · /pricing12:04:01chat.startUK · widget aberto12:04:09Venda$49.00 Ordem!104212:05:22Webhookpayment.succeeded12:05:23customdemo_booked12:06:101EVERYTHINGCada evento gravado2DEBUGVerifique a entrega do webhook.3ORDERVeja a sequência exata.
Uma linha de tudo. OpsIQ Registros (pages, chats, vendas, webhooks, eventos personalizados) para depuração e auditoria.

Eventos embutidos (automático)

pageview

Demitido toda vez que uma página de rastreamento carrega. URL, título, referência e horário.

chat.started

Despedido quando um visitante abre o widget de bate-papo e envia sua primeira mensagem.

chat.message

Despedido por cada mensagem em uma conversa de bate-papo (visitante e IA/agente).

ticket.created

Disparado quando um novo ticket de suporte é criado (de bate-papo, e-mail, widget ou administrador).

ticket.replied

Despedido quando uma resposta é adicionada a um bilhete.

order.completed

Despedido quando uma compra é concluída através de uma plataforma conectada.

form.submitted

Despedido quando um formulário rastreado é enviado (se o rastreamento for ativado).

identify

Despedido quando um visitante é identificado por uma ficha de identidade.

Segurança.

Despedido quando uma tentativa de login falha.

Eventos personalizados

Você pode enviar eventos personalizados de seu site ou servidor para OpsIQ. Eventos personalizados são úteis para rastrear ações específicas para o seu negócio: cliques de botão, uso de recursos, reprodução de vídeo, downloads, etc.

JavaScript · custom event from browser
// Send a custom event from the browser
window.OpsIQ = window.OpsIQ || [];
window.OpsIQ.push(["track", "plan_selected", {
  plan: "pro",
  billing: "annual",
  value: 99
}]);
PHP · grave uma atividade de contato do seu servidor
// Record a server-side activity for a contact (PHP)
$ch = curl_init("https://your-opsiq-domain.com/api/v1.php");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer opq_your_key",
        "Content-Type: application/json",
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "action" => "crm.activities.record",
        "site_key" => "site_abc123",
        "email" => "[email protected]",
        "event" => "subscription.upgraded",
        "value" => 50,
        "currency" => "USD",
    ]),
]);
$response = curl_exec($ch);
curl_close($ch);

Filtrando eventos.

Tipo de evento

Filtrar por nomes de eventos específicos: pageview, chat. started, ticket. created, etc.

Data de intervalo

Mostre eventos de um período específico.

Busca

Pesquisa dados de eventos por palavra-chave (URL, e-mail, valores de propriedade do evento).

Quanto tempo os eventos são mantidos?+

Os eventos seguem a política de retenção definida nas configurações. 90 Eventos de alto valor (compras, eventos de segurança) podem ser configurados com retenção mais longa.

Posso usar eventos em experimentos A/B?+

Quando se cria um experimento, escolhe-se um evento de conversão, qualquer evento embutido ou personalizado pode ser usado como objetivo de conversão.

-Esquecimento.

Experiências A/B

Experimentos permitem testar duas versões de uma página ou característica e medir qual delas é melhor. OpsIQ Rastreia impressões, conversões e significância estatística.

Experiências A/B
Experiências A/BDuas cartas variantes comparando taxas de conversão, com um distintivo vencedor e significado na variante principal.Experiências A/Byoursite.comVariante A4.2%conversão · 1,020 VistasVariante BVencedor6.8%conversão · 1,005 Vistas+62% elevador · 96% significativo1ENSAIODuas variantes, cara a cara.2MEDIDAConversões e significado3DECIDEMDeclare um vencedor.
Executar duas variantes, ver conversões e significância estatística, e declarar o vencedor.

Como as experiências funcionam

1
Crie uma experiência.

Dê um nome, defina sua métrica primária (evento de conversão) e configure as variantes (controle e teste).

2
Corra.

OpsIQ Não mude o experimento enquanto ele está em execução.

3
Leia os resultados.

Depois que dados suficientes forem coletados, verifique o nível de confiança. 95% Confiança significa que você pode ser. 95% certifique-se de que a diferença é real, não chance aleatória.

- Está tudo bem.

Rascunho

Ainda pode editar variantes e métricas.

Correndo

Ativamente atribuindo visitantes a variantes.

Concluído.

Atingiu significância estatística ou foi parado manualmente.

Arquivado

Os resultados foram revistos e o experimento não é mais necessário na lista ativa.

Boas práticas.

Defina sua métrica antes do lançamento.

Escolha uma métrica depois de ver os resultados, introduz viés.

Excluir o tráfego interno.

Adicione a sua equipe. IP Endereços para a lista de exclusão, então visitas não distorcem os resultados.

Corra o suficiente.

Não pare uma experiência depois. 100 Você precisa de centenas ou milhares de visitantes por variante para obter resultados confiáveis.

Teste uma mudança de cada vez.

Se você mudar a manchete e a cor do botão, não saberá qual mudança causou a melhora.

Grave sua decisão.

Depois que o experimento terminar, note qual variante ganhou e por que escolheu implementá-lo.

Quantos visitantes preciso para um experimento válido?+

Depende da taxa de conversão e do tamanho do efeito que você quer detectar. 500 visitantes por variante para um 20% Para efeitos menores, você precisa de milhares.

Posso fazer vários experimentos ao mesmo tempo?+

Sim, mas tenha cuidado, se duas experiências afetam a mesma página, seus resultados podem interagir, é mais seguro executar experimentos em páginas ou recursos diferentes simultaneamente.

-Esquecimento.

JavaScript Erros

JavaScript Erros coletam erros do lado do cliente dos visitantes do seu site. API Use para achar e consertar bugs que afetam clientes de verdade.

Erros JS
JavaScript ErrosUma lista de erros capturados com pontos de gravidade, arquivo fonte, navegador e ocorrência conta.JavaScript Errosyoursite.comErros recentes.TipoErro: não se pode ler x de indefinidoCheque-out.42 · Cromo×214404 Carregando. /assets/app.cssíndice · Safari×88Não pego (em promessa) NetworkErrorapi.Js:17 · Firefox×51Aviso de desprecação: descarregar o evento.Vendedor. JS · Edge×331CAPTUREErros no lado do cliente.2IMPACTConta & navegadores3FIXEsqueçe insetos de verdade.
Visitantes reais atingindo a superfície de código quebrada aqui (mensagem, fonte, navegador e quantas vezes) para que você possa corrigir o que importa.

O que cada erro mostra

Mensagem de erro

O texto de erro JavaScript (por exemplo, "TypeError: não pode ler propriedades indefinidas").

Página URL

Em que página o erro ocorreu.

Navegador e dispositivo

Que tipo de navegador e dispositivo viu o erro.

Rastreamento de pilha

Clique para expandir o rastreamento completo.

Primeiro visto.

Quando esse erro apareceu pela primeira vez.

Última vez vista

Quando esse erro ocorreu recentemente.

Contagem

Quantas vezes esse erro foi registrado.

Sessões afetadas

Quantas sessões de visitantes diferentes experimentaram esse erro.

Priorizando erros.

Nem todos. JavaScript Erros precisam de atenção imediata.1) erros em páginas críticas (checkout, inscrição, login), (2) erros com altas contagens de sessões, (3) erros que apareceram recentemente (possível regressão de uma mudança de código), (4Erros no seu próprio código (não scripts de terceiros).

Consertando um botão de checkout quebrado.

Cenário:
The JS Errors page shows "TypeError: Cannot read properties of undefined (reading submit)" on /checkout, affecting 45 sessions this week.
O que fazer:

This means 45 real customers could not complete checkout. Steps: (1) Open the page in the same browser/device combination. (2) Open browser console and reproduce the error. (3) Check the stack trace to find the exact line of code. (4) Fix the bug, deploy, and monitor the error count going to zero.

Faz. OpsIQ Capturar erros de scripts de terceiros?+

Sim. OpsIQ Captura tudo. JavaScript Erros na página, incluindo erros de scripts analíticos, widgets de bate-papo e scripts de anúncios. URL no rastreamento da pilha para focar em seu próprio código.

Como posso excluir erros inofensivos conhecidos?+

Você não pode suprimir erros específicos em OpsIQ, mas você pode filtrar a lista por página URL Corrija ou ignore erros das extensões do navegador (eles muitas vezes mostram como erros de fontes desconhecidas).

Vendas

Vendas e conversões

O rastreamento de vendas conecta sua loja ou plataforma de faturamento a OpsIQ para que você possa ver o rendimento ao lado do comportamento do visitante.

Vendas
VendasA tela de vendas: um total de receitas com controle do período de tempo integral, uma busca e uma tabela de compras recentes (data, cliente, plataforma, quantidade, fonte).Vendasyoursite.comRECEITAS$42,180+18%O tempo todo.▾Procure o e-mail, IP, identificação da ordem...Compras recentesDATACLIENTEPLATAFORMAMONTANTEFONTEJun. 3[email protected]Shopify$49googleJun. 3[email protected]WooCommerce$129directJun. 2[email protected]Stripe$480anúncios1RECEITASOrdens e renovações2RECENT PURCHASESData · cliente · quantidade3ATTRIBUTEDPara a fonte de tráfego
A tela de vendas real, receita acima, então Compras recentes (data, cliente, plataforma, quantidade), cada um atribuído à sua fonte de tráfego.

Painel de vendas

As vendas de hoje

Releases com cada novo evento de pedidos da sua plataforma conectada.

Esta semana / este mês / total

Reembolsos são subtraídos desses totais.

Gráfico de tendências

Gráfico de linhas mostrando receita diária sobre a faixa de datas selecionada.

Fontes de conversão máximas

As fontes de tráfego levam à maioria das compras, compradores diretos geralmente marcavam seu site.

Compras recentes.

Os últimos pedidos com email, quantidade, moeda e itens comprados.

Guias de configuração da plataforma

Shopify

Vá para os conectores.Shopify Crie um aplicativo personalizado em seu Shopify Os objetivos do projeto são: ler_ordens, ler_clientes, produtos de leitura. API Acesso token. OpsIQ, insira seu domínio de loja (por exemplo, your-store.myshopify.com Se tiver sucesso, habilite a sincronização do webhook para notificações em tempo real.

WooCommerce

Vá para os conectores.WooCommerce Na sua WordPress admin, vá para WooCommerce> Configurações > Avançados > Descansar API Criar uma chave com permissão de leitura e escrita, copiar a chave do consumidor e o segredo do consumidor. OpsIQ, entre em seu site URL Clique em Test Connection.

Grande Commerce

Em seu administrador do Big Commerce, vá para configurações avançadas.API Crie um V2/V3 API Conta com leitura para pedidos, clientes e produtos.API Por favor, entre. OpsIQ e teste.

Magento. 2

Vá para Conectores > Magento. API Ative a integração e copie o token de acesso. OpsIQ com sua base Magento URL.

PrestaShop

Vá para Conectores > PrestaShop. Em seu administrador PrestaShop, vá para Parâmetros Avançados > Webservice. Habilite o serviço web e crie uma nova chave. Conceda acesso a pedidos, clientes e produtos. OpsIQ com sua loja URL.

OpenCart.

Vá para Conectores > OpenCart. Gerar API Credenciais do seu painel de administração OpenCart.API URL, nome de usuário e chave em OpsIQ O conector usa o REST do OpenCart.API para pedidos e dados de clientes.

OsCommerce

Configure o acesso ao banco de dados.API A integração com os Commerce requer acesso direto ao banco de dados ou um costume.API Módulo.

Stripe

Vá para os conectores > Stripe.API A chave do painel das listras.API A chave precisa de acesso a clientes, cobranças, faturas e assinaturas. OpsIQ Configure o ponto final do webhook para eventos em tempo real.

Personalizado / outras plataformas

Use o descanso.API Envie o pedido.Eventos completos com email, quantidade, moeda e itens do cliente.API Seção para o formato de carga.

Entendendo seu funil de vendas

Fontes de conversão máximas

Shows which channels bring paying customers. If Google brings 1000 visitors and 50 sales, that is a 5% conversion rate. If email brings 200 visitors and 30 sales, that is 15%. Email is more effective per visitor.

Reembolsos

As ordens são monitoradas separadamente, reduzem os totais de receita líquida, se as taxas de reembolso forem altas de uma fonte específica, o tráfego pode ser de baixa qualidade.

Manuseio de moeda.

OpsIQ As empresas de multimoedas veem a receita em cada moeda, relatórios normalizados usam a taxa de câmbio configurada.

- Sim.

100 visitantes, zero vendas

Cenário:
Your pricing page gets 100 visitors per day but zero conversions.
O que fazer:

Investigate: (1) Use Session Replay on pricing page visitors. Watch how they interact with the pricing table. (2) Check Top Pages for the pricing page bounce rate and time-on-page. (3) Check Chat conversations from pricing page visitors. What questions do they ask? (4) Compare your pricing page to competitors. (5) Try an A/B experiment with different pricing layouts.

Atribuição para uma campanha de marketing

Cenário:
You sent an email campaign with UTM tags. How do you measure its revenue impact?
O que fazer:

Go to Sales and filter by source. Search for the campaign UTM parameter. You will see: (1) How many visitors came from the email. (2) How many converted to sales. (3) Total revenue attributed to the campaign. (4) Compare to the same period before the campaign.

Por que as vendas mostram zero, mesmo que minha loja tenha pedidos?+

Check: (1) Is the platform connector connected and healthy? Go to Connectors and check the status. (2) Is webhook sync enabled? If using polling, is the cron job running? (3) Does the connector have the right API scopes? For Shopify, you need read_orders.

Como vai? OpsIQ Atribuir uma venda a um visitante?+

Quando uma ordem vem através do conector, OpsIQ corresponde ao e-mail do cliente para um visitante conhecido.

Posso adicionar vendas manualmente?+

Você pode enviar eventos de vendas através do REST API O formato do evento está documentado nos Eventos.API Seção.

Vendas

Chumbo

Os líderes são visitantes ou clientes que mostram intenção de compra ou apoio.OpsIQDetecta automaticamente leads com base no comportamento: preços de visitas de página, revisitas, interações de bate-papo, checkout e alto engajamento.CRMOleoduto.

Chumbo
ChumboA tela de leads: uma tabela pesquisável com IP/email, localização, dispositivo, fonte e colunas de tempo-no-site, e fonte superior e país.Chumboyoursite.comProcure. IP, cidade, país...Fonte principal: Google · Top country: EUAIP/ EMAILLOCALIZAÇÃODISCURSOFONTETEMPO41.62.10.4Reino Unido · LondresMóvelgoogle4m. 12s[email protected]EUA · Nova YorkÁrea de trabalhodirect7m. 02s[email protected]DE · BerlimMóvelUTM: Ads5m. 40s203.0.113.9CA · São FranciscoÁrea de trabalhogoogle3m. 28s1DETECTEDVisitantes de alta-intenção2TOPFontes e países líderes3ENRICHEDIP, localização, dispositivo, tempo
A verdadeira tela de leads, visitantes de alta intensidade como uma tabela pesquisável (IP/email, localização, dispositivo, fonte, tempo no local) com fontes e países de topo.

O que faz uma pista

Visitas de página de preços

Visitantes que veem seus preços ou sua página de planos estão considerando ativamente uma compra.

Visitas de retorno.

Visitantes que voltam várias vezes estão noivos, mas ainda não se converteram.

Interações de bate-papo

Visitantes que começam uma conversa estão procurando ajuda, seja pré-compra ou pós-compreenda.

Começa a saída.

Visitantes que chegam à página de checkout mas não completam a compra.

-Presenta de formulário.

Visitantes que enviam um formulário de contato, pedido de demonstração ou formulário de inscrição.

-Engajamento de página alta.

Visitantes que veem muitas páginas com longa duração de sessão estão pesquisando profundamente.

Painel de detalhes do chumbo.

Clique em qualquer pista para ver o perfil completo deles:

Identidade

Nome, e-mail, empresa se conhecida. IP e localização.

Sessões

Todas as sessões desta liderança com fluxo de página, duração e fonte.

Páginas vistas

Cada página que visitaram, encomendada por regência.

Fonte

Como eles te encontraram: orgânico, pago, social, encaminhamento, direto.

Marcador principal

A0-100 pontuação baseada na intensidade do comportamento, recensão e intenção de página.

Situação da CRM

Se essa pista foi adicionada ao CRM como contato ou acordo.

Dica de vendas.

AI-gerado sugestão sobre o que fazer em seguida (por exemplo, "Preços visitados 3 vezes · considerar proativo alcance").

- Emblema de chumbo de alto valor.

Lidera com uma pontuação acima. 80 Essas são suas melhores perspectivas, priorize-as para divulgação, bate-papo proativo ou entrada no gasoduto CRM.

- Sim.

Trabalhando em uma pista quente

Cenário:
A lead viewed your pricing page 3 times in 2 days, started a chat asking about enterprise plans, but has not purchased.
O que fazer:

This is a high-intent lead. Steps: (1) Check their lead detail for company and role information. (2) Review the chat transcript for specific needs and objections. (3) Create a deal in the CRM with the information gathered. (4) Assign a follow-up task for a sales team member. (5) If they return to the pricing page, the proactive chat rule can trigger a personalized message.

Convertendo anônimos leva a contatos CRM

Cenário:
You have 50 anonymous leads with high scores but no email addresses.
O que fazer:

Options: (1) Create a proactive rule that offers a discount or resource download in exchange for email on high-intent pages. (2) Use the chat widget to ask for email when anonymous visitors start a conversation. (3) Add an identity token to your login/signup pages so returning visitors are automatically identified.

Como é calculado o resultado principal?+

O escore considera: regência de visitas (recentemente = maior), frequência de visitas, páginas vistas (pricing/checkout = mais alto), duração da sessão (mais longo = maior) e interações de chat (engajado = maior).

Posso personalizar as regras de pontuação?+

Na Configuração CRM, você pode adicionar regras de pontuação que aumentam a pontuação com base em palavras-chave específicas, eventos, fontes ou padrões de página.

CRM

Seu CRM começa aqui.

OpsIQzarpa um Al-FirstCRMCada ação da IA é fonte, explicável, reversível e controlada.

AICRM
Visão geral do CRM da IAUm mostrador de confiança definido para co-piloto ao lado de quatro placas de agente da IA:AICRMEspaço de trabalhoConfiança em DialManualCopiloto.Piloto automáticoQuanto a IA faz sozinha?DS.- Garçom.Dedupe, enriquece,Validar dadosDSEProspector.Encontrem a pontuaçãoNovos negóciosRTRetenção.Churn de ponto,Atrair renovaçõesANAnalistaPrevisão &explicar números1AI-FIRSTQuatro agentes especializados.2YOU DECIDEAutonomia do Dial de Confiança3TRUSTEDFonte & reversível
Um CRM de IA-primeiro executado por quatro agentes especializados, e um discagem confiável que decide quanto eles fazem sozinhos.

Visão geral das páginas do CRM

AI CRM (Centro de Comando)

Comece aqui.

Sua tela inicial diária: pulso de receita, o que a IA encontrou, o quê fez, fila de aprovação, próximos movimentos, saúde do agente e ROI.

Contatos

Núcleo

Pessoas e empresas em seuCRMProcure, filtre, marque e gerencie perfis.

Pipeline

Núcleo

Placa visual com etapas de arrastar e largar, probabilidade de vitória e treinamento em IA.

Previsões e Relatórios

Núcleo

Previsão de placa: comprometida, provável, melhor caso, com intervalos de confiança e rastreamento de precisão.

Ciclo de vida

Núcleo

Onde cada cliente está: ativo, em risco, pronto para expansão, renovação devido, ou agitação.

Construa meu CRM

Configuração

Descreva sua configuração de CRM em inglês. OpsIQ Gera um plano reversível e o aplica na aprovação.

CRM Saúde

Operações

Página de auto-cheque: esquema, agentes, rotas, ações da IA e dados ao vivo contam.

Como? OpsIQ te mantém seguro.

Pergunte antes de atuar.

As propostas de IA vão para a fila de aprovação, você aprova, edita ou rejeita cada uma delas.

Nunca sobreponha

Quando a IA sugere uma mudança, mostra o valor atual e o valor proposto.

Tudo é reversível.

Cada ação da IA é gravada no diário, você pode desfazer qualquer mudança com um clique.

Explicado

Cada recomendação de IA mostra seu raciocínio e as fontes de dados que usou.

- Novinho em folha?

1
Abra o CRM da IA

Clique em CRM de IA na navegação esquerda.

2
Verifique a saúde do CRM.

Abra o CRM Health para verificar o esquema, agentes e rotas estão prontos.

3
Importar contatos

Se um conector estiver ativo (Shopify, WHMCS, etc.), contatos são importados automaticamente. CSV ou criar manualmente.

4
Crie um oleoduto.

Vá para Pipeline e crie seu primeiro oleoduto com etapas (por exemplo, chumbo, qualificado, proposta, negociação, ganho, perdido).

5
Adicione seu primeiro negócio.

Faça um acordo com um contato, ajuste a quantidade e o palco, e deixe o treinador de negócios guiá-lo.

Preciso usar o CRM?+

Não, o CRM é opcional. OpsIQ Funciona perfeitamente como uma plataforma de rastreamento + suporte + IA sem o CRM.

O CRM pode funcionar sem conectores?+

Sim, você pode criar contatos e ofertas manualmente, os conectores enriquecem o CRM com dados de plataforma (ordens, assinaturas, ingressos), mas não são necessários.

O que é a Camada de Confiança?+

A IA atua automaticamente em operações reversíveis de baixo risco.

CRM

A tela inicial do CRM da IA

O Centro de Comando é seu briefing diário, abra todas as manhãs para ver o que aconteceu, o que precisa de atenção e o que fazer a seguir.

Centro de Comando
Centro de Comando CRMO CRM casa com previsão/taxa de vitória/pipeline alterna, um KPI ponderado-previsão, e uma fila proposta IA com aprovação e dispensa em cada linha.Centro de Comando CRMEspaço de trabalhoPrevisãoTaxa de vitóriaPipelinePREVISÃO · NESSE P$74k87%Propostas de IA · aprovar filaFaça um acordo, Acme 24k.De uma conversa com o compradorAprovarDemitirMova Nimbus → PropostaResposta positiva detectada.AprovarDemitirTarefa de registro: acompanhamento PicoNenhuma atividade em 7 diasAprovarDemitir1TOGGLEPrevisão · Taxa de vitória · Pipeline2AI PROPOSESAcordos, etapas, tarefas.3YOU DECIDEAprovar ou demitir
O verdadeiro Centro de Comando: mude entre Previsão, Taxa de Vitória e Pipeline, e trabalhe na fila proposta da IA, aprove ou descarte os acordos, movimentos de palco e tarefas que sugere.

O que o Centro de Comando mostra

Os números de hoje

Valor pipeline, acordos ganhos/perdidos, novos leads, negócios ativos e tendência de receita, uma imagem do seu estado atual.

O quê? OpsIQ encontrado.

Insights descobertos por IA: negócios parados, contas de risco, novas oportunidades, problemas de qualidade de dados e sinais de mercado.

O que OpsIQ fez

Ações que a IA tomou (em piloto automático) ou propôs (em co-piloto): avanços de fase, atualizações de pontuação, enriquecimento de contato e criação de tarefas.

Precisa de aprovação.

A fila de propostas de IA esperando sua decisão, cada uma mostra a ação proposta, raciocínio e evidência, aprovando, editando ou rejeitando.

Próximos movimentos

Lista Al-Rank do 10 As coisas mais importantes para fazer hoje: seguir um negócio quente, verificar uma conta em risco, pesquisar uma nova pista, etc.

Situação do ajudante

Captura, Data Steward, Inteligência de acordo, treinador de negócios, SDR, Retenção.

Resultados

ROI Tracking: acordos influenciados por IA, tempo salvo, precisão de previsões e comparação com trabalho manual de CRM.

Manhã briefing fluxo de trabalho

1
Leia os números de hoje.

Verifique a tendência de saúde e renda do gasoduto.

2
Limpem a fila de aprovação.

Reveja cada proposta de IA, aprove ações seguras, edite onde for necessário, rejeite sugestões ruins.

3
Verifique o quê? OpsIQ encontrado.

Há novas oportunidades?

4
Trabalhe na próxima lista de movimentos.

A IA classificou-os por urgência e potencial impacto.

Alcançando depois do tempo livre

Cenário:
You were away for a week. What happened while you were gone?
O que fazer:

Abra o Centro de Comando e verifique:1) "O quê?OpsIQ mostra todas as ações da IA durante sua ausência.2"Precisa de aprovação" mostra propostas esperando por sua revisão.3) "O quê?OpsIQ"encontrado" destaca itens urgentes.4Ajuste o intervalo de data do painel para seu período de ausência para ver a tendência.

CRM

Contatos, empresas e negócios

O CRM organiza suas relações comerciais em quatro objetos: Contatos (pessoas), Empresas (organizações), Deals (oportunidades de lucro) e Tarefas (ações de seguimento).

Objetos de CRM
Objetos de CRMUm registro de contato ligado a objetos da Companhia, Negócio e Tarefa em um gráfico conectado.Objetos de CRMEspaço de trabalhoContatopessoa · e-mail · telefoneCompanhiaaccountsCombinado.Oportunidade de receitaTarefaAção de acompanhamento1OBJECTSContatos, empresas, acordos.2LINKEDUm gráfico conectado.3TASKSSeguimentos ligados
Quatro objetos principais (contatos, empresas, negócios e tarefas) ligados em um gráfico de cliente conectado.

Contatos

O que é um contato?

Uma pessoa em seu CRM, pode ser um cliente, uma perspectiva, um parceiro ou uma liderança, contatos têm um e-mail, nome, empresa, etiquetas, ciclo de vida e pontuação.

Encontrar contatos.

Use a barra de busca para encontrar pelo nome, e-mail, empresa ou etiquetas, filtros: fase do ciclo de vida, pontuação, fonte, país, última data de atividade, proprietário atribuído.

Perfil de contato.

Clique em um contato para ver seu perfil completo: informações pessoais, empresa, negócios, atividades, ingressos, chats, visitas ao site, pontuação principal e insights de IA.

Pontuação de calor

A0-100 pontuação calculada a partir de sinais de comportamento: visitas ao site, engajamento por e-mail, interações de bate-papo, histórico de compra e regência.

Empresas.

... mais bilhetes...
Contato-empresa ligando

Contatos são ligados a empresas por domínio de e-mail ou tarefa manual.

Acordos

O que é um acordo?

Os acordos têm um título, quantidade, pipeline, palco, probabilidade de ganhar, data próxima, proprietário designado e contatos associados.

- É provável que ganhe.

Uma porcentagem de chance de ganhar o acordo, definida manualmente ou calculada pela IA com base em seus dados históricos de vitória, impulsiona a previsão ponderada.

Deem saúde

Verde, âmbar em risco ou vermelho, baseado na atividade de retração, duração do estágio e sinais de engajamento.

Tarefas

O que é uma tarefa?

As tarefas têm um título, data de vencimento, prioridade, tipo (chamada, e-mail, reunião, outra) e contato/acordo conectado.

Tarefas geradas por IA

A IA cria tarefas automaticamente quando detecta algo que precisa de atenção: seguir um acordo parado, responder a uma conta em risco, pesquisar uma nova pista.

Encontrando pistas quentes

Cenário:
You want to see all high-score contacts in the UK who have not been contacted recently.
O que fazer:

Vá para Contatos, Filtre por: 80, País = Reino Unido, Última atividade > 7 Essas são suas pistas mais negligenciadas, priorizam o alcance.

Criando um acordo de um contato.

Cenário:
A contact just expressed interest in your enterprise plan during a chat.
O que fazer:

Abra o perfil de contato, clique em "Criar acordo". Digite o título do acordo (por exemplo, "Acme Corp - Enterprise Plan"), quantidade, pipeline e palco (por ex., "Qualificado").

CRM

O oleoduto (seu conselho de negócios)

O Pipeline é um quadro visual onde as ofertas passam por estágios da esquerda para a direita, arrastam e soltam cartas para acordos avançados, cada carta mostra o valor do acordo, probabilidade de vitória e estado de saúde.

Pipeline
Oleoduto CRMA tela de oleoduto com dados abertos, valores abertos, previsões ponderadas e estatísticas de acordos atribuídos, um botão de novo acordo, uma fila de aprovação de IA, e a placa de chumbo/qualificado/lança.PipelineEspaço de trabalhoNegócios abertos.23Valor aberto$128k.Previsão ponderada$74kAcordos atribuídos12+ Novo acordoAprovar fila2 para reverLÍDERVolt Inc.$4k.Luz$6k.QUARTONimbus.$30 mil.Pico9 mil dólares.VENCIDOÓrbita$48k1LIVE STATSValor aberto e previsão ponderada2AI QUEUEAprovar acordos propostos.3BOARDArrastar acordos por palco
A verdadeira tela de oleoduto: estatísticas ao vivo (valor aberto, previsão ponderada), uma fila de IA Aprovar para acordos propostos, e a placa de arrastar e soltar.

Usando o tabuleiro de oleodutos

1
Veja seus negócios.

Cada cabeçalho de coluna mostra o valor total das ofertas nessa fase.

2
Arraste para avançar

Arraste uma carta para a próxima etapa, a probabilidade de vitória e conte com a atualização instantaneamente, se o movimento falhar (erro de validação), a carta volta à posição original.

3
Verifique os crachás do cartão.

Emblema verde = saudável (atividade recente, na pista).

4
Clique para detalhes.

Clique em um cartão para abrir o painel de detalhes do acordo com contatos, atividades, breves ações do treinador.

A fila de aprovação

As propostas de IA aparecem na fila de aprovação no topo da página do oleoduto, e cada proposta mostra o que a IA quer fazer, por quê e as evidências.

Aprovar

A ação passa pela Camada de Confiança e está registrada no diário.

Editar

Por exemplo, mude a fase sugerida ou ajuste o valor.

Rejeitar

A IA aprende com rejeições para fazer sugestões melhores no futuro.

- É uma probabilidade de vitória explicada.

A probabilidade de ganhar pode ser definida manualmente ou calculada pela IA. $10,000 Negócio em: 30% A probabilidade contribui. $3,000 à previsão "provável".

Fazendo um acordo com Won

Cenário:
A customer signed the contract and paid.
O que fazer:

Drag the deal card to the "Won" stage. OpsIQ will: (1) Mark the deal as closed-won. (2) Update the forecast. (3) Add a "Won" activity to the timeline. (4) If configured, trigger a webhook event (crm.deal.won). (5) Update the contact lifecycle stage to "Customer."

- Avistar negócios furados.

Cenário:
You want to find deals that have been in the same stage for too long.
O que fazer:

Procure por crachás vermelhos na placa de oleoduto, que não têm atividade há mais tempo do que o limite configurado para apodrecer (configurado em CRM) e clique em cada acordo bloqueado para ver a recomendação do treinador de negócios para reativação.

Posso ter vários oleodutos?+

Sim, vá para a Configuração CRM > Pipelines para criar oleodutos adicionais.

O que acontece quando eu arrastar um acordo para "Perdido"?+

O acordo está marcado como fechado-perdido, você será solicitado por uma razão de perda.CRM.

CRM

-Deal Coaching.

O treinador analisa cada acordo e dá um resumo com estado de saúde, sinais de risco, pessoas-chave, uma lista de qualificação, preparação para reuniões e sugere as próximas ações.

Trato de treinador.
Trato de treinador.Um cartão de acordo com sinais de risco detectados por IA com fontes de evidência, ao lado de uma recomendação de IA e um botão de rascunho de e-mail.Trato de treinador.Espaço de trabalhoAcme Corp ·$24,000Fase: Proposta · 60% VencerSINAIS DE RISCONenhuma resposta em 10 diasO campeão ficou quieto.Concorrente mencionado em bate-papoFontes: bilhete #482 # Conversar 6/12 · E-mail threadAI recomendaRe-engajar o econômicocomprador com uma recapitulação ROIe um 7- Plano de encerramento do dia.Redija o e-mail.1SIGNALSPor que um acordo pode escorregar2SOURCEDCada alegação cita evidências.3ACÇÃOUm clique no próximo passo.
O treinador indica por que um acordo pode escorregar (cada sinal cita sua fonte) e dá-lhe o próximo passo a fazer.

O que o treinador lhe diz

Explicação de saúde

Sinais específicos: dias em estágio, última data de contato, frequência de atividade, menção de concorrentes, padrões de objeção.

Sinais

Cada sinal se conecta à sua fonte (transcrição de bate-papo, ticket, email, atividade).

Campeão e mapa de bloqueio

Quem está ajudando o negócio (campeão) e quem está resistindo (bloqueador), baseado na análise de interação e papéis de contato.

Lista de qualificação

MEDDICC ou BANT checklist (configurado) mostrando quais critérios de qualificação são cumpridos e que estão faltando.

Reunião de preparação

Antes de uma reunião marcada, o treinador gera um breve: agenda, pontos chave a cobrir, perguntas a fazer, riscos para resolver e materiais para preparar.

Responda e ligue para os planos.

Sugeriu próxima mensagem ou roteiro de chamada baseado no estado atual do acordo e interações recentes.

Linha do tempo da evidência

Cada reclamação que o treinador faz links para uma fonte: um número de ingresso, a transcrição do chat, data da atividade ou visita ao site.

Como usar o treinador

1
Leia o resumo.

Abra qualquer acordo e role para a seção de treinador de negócios.

2
Fechar lacunas de qualificação

Se "Comprador Econômico" estiver faltando, planejem identificar e envolver o detentor do orçamento.

3
Aja com sugestões.

O treinador sugere ações concretas, clique para criar uma tarefa, redigir um e-mail ou marcar uma reunião, todas encaminhadas através da fila de aprovação.

Preparando-se para uma grande reunião

Cenário:
You have a meeting with a prospect tomorrow about a $50,000 deal.
O que fazer:

Open the deal and read the Meeting Prep section. It shows: (1) Key talking points based on recent interactions. (2) Objections they raised in chat last week. (3) Competitor they mentioned in a support ticket. (4) Questions to ask about their timeline. (5) Risk factors to address proactively. Use this brief to prepare a focused, evidence-based agenda.

Entendendo por que um acordo está em risco

Cenário:
The pipeline shows a red badge on a deal you thought was going well.
O que fazer:

Pode-se dizer: "Este acordo está em fase de Proposta para 22 dias (limiar: 14 O último contato foi 11 O contato principal abriu um ticket de suporte sobre questões de migração de dados. 5 dias atrás (bilhete #T-892 Agora você sabe exatamente o que consertar.

CRM

Previsão e relatórios

Previsão de placa com uma faixa defensável, mudança de nível de acordo e rastreamento de precisão para que você possa provar e explicar seus números.

Previsão
PrevisãoUm número de previsão trimestral com bandas Commit, Best-Case e Pipeline e uma nota de precisão.PrevisãoEspaço de trabalhoPREVISÃO · NESTE QUARTO$312k87% para o golComprometer-se.Melhor caso.PipelineAl ponderado por saúde e história de negócio · precisão rastreada ao longo do tempo1CATEGORIASCompromete-te a canalizar.2AI-WEIGHTEDPor negócio de saúde3PROVABLEA precisão foi rastreada.
Compromete, no melhor dos casos e oleoduto de uma olhada, com inteligência artificial por acordo de saúde, com precisão rastreada para que você possa defendê-lo.

Categorias de previsão

Comprometido

Negociações com 80% ou maior probabilidade de ganhar. Estas são as suas vitórias mais prováveis, e deve ser a sua receita mínima esperada.

Provavelmente, com a ponderação de IA.

Todas as ofertas abertas ponderadas pela probabilidade de vitória calculada por IA.

Melhor caso.

Todos os acordos abertos com valor total, esta é a receita máxima possível se tudo correr perfeitamente (que raramente acontece).

Intervalo de confiança

Um. 80% A banda de probabilidade mostrando o alcance realístico. $45,000 e $72,000 Este quarto."

O que mudou e por quê?

A previsão inclui a atribuição de mudança semanal. $15,000 O relatório explica exatamente quais acordos causaram a mudança: "O acordo A caiu para o próximo trimestre"$8,000 O acordo B perdeu.$5,000), O negócio C reduzido em valor ($2,000)."

Rastreio de precisão

Previsões MAPE

Mean Absolute Percentage Error: how far off your forecasts have been historically. Lower is better. A MAPE of 15% means your forecasts are typically within 15% of actual results.

Calibração de probabilidade ganha

Brier score measuring how well win probabilities match actual outcomes. If deals at 70% probability actually win 70% of the time, calibration is good.

Fotos semanais

OpsIQ Com o tempo, você pode ver como sua precisão de previsão melhora.

Rolos e avisos

Conversão por estágio

Quantos acordos passam de cada estágio para o próximo. 80% Passe de Qualificado para Proposta, mas apenas 20% Vá de Proposta para Negociação, suas propostas podem precisar de trabalho.

Por fonte, taxa de vitória

Investir mais em fontes de alto lucro.

Per-proprietário performance

Como cada membro da equipe de vendas está se apresentando: acordos ganhos, valor do oleoduto, tamanho médio do negócio, taxa de vitória.

Avisos

Arrombamento (probabilidades pouco realistas), excesso de comprometimento (realisticamente alto) e compromisso em risco (provabilidade alta mostrando sinais de baiagem).

Entendendo uma queda de previsão

Cenário:
Your quarterly forecast dropped from $180,000 to $155,000 since last week.
O que fazer:

Abra a página Previsão e veja "O que mudou." O relatório mostra:$15,000) mudou-se para Lost, competidor escolhido.$8,000 Novo acordo com Gamma LLC.$3,000 A mudança líquida é...$20,000 + $3,000 = -$17,000, explicando a queda de $180K para $163K (com os restantes $8K explicados por ajustes de probabilidade em outros negócios).

CRM

Encontrar novos negócios

O Agente de Perspectiva ajuda a encontrar e pesquisar clientes em potencial, descrever seu cliente ideal, adicionar empresas-alvo, e deixar a IA pesquisar, marcar e desenhar o primeiro contato.

Perspectiva
PerspectivaUma lista de empresas em potencial encontradas por IA com notas, pontuações e um botão de divulgação cada.PerspectivaEspaço de trabalhoPerspectivas encontradas pelo agente da SDRNorthwind Ltd.SaaS · 50 equipe · contratação de apoio88Rascunho de alcanceCobalto MfgManufatura · 200 pessoal74Rascunho de alcanceMesa Retail em São PauloECommerce · 30 pessoal69Rascunho de alcanceVega Health em PortugalCuidados de saúde. 80 pessoal63Rascunho de alcance1FINDFontes de IA miram em contas.2EscoreAjustar e tentar classificar3DRAFTPrimeiro toque escrito para você.
O agente da SDR encontra empresas-alvo, as marca em forma e faz o primeiro contato para sua avaliação.

Uma vez armação

1
Descreva seu cliente ideal.

Vá paraCRMDescreva seu perfil de cliente ideal (ICP): indústrias-alvo, tamanhos de empresas, títulos de emprego, foco geográfico, termos de combinação de produtos e pontuação mínima.50-500funcionários dos EUA/Reino Unido, vendendo ferramentas de desenvolvimento, com um vice-presidente de vendas ou chefe de crescimento como o contato principal."

2
Adicione empresas-alvo.

Digite domínios da empresa ou nomes que queira pesquisar, e também pode deixar a IA sugerir empresas baseadas em seu PIC.

3
Reveja os resultados da pesquisa.

A IA enriquece cada empresa com dados disponíveis: tamanho, indústria, tecnologia, notícias recentes e pontuação adequada com explicação.

4
Aprovar a divulgação

Para empresas bem adaptadas, a IA redige uma mensagem personalizada de primeiro toque.

Ajustar a pontuação

Cada perspectiva ganha um0-100 pontuação de ajuste baseada em cinco fatores:

ICP se encaixa

Como a empresa combina com o seu perfil de cliente ideal (indústria, tamanho, localização).

Sinais de urgência.

Há evidências de que precisam do seu produto agora?

Proxy de orçamento

Tamanho da empresa, estágio de financiamento e indicadores de receita sugerem disponibilidade orçamentária.

Produto igual.

Como seu produto é relevante para o negócio deles baseado na indústria e tecnologia.

Suporte adequado.

Se você pode efetivamente servir este cliente (tempo, linguagem, complexidade).

Pesquisando uma empresa-alvo

Cenário:
You want to evaluate whether acme.com is worth pursuing.
O que fazer:

Adicionar acme.com A IA retorna: 78/100 Razões: B2B SaaS, 120 Os empregados, americanos, recentemente contrataram um vice-presidente de vendas (sinal de urgência), usa o concorrente X (companheiro produto). [email protected] (VP das vendas) Opener redigido refere-se a sua recente contratação e preços visitas de página.

CRM

Sequências de seguimento automáticas

Sequências automatizam o acompanhamento de várias etapas: uma mistura de e-mails, espera, tarefa, chamada e passos webhook que são executados automaticamente após aprovar o envio inicial.

Sequências
Sequências de seguimentoUm fluxo de sequência horizontal: e-mail, espera três dias, e-mails, depois uma tarefa, com detecção de resposta.Sequências de seguimentoEspaço de trabalhoDepois de aprovar o primeiro envio →E-mailIntroduçãoEspere.3 diasE-mailSeguimentoTarefaChamada.Passos podem ser e-mail, espera, tarefa ou webhook.1AUTOMATESeguimento multi-passo2STEPSE-mail: espere, tarefa:3YOU APPROVEO primeiro envio está fechado.
Seguimento automático de várias etapas (e-mail, espera, e-mail e tarefa) que você aprova primeiro e uma resposta para automaticamente.

Como as sequências funcionam

1
Crie uma sequência.

Defina os passos: e-mail, espere 3 dias, e-mails, aguarde 5 dias, tarefa (chamar se não houver resposta), e- mail.

2
Inscreva-se em contatos.

A IA pode também propor inscrição de resultados de prospecção.

3
Execução automática

Se um contato responder em qualquer ponto, a sequência pausa automaticamente.

4
Resultados da trilha

Veja taxas abertas, taxas de resposta, taxas e cancelamentos por passo.

Responda compreensão.

Quando um contato responde, a IA classifica a resposta:

Positivo.

Sequências pausas, tarefa criada para acompanhamento.

Protesto.

Sequência pausas, tarefa criada com detalhes de objeção.

Desobscreva

Quer parar de receber mensagens, o contato é suprimido permanentemente.

Agora não.

Sequência pausas, tarefa de dormir criada.

Pessoa errada.

Sequência parada, contato marcado para revisão.

Suporte

Uma pergunta de apoio, não uma resposta de vendas.

Proteções anti-spam

Manuseamento de Opt-out

Os pedidos de cancelamento são honrados imediatamente e o contato é suprimido de todas as sequências futuras.

Mandar diariamente o boné.

Limite diário de nível de trabalho (padrão: 1,000 e-mails) Previne que a massa envia filtros de spam.

Limite por contato.

Máximo. 1 Mensagem por contato por dia, evita pessoas individuais.

Manuseamento de capsula

Passos que excedem a tampa diária são adiadas para o dia seguinte.

O que acontece se um contato abrir uma passagem de suporte durante uma sequência?+

A sequência se detém automaticamente, o suporte tem prioridade sobre a extensão, e pode ser retomada manualmente após resolvermos o problema.

Posso fazer o teste A/B?+

Não diretamente dentro de sequências, mas você pode criar duas sequências com mensagens diferentes e comparar seus resultados.

CRM

Ferramentas de Crescimento

Uma página sob CRM que detém o motor de crescimento: receita recorrente (MRR/ARR), catálogo de produtos, formulários de captura de chumbo, links de reserva e roteamento de chumbo.

O que vive na página

Receita recorrente

Receita

As assinaturas são agrupadas de pagamentos por plataforma, o ciclo de faturamento é inferido das lacunas de pagamento, e uma assinatura caduca quando um pagamento está atrasado.1.5Os clientes se ligam aCRMContatos automaticamente quando o livro carrega seu e-mail.

Catálogo de produtos

Catálogo

Uma fonte de verdade para o que você vende, citações pegam o nome e o preço do catálogo, e as citações aceitas são feitas em receita por produto, os produtos nunca apagam.

Formas de captura de chumbo

Captura

Cada formulário recebe uma página hospedada mais um código de incorporação iframe para o seu próprio site.

Links de reserva

Agendamento

Uma reserva cria o encontro, envia um e-mail para a perspectiva uma confirmação e notifica o organizador.

Roteamento de chumbo

Roteamento

As regras do território são executadas primeiro, depois as regras de campo (compatível com um campo como país ou fonte), então o robê em todo seu grupo de representantes. Ele encaminha CONTATOS E DEALS da mesma forma, qualquer que seja o status do acordo: um negócio ganho ainda precisa de um proprietário para atribuição de comissão, responsabilidade e acompanhamento da conta, e no modo de visibilidade do proprietário ou equipe um registro não propriedade é invisível para todos, exceto para um gerente.

Crie seu primeiro formulário.

1
Ferramentas de Crescimento Aberto

Vá para CRM, depois ferramentas de crescimento, e então a seção de captura de chumbo.

2
Diga e escolha campos.

Digite um nome e uma lista de campos separados por vírgulas, por exemplo, nome, e-mail, telefone, mensagem.

3
Compartilhar ou incorporar

Copie o link hospedado para compartilhá-lo em qualquer lugar, ou copie o código de incorporação e cole-o em qualquer página do seu site.

4
Veja os leads chegarem.

Cada submissão é um contato CRM com um formulário. Atividade submetida, notificação do proprietário e roteamento automático.

💡
Páginas de captura pública usam o endereço do seu espaço de trabalho, espaços de trabalho em nuvem usam seu subdomínio designado.opsiq.help), então o link sempre resolve os dados certos.

Proteções incorporadas.

Os robôs vêem sucesso, você não vê nada.

Um campo escondido de honeypot silenciosamente descarta submissões de robôs.

Taxa limitada

Dez submissões por hora. IP Endereço entre formulários e reservas.

O consentimento permanece honesto.

Enviar um formulário não dá consentimento de marketing, só uma caixa de verificação explícita.

Sem reserva dupla.

Uma vaga é revalidada contra uma nova verificação de disponibilidade no momento da reserva.

De onde vem os dados de receita recorrentes?+

Use o mesmo livro comercial que usa na página de vendas, alimentado por conectores de faturamento, use a sincronização do faturamento depois de conectar uma nova plataforma.

Posso usar os formulários sem um site?+

Todo formulário tem uma página hospedada no seu próprio endereço que trabalha independente, com ou sem JavaScript.

CRM

Ensaiando o Hub (SMS e WhatsApp)

Conectar os provedores de SMS e WhatsApp que você usa, marcar um como padrão, e escolher qualquer um deles quando enviar um contato.CRMantes que qualquer portal seja contatado.

Prepare-se.

1
Active o conector.

Na página de conexões, abra o Centro de Mensagens (SMS e WhatsApp) e ative-o.

2
Adicione um provedor.

Na mesma gaveta, ou em ferramentas de crescimento CRM, escolha um portal da lista suspensa (Twilio, Vonage, Termii, Meta WhatsApp Cloud, Infobip e muito mais), cole suas credenciais API e conecte-se.

3
-Ligue o gancho.

Cada entrada do provedor mostra seu próprio webhook. URL Colocá-lo no relatório de entrega do gateway e nas configurações de mensagem para obter o status da entrega e respostas de volta para OpsIQ.

4
Envie de um contato.

Abra um contato e use o botão SMS ou WhatsApp. Se mais de um provedor suporta o canal, um seletor permite que você escolha; caso contrário, o padrão é usado.

O consentimento vem primeiro.

Só consentiu.

Não é consentimento desconhecido, um envio recusa-se a menos que o consentimento SMS seja explicitamente concedido.

Não-contato sempre vence

Uma bandeira sem contato bloqueia todos os canais, não importa o que seja.

Supressão honrada.

Contatos na lista de supressão nunca são enviados.

Recusas nomeiam sua razão

Um envio bloqueado diz exatamente o porquê, para que possa consertar os dados em vez de adivinhar.

Para desenvolvedores: o contrato webhook

URL forma

https://your-address/opsiq/cron/messaging_webhook.php?sk=SITE_KEY&e=ENTRY_ID&t=TOKEN. A ficha de entrada é cunhada quando o provedor está conectado e nunca gira na edição.

Formatos entendidos

Twilio form posts (MessageStatus/MessageSid for delivery, Body/From for inbound), Meta WhatsApp Cloud JSON (statuses and messages, including the hub.challenge subscription handshake), and a generic JSON shape: {"type":"delivery","message_id":"...","status":"delivered"} or {"type":"inbound","from":"+234...","body":"..."}.

Efeitos

As mensagens de entrada batem com o contato pelo número de telefone dentro da área de trabalho, aterrissam como uma mensagem.

Modo de falha

Respostas erradas ou perdidas. 403 Cargas desconhecidas são contadas e ignoradas, nunca fatais, então um portal mal configurado não pode quebrar o objetivo.

Quais são os portais suportados?+

Twilio, Vonage, Plivo, MessageBird, Sinch, Infobip, Telnyx, ClickSend, Termii, Africa's Talking, BulkSMS, Textlocal, Meta WhatsApp Cloud, 360dialog, SMSAPI, Gupshup, Kaleyra, D7 Networks, Hubtel, e um webhook HTTPS personalizado para qualquer outra coisa.

As credenciais estão seguras?+

As credenciais são armazenadas criptografadas nas configurações do conector e nunca são ressoadas para o navegador.

A IA pode enviar mensagens?+

Sim, através de ações registradas que exigem confirmação e executar o mesmo portão de consentimento.

CRM

Mantendo e crescendo clientes

Cada conta ganha uma pontuação de risco, uma pontuação em saúde, uma nota de expansão e um livro de sucesso recomendado.

Ciclo de vida
Placa de bicicletaUma placa de ciclo de vida do cliente (A bordo, ativo, em risco, renovação) com barras de saúde em cada cartão de conta.Ciclo de vidaEspaço de trabalhoAbordagemAcme.Saúde 40AtivoGlobex.Saúde 88Initech.Saúde 76AT-RISKSoylent.Saúde 28RENOVAÇÃOUmbra.renova em 12dExpansão + 8 mil dólares1STAGESA bordo da renovação2SCOREDSaúde e expansão3PLAYBOOKRecomendado próximo passo
Os clientes passam por uma abordagem ativa, em risco e renovação, cada um com a sua saúde e expansão.

O quadro de ciclo de vida

Mapa do palco

Placa visual mostrando onde cada conta está: chumbo, perspectiva, oportunidade, cliente, expansão, renovação, risco, churned.

Contabilidade de risco

Cada conta marcada com alto risco de churn, cada mostra o melhor motorista (spin de suporte, inatividade, falha no pagamento) e um jogo de salvamento recomendado.

Oportunidades de expansão

Contas que mostram sinais de disponibilidade para comprar mais: alta utilização, pedidos de recursos, perguntas de planos.

Renovações devidas

Contas com datas de renovação próximas, ordenadas pelo nível de risco e valor da receita.

Como? OpsIQ Detecta risco de churn.

O risco de churn é calculado a partir de múltiplos sinais fundidos:

Sinais de CRM

Saúde, inatividade, perdas recentes, comprometimento em declínio.

Sinais de apoio.

Contagem de bilhetes aberta, picos de volume de ingressos, sentimentos negativos, escaladas.

Engajamento de produtos

Freqüência de login, uso de recursos, visitas de página, API Chamadas.

Sinais de faturamento

Pagamentos fracassados, faturas atrasadas, pedidos de redução, visitas a páginas de cancelamento.

-Jogos.

Salve o jogo

Para contas de risco: falar proativamente, resolver a preocupação, oferecer apoio, aumentar se necessário.

Jogo de renovação

Para as próximas renovações: confirmar satisfação, revisão de uso, valor presente, oferecer incentivo se apropriado.

Jogo de expansão

Para contas prontas para crescer, apresentar opções de atualização, compartilhar histórias de sucesso, demonstrar ROI.

Jogo de adoção

Para subutilizar contas: oferecer treinamento, compartilhar melhores práticas, habilitar recursos que não estão usando.

A ver o que acontece antes de acontecer.

Cenário:
A customer who normally logs in daily has not logged in for 2 weeks, and they opened 3 support tickets this month.
O que fazer:

A placa do ciclo de vida sinaliza esta conta como "A risco" com motoristas: inatividade (14 dias desde o último login) e pico de apoio (3x A primeira intervenção pode salvar a conta.

CRM

Mantendo seus dados limpos.

O agente da Data Steward automaticamente encontra e corrige problemas de qualidade de dados: duplicatas, campos desaparecidos, inconsistências e registros obsoletos.

Administrador de dados
Administrador de dadosUma lista de problemas de qualidade de dados (duplicar, faltar, ficar velho, formato), cada um com um clique corrigir ação.Administrador de dadosEspaço de trabalhoDados emitem o agente encontrado.Duplicar[email protected] e [email protected]MesclarDesaparecido.12 Contatos não têm companhia.Enrique.Antigo38 Tratos intocados para 90+ diasRevisãoFormatoNúmeros de telefone dentro 4 FormatosConserte tudo.1CATCHESDupes, lacunas, estagnação2EXPLAINSPor que ele marcou cada3FIXESEm sua aprovação
O agente da equipe mantém seu CRM limpo, encontrando duplicatas, lacunas, registros antigos e formatos ruins, fixando na aprovação.

O que ele pega

Duplicar contatos

Vários registros para a mesma pessoa (por exemplo, [email protected] e [email protected] O mordomo propõe fundi-los.

Dados desaparecidos.

Contatos sem e-mail, negócios sem quantias, empresas sem domínios... sugere preenchimento de fontes disponíveis.

Registros não ligados

Propõe links baseados em domínio e contexto de email.

Inconsistências

Um acordo em "Won" com 20% Provavelmente, um contato marcado "Cliente" sem acordos, uma empresa com indústria desigualizada.

Estágios errados.

Tratos que estiveram na mesma fase por muito tempo ou contatos cuja etapa do ciclo de vida não corresponde à sua atividade.

Como usar

1
Abra a lista de mordomos.

Vá para CRM e encontre a seção Data Steward (ou abra-a da CRM Health).

2
Aprovar correções seguras

Os itens verdes são seguros, duplicatas claras, dados obviamente perdidos, e os aprovam em massa.

3
Revise o resto.

Amber precisa de seu julgamento, possíveis duplicatas com pequenas diferenças, mudanças de palco propostas, ligação entre empresas.

Limpando contatos duplicados.

Cenário:
The steward found "John Smith ([email protected])" and "J. Smith ([email protected])": same email, different display names.
O que fazer:

O administrador propõe a fusão: manter o registro com mais atividade, fundir os negócios e atividades do outro registro, rever a proposta, ajustar o nome da exibição sobrevivente se necessário e aprovar.

CRM

Construa meu CRM

Construir meu CRM permite descrever sua configuração em inglês. OpsIQ Gera um plano reversível validado e o aplica na aprovação.

Construa meu CRM
Construa meu CRMUma descrição de linguagem natural à esquerda produzindo um plano de CRM gerado de estágios, campos e segmentos à direita.Construa meu CRMEspaço de trabalhoDescreva seus negócios.Somos uma agência de web design.Vendendo retentores mensais eProjetos únicos para pequenosNegócios.Construa meu CRMPlano geradoEstágios: Líder → RetentorTipos de negócio: retentor, projetoCampo: valor mensalSegmentos: SMB, agênciaSequência: a bordoAprovar e aplicar1DESCRIBEInglês puro em2AI PLANSEstágios, campos, segmentos3APPROVEAplicado sem codificação.
Descreva seus negócios em inglês simples; OpsIQ Esboça todo o CRM (estágios, campos, segmentos) e aplica-o na aprovação.

Como funciona

1
Descreva o que você quer

Escreva uma descrição inglesa da sua configuração de CRM, como: "Criar um oleoduto de renovação com etapas, próximas, contatadas, negociadas, renovadas, perdidas, a pontuação aumenta quando veem os preços duas vezes."

2
Revise o plano.

OpsIQ mostra uma prévia do que ele vai criar: pipeline, estágios, probabilidades de palco, regras de pontuação, regras do ciclo de vida.

3
Aplicar

Cada mudança é gravada como um pacote que você pode desfazer em um clique.

4
Volte se necessário.

Se algo não estiver certo, clique em Desfazer para reverter o pacote inteiro.CRMretorna ao seu estado anterior.

O que você pode construir

Pipelines e palcos

Criar pipelines com estágios personalizados, probabilidades padrão e limiares de apodrecimento.

Regras de pontuação

Melhorar as pontuações de liderança baseado no comportamento: "Mais alto quando veem preços", "mais baixo quando visitam a página de carreiras".

Regras de ciclo de vida

Avança automaticamente as etapas do ciclo de vida: "Mova-se para SQL quando eles pedem uma demonstração," "Move-se ao cliente quando o negócio é ganho."

Campos personalizados

Adicione campos aos contatos, acordos ou empresas: texto, número, data, seleção, caixa de seleção, URL, e-mail.

Lista de qualificação

Defina a lista de MEDDICC ou BANT contra as notas do treinador.

Montando um oleoduto de renovação

Cenário:
You manage SaaS subscriptions and need a pipeline for renewals.
O que fazer:

Tipo: "Criar um oleoduto de renovação. 90 Dias Fora (10%), 60 Dias Fora (25%), contatado (40%), Negociando (60%), Renovado (100%), Churned (0% Defina o limite de decomposição para 14 dias."OpsIQ O oleoduto aparece na sua página do Pipeline imediatamente.

E se eu descrever algo que não é possível?+

Se você pedir algo fora de suas capacidades (por exemplo, "Integrar-se com meu costume API"), ele rejeitará o pedido e explicará o que pode fazer em vez disso.

Posso desfazer as mudanças?+

Cada ação de construção do meu CRM é capturada como um pacote reversível.

CRM

Preparando seu CRM do seu jeito.

Configuração manual de CRM para equipes que preferem clicar sobre digitar, todas as configurações que Build My CRM pode criar também estão disponíveis como campos tradicionais de formulário.

Pipelines e palcos

Criar, renomear, reordenar e excluir pipelines e estágios. Definir probabilidade de vitória padrão por estágio.

Campos personalizados

Adicione campos para acordos, contatos ou empresas. URL Campos personalizados aparecem no perfil do objeto e em filtros.

Lista de qualificação

Defina a lista de verificação que o treinador usa para avaliar acordos, escolha MEDDICC, BANT ou um conjunto personalizado de critérios, cada item pode ser marcado como necessário ou opcional.

Regras de estágio do ciclo de vida

Defina transições automáticas de estágio: quando um contato encontra uma condição (visita preços, submete um formulário, faz uma compra), seu ciclo de vida avança automaticamente.

Regras de pontuação de chumbo

Aumentar ou reduzir as pontuações de chumbo baseado no comportamento.15 Pontos, "Papel Branco Transferido"10 Pontos, "Página de carreiras visitadas"5A contagem mínima pode ser definida (por exemplo, "deve ver o preço pelo menos 2 Tempos ".

Vistas salvas

Crie combinações filter+sort para contatos, acordos ou empresas, compartilhe visualizações com sua equipe, defina uma visão padrão por tipo de objeto.

Adicionando uma regra de pontuação principal

Cenário:
You want contacts who view your pricing page twice or more to get a higher score.
O que fazer:

Vá para a configuração CRM > Regras de pontuação principal. Clique em Adicionar regra. URL contém = "/pricing", Contagem mínima =2, Aumento de pontuação = +20 Da próxima vez que o marcador correr, contatos correspondentes a essa regra terão +20 Para a sua pontuação principal.

CRM

CRM Exame de saúde

CRM Health é uma página auto-diagnóstico que verifica se seu CRM está configurado corretamente e funcionando sem problemas.

Checagem de saúde.
CRM, exame de saúde.Um placar de saúde soa em 92 ao lado de uma lista de verificação da configuração de passagem e aviso.CRM, exame de saúde.Espaço de trabalho92SAUDÁVELEstágios de tubulação configurados.Conector ligado & importaçãoAgentes de IA habilitados.!Sem sequência de seguimento ativa.!12 Contatos faltando companhia1AUDITORIAVerifique sua configuração.2FLAGSO que está faltando?3EscoreUm número total.
Uma auditoria de CRM de uma página: uma pontuação geral na saúde, mais uma lista do que está certo e o que ainda precisa de atenção.

O que ele verifica

Esquema

Se uma migração foi perdida, a CRM Health vai marcar.

Agentes de IA

Todos os agentes de CRM (Capture, Data Steward, Deal Intelligence, etc.) estão registrados e saudáveis.

Rotas

CRM APIrotas e terminais AJAX estão registrados e chamados.

AI ações

O catálogo de ação do CRM está registrado no Registro de Ação, se as ações estão faltando, o CRM Health se cura re-registrando-as.

Dados ao vivo contam.

Contatos, empresas, negócios, tarefas, atividades e eventos úteis para verificar importações e captura de dados em curso.

Depois da verificação de configuração

Após a primeira instalação de CRM, abra o CRM Health e verifique se todos os controles são verdes.

Quantas vezes devo checar a saúde do CRM?+

Verifique após a configuração inicial, depois de grandes atualizações, e sempre que o comportamento do CRM parece errado.

CRM

Conexões CRM para desenvolvedores

O CRM expõe um total REST público. API e os ganchos de saída para caber em qualquer pilha sem exportação manual.

API endpoints

Autenticação

API Tecla (Autorização: portadora opq_...) com escopo crm.read ou crM.write. /api/v1.php com ação e chave de página.

Contatos

CRM. contacts. list (pesquisa + filtro), cRM. Contacts, detalhes (por ID), crm. contactos, upert (criação ou atualização), crma. contactantes, salvar.

Acordos

CRM. deals. list, cRM. deals, detail, crm. dealls. criar, cmm. dealings. atualizar, crma. dealas. avançar (todos através da Camada de Confiança).

Atividades

CRM. Activities. list (linha de tempo para um contato/acordo), cRM. activities. registro (log uma nova atividade).

Eventos

Crm. events. list (alimentação de mudança durável com cursor since_id), crm-event. catalog (tipos de eventos disponíveis na lista).

Faça um acordo via API
POST /api/v1.php
Authorization: Bearer opq_live_xxx
Content-Type: application/json

{
  "action": "crm.deals.create",
  "site_key": "<workspace>",
  "title": "Acme renewal",
  "amount": 12000,
  "pipeline_id": 1,
  "stage_id": 2
}

Eventos de webhook

crm.contact.created

Despedido quando um novo contato é adicionado ao CRM.

-Crm. Deal.

Despedido quando um acordo muda para outro estágio.

crm.deal.won

Despedido quando um acordo é fechado como ganho.

crm.deal.lost

Despedido quando um acordo é fechado como perdido.

crm.task.created

Despedido quando uma nova tarefa é criada (manual ou gerado por IA).

crm.outreach.reply

Despedido quando um prospecto responde a uma sequência de e-mails.

CRM. Agent. Proposta criada

Despedido quando um agente de IA cria uma proposta para a fila de aprovação.

Todos os eventos da Webhook são assinados pelo HMAC e re-tentados em fracasso. URL Em Configurações > Webhooks, ou enquete crm.events.list com since_id para uma alimentação de mudança durável.

Sincronizando contatos CRM para o Google Sheets

Cenário:
You want every new CRM contact to appear in a Google Sheet for your marketing team.
O que fazer:

Configure um assinante webhook para crm. contact. created. Aponte-o para um aplicativo Web do Google Apps Script ou um webhooc Zapier URL. A carga útil inclui o nome de contato, e-mail, empresa, pontuação principal, e fonte.

CRM

Segmentos

Segmentos economizam filtros de contato reutilizáveis para visualização de CRM, divulgação, promoções e outras ferramentas conscientes do público.

Tela de produto
SegmentosO editor do Segmento combina as condições, mostra a contagem de partidas ao vivo e permite que o operador escolha um filtro ao vivo ou instantâneo.SegmentosEspaço de trabalhoMODELOVivaLOGICTodosMATCHES1,248OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOEstágio do clienteÉ igual ao cliente ativo.RegraÚltima atividade.dentro 30 diasRegraPaísigual ao Reino UnidoRegraAlta intenção.marcar pelo menos 70Regra1CHOOSE MODEVivo ou instantâneo2ADD RULESTODOS OU ALGUMA3REUSECampanhas e CRM
O editor do Segmento combina as condições, mostra a contagem de partidas ao vivo e permite que o operador escolha um filtro ao vivo ou instantâneo.

A Segmento ao vivo Recalcula a partir dos dados atuais sempre que é usado. Esquema preso Congela a lista de membros, o que é útil quando uma audiência não deve mudar após aprovação.

Escolha Todos quando cada condição deve corresponder ou Any Segmentos de sistema podem ser visíveis, mas protegidos da edição normal.

CRM

Marcação de chumbo

Regras de pontuação transformam o comportamento e os sinais de perfil em uma pontuação consistente que as vendas e automação podem usar.

Tela de produto
Marcação de chumboA pontuação do chumbo mostra regras ativas, a janela de rolamento e a mudança positiva ou negativa de pontuação cada regra se aplica.Marcação de chumboEspaço de trabalhoREGRAS12SCORED8,412HOT LEADS286OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOAtividade de preços3+ visitas em 14 dias+20Comprando palavra-chavecontém migração ou empreendimento+15-Apoie o risco.Queixar-se em 30 dias-10Fonte confiável.- Sócia de referência.+121DESCRIBE RULEUse o inglês simples.2REVIEW FIELDSSinal, janela, pontos.3RESCOREAplique-se ao espaço de trabalho.
A pontuação do chumbo mostra regras ativas, a janela de rolamento e a mudança positiva ou negativa de pontuação cada regra se aplica.

O construtor de regras da IA pode transformar uma instrução em inglês numa regra estruturada, e todas as regras devem ser revistas antes da ativação: confirmar a atividade ou palavra-chave, contagem mínima, janela de rolamento e mudança de pontuação.

Regras positivas e negativas podem coexistir. Remarcar espaço de trabalho Após mudanças de regras materiais, os contatos existentes são avaliados sob o novo modelo.

CRM

LEADERboard de vendas

A tabela de classificação compara representantes usando a obtenção de quotas, ganhos receita, comissão e oleoduto aberto para o mês selecionado.

Tela de produto
LEADERboard de vendasA tabela mensal classifica os representantes de vendas enquanto mantém a receita ganha, comissão e o oleoduto aberto visível.LEADERboard de vendasEspaço de trabalhoPERIODJulhoTEAM QUOTA82%VENCIDO£184kOBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOAmina.104% Cota... 62 mil libras ganhas.1oBen.88% Cota # 51k ganhou2oRita.76% Cota - £43k ganhou3oAbrir o gasoduto.£312k em toda a equipeRevisão1CHOOSE MONTHCompare um período2CHECK QUOTAAtraição por representante3COACHUse o contexto do gasoduto.
A tabela mensal classifica os representantes de vendas enquanto mantém a receita ganha, comissão e o oleoduto aberto visível.

A obtenção de quotas só é significativa quando cada representante tem uma quota atual e negócios têm o proprietário, a quantia, a moeda e o status próximo.

CRM

Aprovações de acordo

As aprovações exigem a assinatura do gerente antes que acordos de alto valor possam ser marcados.

Tela de produto
Aprovações de acordoA política de aprovação define dois limiares de valor e a fila mostra decisões pendentes, aprovadas e rejeitadas.Aprovações de acordoEspaço de trabalhoPOLICYActivadoWAITING6OLDEST3hOBJETIVO AO LIVRO DA ESPAÇO DE TRABALHONível. 1Acordos de £10,000Gerente.Nível. 2Acordos de £50,000SeniorRenovação da empresa£72,000 · solicitado por BenPendenteProjeto de migração£18,500 · solicitado por RitaAprovado.1SET THRESHOLDS0 desativa uma camada2REQUESTRep apresenta o acordo.3DECIDEMAprovar ou rejeitar
A política de aprovação define dois limiares de valor e a fila mostra decisões pendentes, aprovadas e rejeitadas.

Active a política e defina o nível. 1 e Nível 2 Um limiar de 0 Quando um não-gerente tenta ganhar um acordo em ou acima do limite, OpsIQ cria um pedido de aprovação em vez de mudar silenciosamente o palco.

Gerentes e administradores não são bloqueados pela política, toda decisão deve manter o solicitante, o aprovador, o tempo e a razão da auditoria.

CRM

Regras de ciclo de vida

Regras de ciclo de vida automaticamente movem contatos entre estágios quando seus dados atuais correspondem a uma condição salva.

Tela de produto
Regras de ciclo de vidaRegras do ciclo de vida são avaliadas por prioridade, a primeira regra correspondente muda o estágio de contato.Regras de ciclo de vidaEspaço de trabalhoAtivo7RUNSNoitePRIORITYO mais alto primeiro.OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOLider → Qualificadopontuação ≥ 60 e atividade recentePrioridade 100Qualificado → ClienteO evento de compra existe.Prioridade 90Cliente → ArriscandoNenhuma atividade para 60 diasPrioridade 70Em risco → ClienteNova compra ou resposta.Prioridade 601PICK STAGESDe e para2DEFINE FILTEREstilo Segmento JSON3ORDER RULESO primeiro jogo vence.
Regras do ciclo de vida são avaliadas por prioridade, a primeira regra correspondente muda o estágio de contato.

Cada regra tem uma fonte, estágio de destino, bandeira ativa, prioridade e filtro de segmento.

As regras devem ser compreensíveis mutuamente, evite duas regras ativas que podem mover o mesmo contato em direções opostas durante a mesma corrida, teste o filtro contra um segmento antes de ativá-lo.

CRM

Fluxo de atividade CRM

O fluxo de atividade no espaço de trabalho combina clientes e eventos operacionais para que as equipes possam investigar o que aconteceu sem abrir cada módulo.

Tela de produto
Actividade de CRMO fluxo de atividade inter deixa bate-papo, ticket, e-mail, webhook, eventos de conversão e anomalia com filtros e paginação.Actividade de CRMEspaço de trabalhoAcontecimentos2,804CUSTOMERS1,126ANOMALIES14OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOConversa resolvida.[email protected]· AIAgora.O bilhete respondeu:T-1048 · Faturação4mEvento Inboundsubscription.upgraded12m.ConversãoOrdem #7788 · £14919m.1FILTEREvento e cliente2OPEN CONTEXTPule para o registro.3PAGE RESULTSMantenha as investigações limitadas.
O fluxo de atividade inter deixa bate-papo, ticket, e-mail, webhook, eventos de conversão e anomalia com filtros e paginação.

Filtrar por tipo de evento, data, contato ou estado do cliente (incluindo clientes pagantes), o feed é um modelo lido de atividade gravada, não substitui o ticket fonte, conversa, acordo ou registro de conectores, abra o registro vinculado antes de tomar uma ação sensível.

CRM

Fluxos de trabalho

Fluxos de trabalho respondem a um evento e executam uma série ordenada de ações, incluindo passos atrasados retomados por Cron.

Tela de produto
Fluxos de trabalhoUma execução de fluxo de trabalho mostra seu gatilho, ações completas, atraso de espera e próximo passo.Fluxos de trabalhoEspaço de trabalhoAtivo9RUNNING42FALHA1OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOGatilhocontact.createdComecem.Passo 1Envie e-mail de boas vindasFeito.AtrasoEspere. 2 diasEsperando.Passo 2Criar tarefas de vendas.Próxima1CHOOSE TRIGGERO evento começa a correr.2ORDER STEPSAções e atrasos3MONITORRetomar através de cron
Uma execução de fluxo de trabalho mostra seu gatilho, ações completas, atraso de espera e próximo passo.

Criar um fluxo de trabalho escolhendo o gatilho, adicionando passos em ordem e habilitando-o.

Os modelos de partida incluem boas-vindas após a inscrição, pós-compra, agradecimento e confirmação demo, clonar um modelo, substituir seus destinatários/conteúdo, depois testar com um registro controlado antes da ativação ampla.

Um re-tentar não deve enviar pedidos duplicados de mudança de dinheiro ou criar registros duplicados.

Suporte

Bilhetes

Os ingressos são o seu canal de suporte formal, eles têm departamentos, prioridades, alvos do SLA, anexos, notas internas e conversas completas. OpsIQ admin, formulário de ingresso/embed, ingestão de e-mail, escalada do chat, conector, ou API.

Bilhetes
Detalhe do bilheteUm bilhete com meta-barra lateral (prioridade, departamento, SLA, status), o tópico de conversa, e AI rascunho e ações de reembolso.BilheteEspaço de trabalhoT-12345PrioridadeAlto.DepartamentoContagemSLA3h 12m à esquerda.SituaçãoAbra.Fui cobrado duas vezes pelo meuAssinatura em junho 3.IAConfirmado o duplicado.Cobrar, reembolsar o processamento.AI rascunho de respostaReembolso1THREADEDConversa completa + notas2SLA & ROUTINGPrioridade, Dept, Temporizadores3AI DRAFTResposta escrita para você
Cada bilhete tem sua prioridade, departamento, temporizador SLA e linha completa, e a IA pode redigir a resposta para você.

Como um bilhete flui

1
O bilhete chegou.

Um cliente envia uma mensagem por e-mail, aumento de chat, incorporação de tickets ou o administrador cria um.12345).

2
Triagem

A IA lê o assunto e corpo, atribui prioridade (Baixo/Normal/Alto/Urgente), sugere um departamento, e detecta sentimento.

3
Responda.

Um agente abre o ticket, lê o contexto (perfil do cliente, dados da plataforma de conectores, tickets anteriores) e escreve uma resposta.

4
Feche.

Quando o problema é resolvido, o agente fecha o ticket, o cliente é notificado, se o cliente responder depois de fechar, o ticket reabre automaticamente.

Por-bilhete ações

Mude de departamento.

Mova o bilhete para um departamento diferente (por exemplo, de General para Billing). Útil quando o roteamento inicial estava errado.

Atribuir ao agente

O agente designado vê o bilhete na visão de "Meus ingressos".

Adicione nota interna.

Escreva uma nota visível apenas para o pessoal, use para: investigação, reembolsos, contexto de engenharia, compromissos anteriores, notas internas nunca aparecem aos clientes.

Mesclar as passagens.

Todas as mensagens dos dois ingressos estão preservadas no bilhete que sobreviveu.

Resposta enlatada

Inserir um modelo de resposta pré-escrito. {{customer_name}} e {{ticket_id}} são automaticamente substituídos.

AI reescrever

Deixe o IA melhorar sua resposta, ajustar tom, encurtar/comprir, corrigir gramática ou traduzir.

Mude de prioridade.

A prioridade afeta os tempores de SLA e ordem.

Mudar de status

Definir como Aberto, Pendente, Aguardando o cliente, Resolvido ou Fechado.

Trabalhou como exemplo: lidar com um cliente infeliz.

E-mail do cliente: "Eu fui cobrado duas vezes para minha assinatura"

Cenário:
Subject: Double charge on my account
Body: Hi, I just checked my bank statement and I see two charges of $49.99 from your company dated June 3. I only have one subscription. Can you please refund the duplicate charge? This is really frustrating.
O que fazer:

Step 1: AI triage assigns Priority: High, Department: Billing, Sentiment: Frustrated. Step 2: Agent opens the ticket. The connector panel shows the customer's Stripe charges, confirmed two charges on June 3. Step 3: Agent adds an internal note: "Confirmed duplicate charge in Stripe. Transaction IDs: ch_xxx and ch_yyy." Step 4: Agent drafts a reply: "Hi [Name], I can see the duplicate charge and I'm processing a refund for the second transaction right now. You should see $49.99 back in your account within 3-5 business days. I'm sorry for the inconvenience." Step 5: Agent triggers the refund action through the Stripe connector (with confirmation). Step 6: Agent sends the reply and sets status to Resolved.

Departamentos

Criar departamentos em Configurações > Bilhetes > Departamentos.

Respostas enlatadas

Criar modelos de resposta reutilizáveis em Configurações > Ingressos > Respostas Enlatadas.

Exemplo de modelo de resposta enlatada
Hi {{customer_name}},

Thanks for reaching out. I checked the details and here is what I found:

{{response_details}}

If you need anything else, just reply to this ticket and I will be happy to help.

Best regards,
{{agent_name}}
{{department_signature}}

Passagens de fusão

Quando um cliente envia a mesma pergunta várias vezes (via e-mail e bate-papo, ou dois e-mails separados), você pode mesclar as duplicatas. Vá para o ticket, clique em Mesclar, selecione o outro ticket para mesclar. O ticket sobrevivente recebe todas as mensagens de ambos os tickets.

Prioridade e SLA

Baixo.

Perguntas não urgentes, pedidos de recursos, retorno geral. 24 Horas.

Normal.

Perguntas padrão de apoio. 8 Horas.

Alto.

Impacto no negócio do cliente. 4 Horas.

Urgente.

Serviço desligado, incidente de segurança, perda de dados, erro de faturamento. 1 Hora.

Os cronômetros SLA começam quando o ticket é criado e pausam quando o status é "Esperando no Cliente". Se o alvo do SLA for perdido, o ticket será destacado e opcionalmente aumentado.

Os clientes podem ver notas internas?+

Notas internas são estritamente de funcionários, não aparecem no portal de tickets do cliente, notificações por e-mail ou qualquer superfície voltada para o cliente.

O que acontece quando uma passagem fechada é respondida?+

O ticket automaticamente reabre e retorna para a fila ativa.

Posso trancar um bilhete para evitar mais respostas?+

Use a opção Lock Thread para impedir que clientes e IA adicionem novas respostas, úteis para disputas resolvidas ou investigações fechadas.

Suporte

SLA, fluxo de status e qualidade

A sala de controle para como sua operação de suporte se comporta: políticas SLA com escadas de escalada, calendários de horário de negócios, um fluxo de status forçado, configurações CSAT e os interruptores de recursos empresariais.

Políticas de SLA

Cada novo ticket recebe uma primeira resposta e um prazo de resolução da política ativa mais específica: departamento + prioridade bate o departamento, supera a prioridade, vence o padrão.

Escadas de escada

Instead of one breach action, a policy can define up to six steps: for example warn the assignee at 75% of the window, alert managers at 100%, reassign to a named agent at 150%. Each step fires exactly once per ticket.

Horários e calendários

Com o horário de trabalho, os relógios SLA só queimam durante o tempo de trabalho... então uma passagem aberta sexta à noite não é violada até sábado.

Fluxo de status

Uma matriz que restringe as mudanças de status que os administradores podem fazer, com um pré-definido do Zendesk.

Aprovações

Os agentes pedem a assinatura de um bilhete (reembolsos por cima de um limite, exceções políticas), um aprovador ou qualquer administrador decide com uma nota, os solicitantes nunca podem aprovar seu próprio pedido, enquanto as aprovações não forem apresentadas como uma bandeira na caixa de entrada.

Relações de ingressos.

Link tickets como relacionados, duplicados, pais/filhos ou bloqueio; respostas divididas para um novo ticket vinculado (o inverso da fusão, sem enviar e-mail ao cliente); siga tickets para notificações no aplicativo, e opcionalmente endereços de e-mails CC seguidores em respostas enviadas.

Caixa de entrada ao vivo e colisões

Com a caixa de entrada ativada em tempo real, novos tickets e respostas aparecem para os agentes em segundos através do fluxo de notificação existente.

"Al-saware roteamento"

Regras de roteamento podem combinar com sinais de triagem IA: prioridade, categoria, sentimento e risco de escalada, além de valores de campo personalizados digitados do formulário de solicitação do portal.

💡
Cada empresa desliga, ligando um no Service Studio → Qualidade e Automação é o opt-in; deixando-os desligados mantém comportamento idêntico antes da atualização.
Por que um cliente pode reabrir um bilhete fechado quando minha matriz proíbe fechar →?+

A matriz só governa ações ADMIN, respostas de clientes, e-mails e automação são deliberadamente isentas para que uma política rigorosa nunca possa bloquear os clientes ou quebrar o gasoduto.

Escadas de SLA substituem a ação da velha violação?+

Políticas salvas com uma única ação de violação continuam funcionando sem alterações, uma escada substitui a única ação apenas em políticas onde você define passos.

Suporte

Auto-replicação e escalada de ingressos

A resposta automática permite que a IA responda automaticamente aos novos tickets, e a Escalation muda os tickets para um departamento diferente quando a IA detecta necessidades especializadas, ambas as características funcionam em tickets nativos e tickets criados por email.

Resposta automática
Resposta automática de ticketUm fluxo: novo bilhete, um atraso de dois minutos, resposta IA do conhecimento e contexto, então enviado ou salvo como um rascunho.Resposta automáticaEspaço de trabalhoQuando um novo bilhete chegaNovo bilhete.Qualquer fonteAtraso2 minAI responde.KB + contextoEnviadoou rascunhoSe um humano responder durante o atraso, a resposta automática é cancelada.1DELAYOs humanos têm a primeira chance.2AI REPLIESDo contexto KB +3OR ESCALATERota por intenção
Novos ingressos recebem um pequeno atraso (para que os humanos possam pular dentro), então uma IA responde de seu conhecimento, enviado ou na fila como um rascunho.

Como a resposta automática funciona

1
O bilhete aparece.

Um novo ticket é criado a partir de qualquer fonte (email, chat, portal, API).

2
Resposta de agenda

OpsIQ espera pelo atraso configurado (padrão: 2 Isso dá aos agentes humanos a chance de responderem primeiro.

3
Primeira resposta ganha

Se um agente humano responder durante o atraso, a resposta automática é cancelada.

4
Gerar e enviar

A IA lê o ticket, verifica a base de conhecimento, o contexto do conector e o histórico do cliente, então escreve uma resposta.

Como a escalada funciona

1
Configurar departamentos

Set quais departamentos podem receber escaladas (por exemplo, Billing pode ser aumentado do General, Technical pode ser aumentada do General).

2
Aplique o bilhete.

Antes de responder automaticamente, a IA classifica a intenção do bilhete: faturamento, técnica, reembolso, abuso, etc.

3
Mova se necessário

Se a intenção de passar for igual a um departamento de escalada, o bilhete é movido.

4
Gerar em nova voz

A resposta é gerada usando o conhecimento do departamento de destino e treinamento em IA.

Referência de configurações

Auto-reação ativada

Ligar para permitir a resposta automática da IA.

Departamentos permitidos

Comece com departamentos de baixo risco (General, Vendas) antes de permitir faturamento.

Atraso

Quanto tempo para esperar até que a IA responda (em segundos). 120 segundos (2Ajustado para0para respostas instantâneas.

Atraso de horário

Opcionalmente, atrasei diferentes horas de trabalho vs. horas extras.

Pare na resposta de administrador.

Se um agente humano responder primeiro, cancele a resposta automática.

Escalação habilitada

Habilitar roteamento automático do departamento baseado na intenção de ingresso.

Departamentos de escalada

Para quais departamentos os ingressos podem ser aumentados.

Situação de escalada

Que status definir quando se aumenta (por exemplo, aberto, pendente).

Nota de escalada

Se adicionar uma nota interna explicando a razão da escalada.

Bilhetes criados por e-mail

Os ingressos criados a partir de e-mail (através de pesquisas de correio ou entrega com tubo MX) seguem as mesmas regras de auto-resposta e escalada.

A IA responderá automaticamente às perguntas de cobrança?+

Só se você permitir a resposta automática para o departamento de Billing.

E se a IA der uma resposta errada?+

Se um cliente responder dizendo que a resposta estava errada, um agente humano deve intervir.

Posso rever as respostas antes de serem enviadas?+

Sim, defina o modo de entrega como "Draft" em vez de "Enviar Automaticamente".

Suporte

Portal de ingressos incorporado.

O portal de tickets permite adicionar uma interface de gerenciamento de ticket em qualquer site, os clientes podem ver seus tickets, criar novos e responder, tudo sem entrar no administrador OpsIQ.

Como funciona
Portal de ingressos incorporado.Um portal de suporte embutido em um site mostrando a um cliente seus próprios ingressos e um botão de bilhete novo.yoursite.com/supportCentro de apoio.Novo bilhete.Suas passagens#1042 · Pergunta de reembolsoAbra.#1038 · Ajuda de configuraçãoResolvido#1031 · Cópia da faturaPendente1EMBEDAdicione a qualquer site.2SELF-SERVEOs clientes vêem suas passagens.3NO LOGINIdentidade segura.
Portal de ingressos incorporado.

Três sabores de incorporação

Incorporação em linha

O portal leva a largura total do contêiner.

- Um widget flutuante.

Mostra um botão flutuante que abre o portal de tickets em um painel, similar a um widget de bate-papo.

Autenticado

Os clientes só veem os ingressos.

Instalação

Ticket incorpore um trecho.
<script src="https://your-opsiq-domain.com/widget.php"
  data-site-key="site_abc123"
  data-mode="tickets"
  data-identity-token="SERVER_GENERATED_TOKEN"
  async></script>

Geração de símbolos de identidade

Para o modo autenticado, seu servidor deve gerar um sinal de identidade assinado. OpsIQ Quem é o cliente para que eles vejam apenas seus próprios ingressos.

PHP · gerar token de identidade
<?php
// Generate identity token (PHP)
$site_secret = "opsiq_whsec_your_secret";
$payload = json_encode([
    "site_key" => "site_abc123",
    "customer" => [
        "id" => "cust_1001",
        "email" => "[email protected]",
        "name" => "Ada Lovelace",
    ],
    "iat" => time(),
    "exp" => time() + 900, // 15 minutes
]);
$token = base64_encode($payload) . "." . hash_hmac("sha256", $payload, $site_secret);
// Pass $token to the frontend
WHMCS hook · identity token
// WHMCS hook — auto-generate identity token
add_hook("ClientAreaPage", 1, function($vars) {
    if (!isset($vars["loggedinuser"])) return;
    $payload = json_encode([
        "site_key" => "site_abc123",
        "customer" => [
            "id" => $vars["loggedinuser"]["id"],
            "email" => $vars["loggedinuser"]["email"],
            "name" => $vars["loggedinuser"]["firstname"]." ".$vars["loggedinuser"]["lastname"],
        ],
        "iat" => time(),
        "exp" => time() + 900,
    ]);
    $token = base64_encode($payload).".".hash_hmac("sha256", $payload, "opsiq_whsec_xxx");
    // Inject into page
});
Node. js, gerar símbolo de identidade
// Node.js / Express — generate identity token
const crypto = require("crypto");

function generateOpsIQToken(customer) {
    const payload = JSON.stringify({
        site_key: "site_abc123",
        customer: {
            id: customer.id,
            email: customer.email,
            name: customer.name,
        },
        iat: Math.floor(Date.now() / 1000),
        exp: Math.floor(Date.now() / 1000) + 900,
    });
    const sig = crypto.createHmac("sha256", "opsiq_whsec_xxx")
        .update(payload).digest("hex");
    return Buffer.from(payload).toString("base64") + "." + sig;
}

Características de widget

Lista de ingressos

Uma lista de buscas com o status filtrado, e um "esperando" destaca os ingressos que a equipe respondeu.

Conversa fiada.

Visão completa de conversação com texto rico, anexos e horários.

Rascunho de auto- economia

As respostas dos clientes são salvas automaticamente, então não perdem o trabalho se forem embora.

-Enquete ao vivo.

O widget pesquisa novas respostas a cada 12 segundos.

Resolva/ reabra

Os clientes podem resolver ou reabrir seus próprios ingressos com um clique.

Notas internas de funcionários nunca são mostradas aos clientes na entrada.
Suporte

Conversar com a caixa de entrada.

A caixa de entrada do Chat é onde sua equipe gerencia conversas ao vivo com clientes, mostra bate-papo ativo, conversas atribuídas, conversas manipuladas por IA e histórico arquivado.

Conversar com a caixa de entrada.
Conversar com a caixa de entrada.Uma caixa de entrada para o agente de três painéis: lista de conversação, a conversa ao vivo com um chip de inteligência artificial e um painel de contexto visitante/CRM.Conversar com a caixa de entrada.Espaço de trabalhoJD.Jane.Onde está a minha ordem?MOMensah.Pergunta de cobrançaRTRita.AI manuseouOnde está o meu pedido?Enviado hoje · UPSAI rascunho prontoResponda...VISITANTES- Jane Doe.EUA · Cromo3 Ordens passadasLTV $480CRMEstágio: Cliente1UNIFIEDCada bate-papo ao vivo2CONTEXTVisitante + painel CRM3AI ASSISTRascunho e reescrita
Uma caixa de entrada para cada bate-papo ao vivo, lista de conversação, o tópico com AI rascunho no toque, e total visitante + contexto CRM.

Gerenciando conversas.

Conversas ativas.

Conversas em andamento, ponto verde = cliente digitando ou recentemente ativo.

- AI-handled.

Conversas onde a IA está respondendo, pode assumir a qualquer momento clicando em "Junte-se".

Atribuído a mim

Conversas especificamente atribuídas a você.

Esperando.

Conversas onde o cliente espera uma resposta.

Arquivo

Conversas concluídas, pesquisadas por palavra-chave, data e cliente.

Passagem de IA para humano

Quando você assumir uma conversa da IA, siga estas três regras:

1
Saudações, pessoalmente.

"Oi, aqui é Sarah da equipe de apoio."

2
Contexto de referência

Mostrar que leu a conversa. "Posso ver que perguntou sobre o seu status de pedido."

3
Ajustar as expectativas

Diga ao cliente o que acontece depois. "Estou investigando isso agora e terei uma resposta para você em alguns minutos."

Ligando a IA/desligando por conversa

Quando a IA está ligada, a IA gera respostas, quando desligada, só agentes humanos podem responder, e ela lembra do contexto da conversa mesmo quando desligadas e de volta.

Modo de afastamento / fora de horas

Configure business hours in Settings. Outside business hours, the AI can: (1) Continue responding to customers, (2) Show an "away" message and create a ticket for follow-up, or (3) Disable chat completely and show the ticket form. Choose the behavior that fits your support model.

Manejando conversas difíceis.

1
Fique calmo.

Não se compara com a intensidade emocional do cliente, reconheça sua frustração sem ser defensiva.

2
Recolha fatos

Antes de responder, reúna as informações relevantes: detalhes do pedido, status da conta, ingressos anteriores.

3
Escale cedo.

Se a situação envolve reembolsos, ameaças legais, abuso ou segurança, se torna membro sênior do time em vez de tentar lidar com isso sozinho.

Posso ter uma conversa de equipe (agente para agente)?+

Use notas internas para se comunicar com outros agentes, mas essas notas nunca são visíveis para o cliente.

O que acontece quando eu fechar uma conversa?+

Se o cliente enviar uma nova mensagem depois, uma nova conversa será criada.

Suporte

Canais de mensagens

Conecte WhatsApp, Facebook Messenger, Instagram DM, Telegram e LINE para que as mensagens que os clientes já enviam você cheguem na mesma caixa de entrada do seu chat no site, respondido pelo mesmo assistente de IA.

Cada canal se comporta de forma idêntica uma vez conectado: uma mensagem do cliente torna-se uma conversa na caixa de entrada do Chat, seu assistente de IA atende usando o mesmo conhecimento e instruções que seu chat no site, e qualquer agente pode assumir.

O que é a conexão?

Facebook Messenger & Instagram

Abra os conectores → Facebook Messenger & Instagram DM, clique em Connect, entre com a conta do Facebook que gerencia sua página e escolha a Página. O Instagram vem com ela quando sua página tem uma conta profissional do Instagram vinculada.

WhatsApp

Um clique onde seu provedor oferece: abra o conector do Hub de Mensagens e use o Connect WhatsApp, depois siga a inscrição guiada da Meta para pegar ou criar seu número de negócios do WhatSApp.20Gateways.

Telegrama

Mensagem @BotPai no Telegram, envie/newbot,Escolha um nome e um nome de usuário terminando em "bot", e cole o símbolo que ele lhe dá no conector do Telegram.OpsIQRegistra o webhook para você.

LINHA

Create a Messaging API channel at developers.line.biz, paste the Channel secret and access token, then copy the webhook URL shown in OpsIQ into LINE and switch its own auto-replies off.

SMS

Adicione um provedor (Twilio, Vonage, Termii e outros) no Centro de Mensagens com suas credenciais e número do remetente.

Cada conector mostra suas próprias instruções passo a passo dentro da gaveta, incluindo exatamente o que copiar e onde.

Ligando um canal

Ligar um canal não o inicia. Settings → Client Chat → Advanced → Messaging ChannelsCada canal tem seu próprio interruptor de resposta automática, então você pode pilotar em um antes de abrir o resto.

1
Conecte o canal.

Em Conectores, usando as instruções na gaveta do conector.

2
Teste a conexão.

Faz uma ligação para o provedor e diz o que há de errado se algo estiver.

3
Activar canais de mensagens

Configurações → Client Chat → Avançado. Ligue o interruptor mestre, depois o canal.

4
Envie uma mensagem para si mesmo.

De outra conta, envie mensagem para sua página, número ou bot, deve aparecer na caixa de entrada do Chat em segundos e receber uma resposta da IA.

Responda janelas.

Plataformas de mensagens limitam quanto tempo um negócio pode responder depois que um cliente escreve.OpsIQmostra o tempo restante em cada conversa e aplica a regra para você.

WhatsApp

24Depois disso, você só pode enviar um modelo aprovado, que você configura na mesma guia avançada.

Mensageiro e Instagram

24horas para respostas normais, agentes podem responder até7dias depois, sob a mesada de agente humano da Meta.

Telegrama, linha, SMS

Sem janela de plataforma.

⚠️
Se uma resposta falhar porque a janela fechou, a conversa mostra o porquê.OpsIQLimite.

Perguntas comuns

Os clientes vêem que uma IA respondeu?+

Só se você contar a eles, a resposta vem da sua página, número ou bot exatamente como uma resposta humana.

Um agente pode assumir a conversa no meio?+

Abra a conversa na caixa de entrada do Chat e clique em "Junte-se", a IA para, você digita, e o cliente vê uma linha contínua no lado deles.

E se eu desconectar um canal?+

O histórico da mensagem é mantido, novas mensagens simplesmente param de chegar e a plataforma é mandada parar de enviá-las.

Dois espaços de trabalho podem usar a mesma página do Facebook?+

Não, uma página pertence a um espaço de trabalho de cada vez, conectando-o em outro lugar, e o primeiro local de trabalho para de receber mensagens, então desconecte deliberadamente ao invés de se reconectar em outro lado.

Suporte

Conversas de verdade.

Esses exemplos mostram como uma IA de cliente bem treinada deve lidar com cenários comuns, usá-los para testar seu treinamento e identificar lacunas.

10 Exemplos de conversação

1Retorno de clientes perguntando sobre o pedido

Cenário:
Customer: Hi, I placed an order 3 days ago and haven't received any shipping notification yet. Order #ORD-5523.
O que fazer:

The AI should: (1) Look up order #ORD-5523 through the connector. (2) Report the current status and tracking info if available. (3) If the order is delayed, acknowledge the delay and provide an estimated timeline. (4) Do NOT invent a shipping status if the connector does not have one.

2Perspectiva perguntando sobre preços

Cenário:
Customer: How much does your Pro plan cost? Do you offer annual billing?
O que fazer:

The AI should: (1) Answer from the knowledge base with current pricing. (2) Explain the difference between monthly and annual billing. (3) If the answer is not in the knowledge base, say so and offer to connect them with sales. (4) Do NOT invent pricing that is not in the knowledge base.

3Cliente irritado exigindo reembolso.

Cenário:
Customer: This is ridiculous! Your product does not work and I want my money back NOW.
O que fazer:

The AI should: (1) Acknowledge the frustration calmly. (2) Ask for the order number or account email. (3) Explain the refund process. (4) Create a support ticket or escalate to a human agent. (5) Do NOT promise a refund, that requires human approval.

4Caso duplo de billing edge

Cenário:
Customer: I was charged twice this month. My bank shows two charges of $29.99.
O que fazer:

The AI should: (1) Acknowledge the concern. (2) Collect the relevant details (email, dates of charges). (3) Explain that billing issues require human review. (4) Create a Billing department ticket with the details. (5) Set priority to High.

5Cliente multilingue.

Cenário:
Customer: Bonjour, je voudrais savoir si vous livrez en France?
O que fazer:

The AI should: (1) Respond in the customer's language if that language is supported. (2) Answer the question about delivery to France from the knowledge base. (3) If the language is not supported, respond in the default language and mention which languages are available.

6Conversa pós-hora

Cenário:
Customer: Hello, is anyone there? I need help with my account.
O que fazer:

A IA deveria: (1Se configurado para IA após horas, responda e ajude.2Se depois do expediente criar ingressos, diga: "Nossa equipe está offline, eu criei uma passagem de suporte para você e alguém vai acompanhar durante o horário comercial."3) Fornecer o número do bilhete.

7Comprador de comparação pré-compra

Cenário:
Customer: How does your product compare to [Competitor X]?
O que fazer:

The AI should: (1) Describe your product's strengths factually. (2) Do NOT badmouth the competitor. (3) If there is a comparison page in the knowledge base, link to it. (4) If the customer asks about features you do not have, be honest.

8O cliente quer uma recomendação.

Cenário:
Customer: I run a small online store with about 100 orders per month. Which plan is right for me?
O que fazer:

The AI should: (1) Ask clarifying questions if needed (e.g., what features matter most). (2) Recommend a plan based on the knowledge base. (3) Explain why that plan fits their needs. (4) Mention that they can start with a smaller plan and upgrade later.

9Cliente tentando obter um desconto não autorizado

Cenário:
Customer: I saw online that you give 50% discounts. Can I have one?
O que fazer:

The AI should: (1) Politely explain current promotions if any exist. (2) Do NOT create or promise discounts that are not in the knowledge base. (3) If the customer persists, offer to connect them with the sales team.

10 O cliente precisa de ajuda com um recurso.

Cenário:
Customer: How do I export my data? I can't find the export button.
O que fazer:

The AI should: (1) Provide step-by-step instructions from the knowledge base. (2) Include the exact page path and button location. (3) If the feature requires a specific plan, mention that. (4) If the feature does not exist, be honest and suggest alternatives.

Suporte

Roteamento de bate-papo e escalada

Quando uma conversa ao vivo precisa de uma pessoa real, a IA responde duas perguntas: qual time é o dono dessa conversa e quem deve ser informado.

Escolhendo quais departamentos a IA pode usar

Os departamentos movidos para a direita são os únicos que a IA pode encaminhar ou abrir ingressos, tudo o que restar à esquerda é invisível, mesmo que o departamento exista e esteja com pessoal, comecem estreitando e adicionando departamentos como você os atende.

💡
Se nenhum departamento estiver habilitado, OpsIQ Trate isso como uma rede de segurança, não uma escolha de configuração.

Quem recebe a escalada

This is the part most people expect to configure and do not need to. When the AI escalates a chat, OpsIQ emails the people attached to that department. You manage that list once, on the Team and Departments page, and both ticket escalation and chat escalation follow it.

Membros da equipe de departamento

Cada administrador ativo do departamento recebe sua própria cópia, contas suspensas e deficientes são ignoradas.

Administrador primário

Usado quando nenhum membro da equipe está ligado, então uma escalada ainda alcança alguém.

Ninguém se apega

O painel de roteamento marca o departamento em vermelho e a IA não diz ao visitante que um humano foi notificado.

⚠️
O endereço de e-mail do departamento é deliberadamente nunca usado como destinatário, esse endereço é a caixa postal de entrada do departamento, o correio que chega é comparado com os bilhetes abertos, uma escalada enviada lá seria usada como novo bilhete em vez de chegar a uma pessoa.

O departamento de captura de todos.

Exatamente um departamento carrega a marca de "pegar tudo", recebe conversas que a IA não pode confiar no lugar, e é um último recurso em vez do caminho normal.

1
Os sinais claros vencem.

A redação de faturamento vai para um departamento de cobrança, hospedagem e formulação de erro para uma técnica, comprando texto para vendas.

2
O classificador de IA tenta a seguir.

Se palavras-chave são inconclusivas, o modelo lê a conversa e escolhe dos departamentos habilitados.

3
Então o pega-tudo

Só quando os dois não aparecem, o departamento de captura recebe a conversa.

4
O guarda de vendas.

Se a catch-all é um departamento de vendas e o visitante não mostrou sinal de compra, OpsIQ em vez disso, procura um apoio ou departamento técnico, então perguntas comuns de suporte não se acumulam nas vendas.

O que o visitante é dito

Se o e-mail de escalada for enviado, a IA diz ao visitante que a equipe foi notificada, se não puder sair, a AI diz algo honesto e convida-os a deixar a mensagem na conversa, não alegará que um humano foi alertado quando nenhum e-mails foi enviado.

O painel diz "Ninguém para notificar" de um departamento.+

Abra a equipe e os departamentos, anexe pelo menos um administrador ativo, depois recarregue a página de configurações.

As escaladas de bate-papo podem ir para outro lugar além do time?+

Um endereço personalizado previamente guardado para um departamento ainda substitui a lista de equipes, novas configurações devem anexar pessoas ao departamento, então há um único lugar para manter.

Por que minha pegada foi ignorada?+

Verifique se é um departamento de vendas. OpsIQ rotas para um departamento de suporte ou técnico de propósito.

Suporte

E-mail caixas de correio e rascunhos

OpsIQ can connect to email mailboxes to automatically create tickets from incoming email and send replies as email. It also provides AI-drafted replies for human review.

E-mail
E-mail para o bilhete.Um. IMAP Caixa de correio da esquerda alimentando e-mails recebidos em um ticket com uma resposta na direita.E-mailEspaço de trabalho[email protected] · IMAPPedido de reembolso.[email protected]Não é possível entrar[email protected]Cópia da fatura[email protected]Bilhete #1042Do e-mail · BillingEu gostaria de um reembolso para oCarga duplicada...AI rascunhoReveja e envie resposta.1INGESTIMAP & forwarding in2TO TICKETSRodopiado automaticamente.3AI DRAFTSRespostas para revisão
Mande um e-mail. IMAP (ou encaminhamento), transforme cada um em uma passagem roscada, e deixe a IA redigir a resposta para revisão.

Conectando uma caixa de correio

Protocolo

IMAP (a maioria dos fornecedores), Gmail API (Google Workspace), ou Microsoft Graph (Outlook 365).

- É preciso.

Host, porto, criptografia (SSL/TLS), nome de usuário, senha ou senha do aplicativo, pasta (normalmente INBOX).

Mapeamento do Departamento

Mapeie a caixa postal para um departamento de ingressos. [email protected] Criar ingressos no departamento de "Apoio".

Configuração do Gmail (passo a passo)

1
Activar 2- Verificação de passos

Vá para a conta do Google > Segurança > 2-Passar a verificação e habilitá-lo.

2
Criar uma senha do aplicativo

Vá para o Google Conta > Segurança > Senhas do aplicativo. Selecione "E-mail" e "Outros (OpsIQ"Copiar o 16- Senha de caráter.

3
Entre em OpsIQ

Vá para o e-mail > Caixas de correio > Adicionar. imap.gmail.com, porto: 993, encriptação: SSL, nome de usuário: [email protected], senha: a senha do aplicativo.

4
Teste

Clique em conexão de teste. OpsIQ Começaremos a fazer pesquisas para novos e-mails no intervalo configurado.

Outlook 365 setup

1
Cheque. IMAP está habilitado

In Outlook settings > Mail > Sync email, ensure IMAP is enabled.

2
Use senha do aplicativo ou autorização moderna.

Se o MFA estiver ativado, crie uma senha de aplicativo.

3
Entre em OpsIQ

Host: outlook.office365.com, porto: 993, encriptação: SSL, nome de usuário: [email protected].

cPanel webmail setup

1
Encontre as configurações de IMAP

Em cPanel > E-mail contas, clique em sua conta de e-mail para IMAP ajustes.

2
Entre em OpsIQ

Host: geralmente mail.yourdomain.com ou seu servidor hostname, porto: 993 (SSL) ou 143 (STARTTLS), nome de usuário: endereço completo de e-mail.

AI e-mail rascunhos

Quando a resposta automática é definida como modo "Draft", o IA gera rascunhos de respostas que aparecem na fila dos Drafts.

Revisão

Leia o rascunho e verifique se há precisão.

Editar

Modifique o texto, tom ou conteúdo antes de enviar.

Enviar

Aprove o rascunho e envie como resposta por e-mail.

Descarte.

Apague o rascunho se não for apropriado.

Enviar automaticamente

Se a confiança é alta o suficiente e o envio automático estiver ativado, os rascunhos são enviados automaticamente após um atraso configurável.

Por que e-mails não são convertidos em ingressos?+

Check: (1) Is the mailbox connected and healthy? Look for green status in Email > Mailboxes. (2) Is the cron job running? Email polling requires cron. (3) Is the email being filtered or moved to a folder other than INBOX?

Posso usar várias caixas de correio?+

Cada caixa de correio pode ser mapeada para um departamento diferente. [email protected] Vai para o Apoio, [email protected] Vai para Billing.

Suporte

Satisfação do cliente (CSAT)

A CSAT mede a satisfação com o ingresso e o bate-papo, revela respostas infelizes e compara IA e resultados humanos.

Tela de produto
Satisfação do clienteA página da CSAT combina cartões de pontuação, acompanhamento do detractor, comentários, quebras de departamento e agente, e feedback de bate-papo.Satisfação do clienteEspaço de trabalhoRESPOSTAS386AVERAGE4.6POSITIVE91%OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOSeguimento do detractor12 Respostas avaliadas.1–2RevisãoPesquisa de ingressos.Enviado 24h Depois de fecharAutomático.Retorno do bate-papoAI 4.5 · Humano 4.7Comparar- Vista de agente.Pontuação e contagem de respostasTreinador.1WATCH AVERAGEUse tendência, não uma pontuação.2FOLLOW DETRACTORSLeia o comentário.3COMPARE FAIRLYAI e humano
A página da CSAT combina cartões de pontuação, acompanhamento do detractor, comentários, quebras de departamento e agente, e feedback de bate-papo.

As pesquisas de ingressos são programadas após o encerramento (normalmente 24 Uma resposta positiva é uma pontuação de4ou 5Use a fila de detratores para marcar 1 ou2e leia o bilhete/conversa antes de contatar o cliente.

O feedback do chat é relatado separadamente para conversas resolvidas por IA e manuseadas por humanos, tamanhos de amostra baixos não devem ser usados para classificar agentes ou modelos.

Suporte

Equipe, transmissões de e-mail.

A página da Plataforma de Email permite que um operador autorizado envie uma mensagem única para todos os agentes ativos, agentes selecionados ou um departamento e reveja o histórico.

Tela de produto
Plataforma de e-mailO compositor de e-mail mostra o público, assunto, mensagem e histórico de entrega.Plataforma de e-mailEspaço de trabalhoRECIPIENTES12DELIVERED11FALHA1OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOAudiênciaTodos os agentes ativos.SelecionadoAssuntoJulho apoio rotaPronto.MensagemAgenda e notas de escaladaPronto.HistóriaTransmissões anteriores e resultadoVista1CHOOSE PEOPLETodos, selecionados ou equipe.2WRITE CLEARLYAssunto e mensagem3REVIEW HISTORYConfirmar resultado
O compositor de e-mail mostra o público, assunto, mensagem e histórico de entrega.

Esta página é para mensagens operacionais internas, não marketing de clientes, escolha o menor público correto, nomes e endereços de visualização, então envie.

Suporte

Caixas de correio, entrega e e-mail

Configure how OpsIQ sends email, turns inbound messages into tickets and proves the sending domain is ready.

Tela de produto
E-mail de configuraçãoAs configurações de e-mail combinam roteamento, identidade, ingestão da caixa postal, cheques de entregabilidade e e-mails de teste.E-mail de configuraçãoEspaço de trabalhoCONTÍNUOSMTPMAILBOXES3DOMÍNIOPasso.OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOConector preferidoSMTP Conector de provedoresConfiguradoDa identidade.Support <[email protected]>Pronto.IMAP Caixa de correio.[email protected]· INBOX- Poluindo.EntregabilidadeServiços de SPF · DKIMPasso.1CHOOSE OUTBOUNDConector ou SMTP2CONNECT INBOXIMAP or pipe3ENSAIOEnvie e verifique.
As configurações de e-mail combinam roteamento, identidade, ingestão da caixa postal, cheques de entregabilidade e e-mails de teste.

E-mail de saída

Administradores podem escolher o conector de e-mail preferido. OpsIQ Regressa à configuração. SMTP Defina o nome/endereço, envie um teste e verifique o endereço. 24- métricas de sucesso/fracasso.

Caixas de correio

Um. IMAP caixa de correio precisa de um nome, endereço de e-mail, departamento de destino, host, porto, modo de segurança, nome de usuário, senha, pasta, estado de pesquisa e escolha certificado-validação. - Pesquisa agora. para verificar a ingestão antes de esperar por Cron.

Tubulação instantânea

Um servidor remoto pode postar a mensagem bruta no terminal de entrada protegido usando seu token.

Entregabilidade

O controle SPF/DKIM/DMARC é uma evidência consultiva para o domínio configurado.

Suporte

Suporte Portal Studio

Suporte ao Portal Studio projeta e publica a experiência de suporte voltado para o cliente sem precisar de ativos externos de imagem.

Tela de produto
Suporte Portal StudioPortal Studio mostra uma visualização sensível ao lado do tema, navegação, conhecimento, ticket, assistente, formulário, rodapé e controles CSS.Suporte Portal StudioEspaço de trabalhoTEMPLATEModerno.ANTERIORÁrea de trabalhoESTADORascunhoOBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOTemaCores de marca e tipografiaEditarNavegaçãoConhecimento, ingressos, assistente.EditarFormulário de passagemCampos, roteamento e cópiaEditarPublicarValidar e fazer viverRevisão1CHOOSE TEMPLATEComece da estrutura.2PREVIEW SIZESDesktop para celular3PUBLISH SAFELYReveja e solte.
Portal Studio mostra uma visualização sensível ao lado do tema, navegação, conhecimento, ticket, assistente, formulário, rodapé e controles CSS.

Use o modelo como ponto de partida, então configure tema, layout, navegação, pesquisa de conhecimento, formulário de ticket, assistente, rodapé, marca, comportamento do ticket, configuração personalizada CSS e geral.

Suporte

Ganhos de conhecimento

A fila de conhecimento coleta perguntas aos clientes que a IA não poderia responder com confiança para que a equipe pudesse melhorar a cobertura.

Tela de produto
Ganhos de conhecimentoA fila de espera está falhada ou perguntas de baixa confiança e rastreia se a equipe os resolveu.Ganhos de conhecimentoEspaço de trabalhoOPEN GAPS28REPEATED9RESOLVED116OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOLimites migratóriosPerguntado 14 TemposAlto.Suporte de fim de semanaPerguntado 8 TemposMédio.Reembolso timingPerguntado 6 TemposMédio.API regiãoPerguntado 3 TemposBaixo.1REVIEW QUESTIONVeja o contexto da conversa.2CHOOSE FIXArtigo ou prompt3RESOLVEVerifique a próxima resposta.
A fila de espera está falhada ou perguntas de baixa confiança e rastreia se a equipe os resolveu.

Abra uma lacuna para ler a pergunta original e conversar próximo, então escolha o correto: atualizar um artigo existente, criar um novo artigo de conhecimento, adicionar um fato comercial, dados corretos do conector ou mudar instruções de escalada.

Suporte

Administração da página de status

A página de administração do status comunica saúde e incidentes usando componentes, estados atuais e atualizações.

Tela de produto
Administração de statusA administração de status lista componentes e incidentes para que os operadores possam publicar informações claras e com o tempo.Administração de statusEspaço de trabalhoOVERALLOperacionalCOMPONENTES7INCIDENTS1OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOSiteOperacionalVerde.APIDesempenho degradadoVeja.E-mail ingestãoOperacionalVerde.Incidente atualAPI Investigação de latênciaAbra.1UPDATE COMPONENTEscolha o estado de clareza.2POST INCIDENTAtualizações com data marcada.3RESOLVEFeche com resumo.
A administração de status lista componentes e incidentes para que os operadores possam publicar informações claras e com o tempo.

Quando um incidente afetar os clientes, publique um aviso inicial, adicione atualizações com o tempo marcado como fatos mudam e feche com um resumo conciso de resolução. OpsIQ e registros do servidor.

IA

Prepare seu IA.

AI Configuration é onde você escolhe seu fornecedor de IA, modelo e controle de custos. OpsIQ Claude.Anthropic), GPT-4o (OpenAI), Gemini Você pode usar o seu próprio API Chave (BYOK) ou AI gerenciada se disponível em seu plano.

Prepare a IA.
Configuração da IAUm painel de configurações de IA: um Managed-AI / BYOK provedor, um seletor de modelos e um medidor mensal de orçamento.Configuração da IAEspaço de trabalhoConfiguração da IAFornecedorAI GerenciadoSua chave.BYOK)ModeloClaude · balanceadaOrçamento mensal de IA62%1TWO MODESAI gerenciada ou BYOK2PICK A MODELVelocidade vs profundidade3BUDGETSToken caps e controle de custos
Escolha IA gerenciada ou sua própria chave, escolha um modelo para velocidade vs profundidade, e limite mensal de gastos com um orçamento simbólico.

Escolhendo um provedor

Claude.Anthropic)

Forte raciocínio, cuidado com os fatos, bom em seguir instruções complexas.4-20250514, Claude...3.5 Melhor para: conversas de apoio, perguntas técnicas, análise detalhada.

GPT-4o (OpenAI)

Modelos: gpt-4o, gpt4o-mini, melhor para respostas rápidas, escrita criativa, perguntas de conhecimento amplo.

Gemini (Google)

Bom em perguntas factuais, suporte multi-linguagem.gemini-2.0-Flash,gemini-1.5 Melhor para apoio multi-linguagem, buscas factuais.

Azul escuro (xAI)

Respostas rápidas e concisas.3O melhor para respostas rápidas, tom casual.

BYOK vs AI Gerenciado

BYOK (Traga sua própria chave)

Você fornece o seu próprio API Você paga o provedor diretamente, controle total sobre a seleção e uso do modelo.

AI Gerenciado

AI é fornecida como parte de seu OpsIQ - Plano. API Uso é medido com o saldo de crédito da IA do seu plano.

Montagem passo a passo

1
Vá para a configuração da IA.

Na administração de OpsIQ, navegue até configurações > AI Configuração.

2
Selecione o provedor

Escolha seu fornecedor de IA na lista.

3
Entre. API chave

Se estiver usando BYOK, entre no seu API Para a IA gerenciada, isso é feito automaticamente.

4
Escolha o modelo.

Modelos menores são mais rápidos e mais baratos, modelos maiores dão respostas de melhor qualidade.

5
Ligação de teste

Clique em "Teste conexão" para verificar o API A chave e o modelo estão funcionando.

6
Salve

Clique em Salvar para ativar sua configuração de IA.

Controle de custos

Orçamento mensal

Quando o orçamento é alcançado, a IA apresenta graciosamente degradar (respostas mais curtas, sem resposta automática) ao invés de parar completamente.

Limite de fichas por conversação

Máximas fichas por conversa, evita que conversas fugitivas consumam créditos excessivos.

Alerta de equilíbrio baixo.

Quando o seu saldo de crédito da IA cair abaixo do limite (padrão: 50,000 tokens), um aviso aparece no administrador.

Configuração por espaço de trabalho

A configuração de IA é por espaço de trabalho. Se você gerenciar vários sites, cada espaço de trabalhos pode usar um provedor, modelo e orçamento diferentes. O espaço de obra herda padrões globais a menos que sobreponha. Para configurar por espaço: mude para o espaço de serviço, então vá para a configuração de inteligência artificial e salve as configurações lá.

Estou ficando. API Chaves

Anthropic (Claude)

Vá para console.anthropic.com > API Chaves > Criar chave. Copie a chave começando com "sk-ant-".

OpenAI (GPT)

Vá para platform.openai.com > API Chaves > Criar uma nova chave secreta.

Google (Gemini)

Vá para aistudio.google.com # Get API Chave, crie uma chave para o seu projeto, copie a chave.

XAI (Grok)

Vá para console.x.ai > API Crie e copie sua chave.

Testando sua configuração de IA.

Cenário:
After entering your API key, click "Test connection." You should see a green checkmark and a sample response from the AI.
O que fazer:

If the test fails: (1) Check that the API key is correct (no extra spaces). (2) Check that your account has billing set up with the provider. (3) Check that the model name is valid. (4) If using Managed AI, verify your license is active.

Qual provedor é o melhor?+

Claude é excelente para conversas de apoio, GPT-4o é rápido e versátil. Gemini Tente cada um deles e veja qual produz os melhores resultados para o seu caso específico de uso.

Posso trocar de provedor depois?+

Sim, mude o provedor e API O histórico de conversação existente está preservado, a IA usará o novo provedor para conversas futuras.

O que acontece quando eu ficar sem créditos?+

A IA degrada-se graciosamente: respostas se tornam mais curtas, pausas de resposta automática, e o administrador mostra um aviso de baixo equilíbrio.CRMContinue trabalhando sem IA.

IA

Conversa de clientes mais inteligente e barato

Um conjunto de controles que tornam o seu cliente mais inteligente (razão para a conta do cliente como um agente humano) ou mais barato (ele envia menos IA, ou respostas em menos etapas).

Respostas mais inteligentes (modo agente)

Um chatbot normal responde uma pergunta de um olhar. Modo agente. O assistente pode fazer várias verificações de conta somente para leitura em uma única vez e cruzar as referências, por exemplo: "Eu tenho ingressos abertos, e meu saldo é suficiente para minha próxima renovação?" é respondido em uma resposta com a matemática feita.

Modo agente.

Até algumas buscas por turno, cruzadas antes de responder.WHMCS, Shopify, Stripe, Zendesk, etc.) Off = o comportamento de hoje em busca única, inalterado.

Pensar em profundidade para respostas de agentes

Como é difícil o modelo de razões em curvas complexas (low/medium/high) começar no Low; a maioria das perguntas de suporte são bem tratadas lá.

Agente modelo.

Pins um modelo mais forte apenas para agentes complexos gira, então o chat diário fica em um modelo leve, barato e só as curvas duras pagam por profundidade.

Planeje adiante - respostas de um passo (beta)

Um pequeno passo de planejamento decide quais buscas devem ser feitas e se a base de conhecimento é necessária, então responde em uma chamada principal ao invés de vários passos.

Conversa e compreensão

Memória de longa conversação (beta)

Mantém um resumo curto das mensagens antigas (nomes, números de ticket/fatura, quantidades, decisões) para que o assistente permaneça consistente em conversas muito longas sem reenviar toda a transcrição.

Tolerância Typo

Lê pequenos erros de digitação ("meu ticketts abertos", "invocações não pagas") como as palavras pretendidas para que a informação certa seja encontrada em vez de perdida.

Contexto da conta em linha reta

Só liga o instantâneo da conta do cliente quando a pergunta é sobre sua conta (equilíbrio, faturas, bilhetes, serviços), pulando em questões gerais, corta custos sem perda de qualidade, o assistente ainda pode buscar a conta ao vivo quando uma curva precisar.

Poupança de custos

Pular a busca do conhecimento para saudações (beta)

"Oi", "obrigado" e "ok" não desencadeiam uma pesquisa na base de conhecimento, essas respostas nunca usam.

Resposta mais longa permitida (tokens)

Caps how long a single reply can be. Reply length is the most expensive part of a call, so a sensible cap (around 500 for support) is the single most effective chat cost control. Only lowers your global limit, never raises it.

Em Set-up seu IA

Profundidade de pensamento (cliente e conversa administrativa)

Mantenha o cliente conversando no mínimo/baixa para velocidade, reserve configurações mais altas para análise e o co-piloto administrativo.

Modelo Per-AI (por trabalho)

Cada superfície de IA (conversa ao vivo, rascunhos de tickets, resumos, análise, co-piloto administrativo, promoções, Inteligência do Site e muito mais) pode ser executada em seu próprio modelo, luz onde a velocidade importa, forte onde a qualidade importa, em branco sobre uma superfície = predefinição para o trabalho.

Controles de custos de chat administrativo

O copiloto administrativo pode manter uma memória de trabalho limitada e carregar apenas as ferramentas que uma pergunta precisa (ferramentas limpas) em vez de cada ferramenta a cada volta.

No trem, seu IA

Comprimir instruções.

O botão Comprimir reescreve uma fenda para dizer a mesma coisa em menos palavras, recusa a reescrita se ela cairia qualquer regra ou {variable}, e relata o que protegeu, então nunca muda silenciosamente de significado.

"O que já está no cérebro" (i')

Mostra o que OpsIQ Já sabe sobre seus negócios por slot, então você pode excluir qualquer coisa que estava repetindo em suas próprias instruções.

💡
Para um curto bate-papo de suporte, a entrada (instruções + dados da conta + histórico, enviados cada turno) normalmente custa mais do que a resposta curta, cache e contexto magro ajudam mais lá.
Isso muda como a conversa já responde?+

Não, todo controle está desligado por padrão e independente, ligar um só adiciona seu comportamento, desligar retorna o bate-papo exatamente como funcionou antes.

Que ordem devo ligá-los?+

Então, se você tem uma plataforma conectada, habilite o modo agente, então planeje a memória de longa conversa, depois contemple o contexto, salte-KB para cumprimentos e um boné de resposta, comprima suas instruções, assista algumas conversas reais após cada mudança.

O kit de administração: busca na web, livros de execução, missões, transferência de arquivos

O bate-papo da IA do administrador é um engenheiro de trabalho, não apenas uma caixa de perguntas, pode pesquisar correções na web, manter uma biblioteca dos seus procedimentos operacionais, patrulhar seus servidores em uma agenda e mover arquivos, a maioria disso é impulsionado por pedir isso em chat, a única coisa que você configura primeiro é qual provedor de pesquisa na web que usa, na configuração da sua página de IA.

Pesquisa na Web

Construído em

O agente procura documentos, mensagens de erro e informações atuais enquanto funciona.

Runbooks

Em bate-papo

O agente escreve uma após um trabalho complicado e segue-a da próxima vez, então o know-how sobrevive ao fim do bate-papo.

Missões

Agendado.

Patrulhas agendadas só de leitura. "Toda manhã, verifique o espaço em disco e os registros de erros e me diga."

Transferência de arquivos

Em bate-papo

Peça um arquivo de registro e consiga um link privado para download, ou tenha um arquivo copiado de um servidor conectado para outro. 5 MB.

Agente administrativo busca na web (em configurar sua IA)

Provedor de pesquisa.

O padrão é o Google, sem chave, livre, funciona em cada instalação. Serper.dev Normalmente retornam melhores resultados, mas cada um precisa de um API Se um provedor chaveado falhar por alguma razão (chave ruim, cota usada, problemas de rede), essa busca volta automaticamente para o Google, então a pesquisa nunca vai escurecer.

Procure. API chave

A chave para o provedor escolhido, só necessária para Brave, Tavily ou Serper.

Runbooks

Quando o agente acabar de trabalhar num trabalho que você vai querer fazer da mesma forma novamente, diga "salve isso como um livro chamado limpeza noturna".

💡
Um livro de execução é orientação, não um passe livre... quando o agente segue um, cada passo que muda um servidor ainda passa pelo seu modo de permissão atual e mostra os cartões de aprovação... um livro de corrida nunca pode ignorar uma aprovação.

Missões

Uma missão é um trabalho recorrente que o agente executa por conta própria, de hora em hora ou semanalmente, em dia determinado, as missões são somente leituras por projeto, eles podem ler servidores, dados e a web, mas nunca podem mudar nada, eles investigam e reportam, quando uma missão termina, os resultados chegam como uma notificação no seu sino administrativo, diga "corrir a patrulha da manhã agora" para disparar um sob demanda, ou peça ao agente para listar, pausar ou remover missões.

⚠️
As missões fogem. OpsIQ Um "run it now" do bate-papo funciona mesmo entre cron roda na maioria dos servidores.

Movendo arquivos

Peça um arquivo ("me consiga o registro de erros do servidor da web") e o agente o executa e responde com um link particular de download. 5 MB Para qualquer coisa maior, peça ao agente para comprimi-lo ou aparar no servidor primeiro.

O agente também pode copiar um único arquivo entre dois servidores conectados, novamente até 5 MB. A gravação no destino é tratada como qualquer outra alteração que ele faz: no modo de pedido você recebe um cartão de aprovação primeiro, o arquivo existente está com backup e a cópia é reversível.

IA

Treine seu IA

AI Training é onde você ensina. OpsIQ Você escreve prompts que definem personalidade, limites, conhecimento e regras de escalada.

Trem AI
Treine seu IAUm editor de instruções de IA com guias do Cliente/Admin e tom simples, sempre e nunca regras.Treine seu IAEspaço de trabalhoCliente AIAdmin. Al.ToneladasAmigável, conciso, nunca insistente.Sempre.Oferecer uma entrega humana para disputas de cobrança.Nunca.Prometa um reembolso sem checar a conta.1TWO MANUALSCliente e administrador AI2PLAIN ENGLISHTone, sempre, nunca3GROUNDEDAlém de sua base de conhecimento
Treine a IA como um novo contrato, Customer and Admin manuals escritos em inglês simples (tone, sempre, nunca), fundamentado em seu KB.

Duas áreas de treinamento.

Cliente Al prompt

Controla como a IA fala com seus clientes no chat widget.

Admin Al Prompt

Controla como a IA ajuda sua equipe de administração no painel do operador, isto lida com consultas internas e execução de ação.

Escrevendo um grande cliente de IA prompt

Seu cliente deve cobrir essas áreas.

1
Identidade

Dê um nome, papel e personalidade a ela, exemplo: "Você é Luna, uma amiga e experiente assistente de suporte ao cliente da Acme Store."

2
Tom e estilo

"Seja profissional, mas quente, use linguagem simples, evite jargões, mantenha as respostas concisas, não se preocupe.2-3 parágrafos max)."

3
Limites do conhecimento

O que ele deveria saber e não saber? Exemplo: "Você sabe sobre nossos produtos, preços, transporte e política de retorno.

4
Regras de escalada

Quando deve ser entregue a um humano?

5
Coisas para nunca fazer

"Nunca prometa reembolsos, nunca compartilhe fórmulas internas de preços, nunca invente características do produto que não existem, nunca dê conselhos médicos, legais ou financeiros."

Exemplo de alertas

Exemplo cliente AI prompt · loja online
You are Aria, a friendly customer support assistant for TechGear.

PERSONALITY:
- Warm and professional
- Concise (2-3 paragraphs max per response)
- Use simple language, no jargon
- If unsure, say so honestly

KNOWLEDGE:
- Our products: laptops, accessories, software subscriptions
- Pricing: as listed in the knowledge base
- Shipping: free over $50, 3-5 business days standard, 1-2 days express ($12)
- Returns: 30-day money-back guarantee, must be in original condition

ESCALATION (hand off to human):
- Refund requests over $100
- Account security concerns
- Legal threats or complaints
- Customer explicitly asks for a human

NEVER DO:
- Promise specific delivery dates (say "estimated")
- Share discount codes not in the knowledge base
- Make up product specifications
- Give financial or legal advice
Exemplo cliente AI prompt · empresa de hospedagem
You are Atlas, an AI assistant for CloudHost web hosting.

TONE: Technical but accessible. Assume the customer has basic web knowledge.

KNOWLEDGE:
- Shared hosting, VPS, dedicated servers
- cPanel, DNS, SSL, email configuration
- WordPress, Joomla, Drupal installation
- Common error codes and troubleshooting

ESCALATION:
- Server outages affecting multiple customers
- Data loss or security breach reports
- Billing disputes over $50
- Complex migration requests

BOUNDARIES:
- Do NOT access customer servers or databases
- Do NOT change DNS records or passwords
- Always recommend the customer makes changes themselves
- For code issues, suggest steps but clarify you cannot debug their application

Refinando seu alerta com o tempo

1
Lançar com o básico

Comece com identidade, tom e limites-chave.

2
Revisão do AI History semanalmente

Leia conversas onde a IA deu respostas erradas ou subótimas.

3
Atualize o alerta.

Se a IA continuar prometendo reembolso, adicione "Nunca prometa um reembolso, diga que vai aumentar para a equipe de cobrança."

4
Adicione o conhecimento.

Se a IA não pode responder uma pergunta, adicione a resposta à Base de Conhecimento em vez de tentar encaixar tudo no prompt.

⚠️
Mantenha o seu alerta sob 2,000 Palavras, prompts muito longos podem confundir a IA e aumentar os custos das fichas, colocar informações detalhadas na Base de Conhecimento em vez disso.
Qual é a diferença entre o prompt e a base de conhecimento?+

A base de conhecimento fornece informações factuais (detalhes do produto, preços, políticas), a IA lê ambas, mas o comportamento das formas rápidas enquanto o KB fornece respostas.

Posso ter diferentes alertas para departamentos diferentes?+

Se você precisa de comportamento diferente para diferentes departamentos, use a base de conhecimento para fornecer informações específicas e mencionar o contexto do departamento em seu alerta.

IA

AI história

A IA History mostra todas as conversas que a IA teve com clientes e administradores, usa para auditar o desempenho da IA, encontrar respostas erradas e identificar lacunas de treinamento.

AI história
AI históriaUm registro de IA gira com crachás tipo, a pergunta e resposta, tempo de resposta e resultado.AI históriaEspaço de trabalhoCada vez que a IA vira, gravadoConversarOnde está o meu pedido?A: enviado hoje, UPS rastreamento...0.9sansweredticketRedação de resposta para T-12345Reembolso de reconhecimento redigida1.4sdraftedadministradorResumir os ingressos desta semana12_-linha resumo retornado2.1sFeito.ConversarCancele meu plano.Entregue a um humano.0.7sescalated1EVERY TURNProntidão, resposta, ação2SEARCHABLEFiltro & exportação3OWNER-ONLYTrilha de auditoria completa.
Cada vez que a IA vira (chat, ticket rascunho, ação administrativa) registrado com o prompt exato, resposta, duração e resultado.

O que cada conversa mostra

Data e hora

Quando a conversa aconteceu.

Identidade do cliente

Name and email if known, otherwise IP and country.

Canal

Widget de bate-papo, auto-resposta do ticket, rascunho de e-mail ou IA administradora.

Mensagens

Transcrição completa da conversa: mensagens de clientes e respostas de IA.

Uso de token

O uso de alto sinal pode indicar que a IA está dando respostas muito claras ou que a conversa foi em círculos.

Ações tomadas

Qualquer ação que a IA executou durante a conversa (procuraram ordem, criaram o bilhete, etc.).

Avaliação

Se a CSAT estiver ativada, o cliente terá uma avaliação de satisfação para esta conversa.

Encontrar problemas.

Busca por palavra-chave

Procure por tópicos específicos para ver como a IA lida com eles.

Filtrar por classificação

Mostre apenas conversas de baixa audiência para focar em clientes insatisfeitos.

Filtrar por canal

Mostre apenas as respostas automáticas para auditar respostas automatizadas separadamente do bate-papo.

Ordenar por uso de fichas

Conversas de alto nível podem indicar problemas: a IA divagando, andando em círculos, ou não respondendo à pergunta.

Rotina de auditoria semanal

1
Verifique conversas de baixa audiência.

Foi uma lacuna de conhecimento, um problema de tom ou uma resposta errada?

2
Verifique conversas de alto nível.

A IA se repetiu, não entendeu a pergunta?

3
Atualize o treinamento.

Para lacunas de conhecimento, adicione artigos à Base de Conhecimento, para problemas de comportamento, atualize o alerta de IA, para respostas erradas recorrentes, adicione regras explícitas de correção.

Encontrar lacunas de conhecimento

Cenário:
You search AI History for "installation" and find 15 conversations where the AI said "I do not have specific installation instructions for this product."
O que fazer:

Isso significa que sua base de conhecimento está faltando guias de instalação, criar artigos de base de conhecimentos para as etapas de instalação de cada produto, depois de adicioná-los, testar fazendo perguntas sobre a instalação da IA.

IA

Intuições de IA

A IA Insights analisa automaticamente padrões de conversação e revela descobertas acionáveis: perguntas comuns, tendências de satisfação, lacunas de conhecimento e padrões de escalada.

Intuições de IA
Insights Al (Intelligence Hub)O Centro de Inteligência: um resumo da IA de hoje, alertas inteligentes, uma ferramenta Score-a-Lead / Analyse-a Page, e um 14- Mapa de padrões de trânsito.Intuições de IAEspaço de trabalhoO BRIEF DE HOJETrânsito subindo. 12%; 3 Leads quentes;2Os negócios precisam de acompanhamento.Alertas Inteligentes.Erros de checkout aumentaram.Subir em /pricingNova pista quente dos EUAReceita antes da semana passada.Marcar um Lider / Analisar uma páginaIP ou URL…Corra.14- Padrão de Trânsito Dia1O BRIEF DE HOJEAI escreve o resumo da manhã.2SMART ALERTSAnomalias surgiram.3ON DEMANDMarque um lead · Analise uma página
O verdadeiro Centro de Inteligência: um resumo escrito por IA hoje, alertas inteligentes para anomalias, pontuação sob demanda e análise de página, e o 14- padrão de trânsito do dia.

Que insights mostram

Perguntas principais.

As perguntas mais frequentes, se "Como faço para redefinir minha senha?" é #1Sua base de conhecimento precisa de um guia proeminente.

Tendências de satisfação

As notas da CSAT ao longo do tempo, a satisfação com as IA está melhorando ou diminuindo, gotas repentinas podem indicar uma mudança na base de conhecimento que quebrou algo.

Taxa de resolução

What percentage of conversations does the AI resolve without human intervention? A rate above 70% is good. Below 50% means the AI needs more training.

Razões de escalada

Por que conversas são transmitidas aos humanos, motivos comuns: cliente pediu humano, IA não poderia responder, assunto sensível, problema de faturamento.

Ganhos de conhecimento

Tópicos onde a IA diz "não sei" ou dá respostas de baixa confiança.

Comprimento médio de conversação

Quantas mensagens por conversação.10+mensagens) pode indicar que a IA não está entendendo a pergunta.

Usando insights para melhorar

Cenário:
AI Insights shows that 23% of escalations are "Customer asked about warranty" and the AI could not answer.
O que fazer:

This is a clear knowledge gap. Steps: (1) Write a comprehensive warranty article in the Knowledge Base covering all warranty terms, claim process, and exclusions. (2) Update the AI prompt to reference warranty information. (3) Monitor AI Insights next week to see if warranty escalations decrease.

IA

Livro de jogadas da Admin. Al

O administrador Al (Pergunte OpsIQ Ajuda sua equipe a gerenciar.OpsIQ Você pode pedir para procurar dados, explicar recursos, resumir tickets e executar ações na plataforma.

Admin. Al.
Livro de jogadas da Admin. AlO Pedido...OpsIQ Caixa de comando com uma placa de ação proposta por IA mostrando parâmetros e confirmar/cancelar.Pergunte. OpsIQEspaço de trabalhoPergunte. OpsIQSuspenda o serviço por conta atrasada.4821IAAção proposta: suspender o serviçoConta: #4821 (Overdue $120)Plataforma: WHMCS · reversível · auditadoConfirmarCancelar1ASK ANYTHINGComandos simples em inglês.2PROPOSE FIRSTAção mostrada antes de correr3YOU CONFIRMEscopo e auditoria
Diga ao administrador o que quer em inglês, propõe a ação exata (escoberto, reversível, auditado) e espera sua confirmação.

O que a AI pode fazer

Procure os dados.

Pergunte: "Mostre-me todos os ingressos de [email protected]"ou "Qual é o status da ordem #ORD-5523?"

Resuma

Pergunte: "Sumarize o último 10"Quais são as principais questões de apoio esta semana?"

Explique as características.

Pergunte: "Como faço para fazer uma resposta automática?" ou "O que significa a taxa de rejeição?"

Executar ações

Pergunte: "Criar uma passagem para [email protected] sobre faturamento ou "Close ticket T-12345"

Consultas na plataforma

Pergunte: "Quantos visitantes recebemos ontem?" ou "Qual é a nossa receita este mês?"

Conversas de exemplo.

Procurando um cliente

Cenário:
Admin asks: "Find customer [email protected] and show me their recent activity"
O que fazer:

A IA procura o cliente em todas as fontes de dados conectadas, sessões de visitantes, ingressos, conversas de bate-papo, pedidos e contatos CRM, retorna um resumo da atividade recente com links para cada item.

Recebendo um resumo diário

Cenário:
Admin asks: "What happened today?"
O que fazer:

A IA resume: "Hoje você tinha 245 Visitantes (para cima) 12%), 8Novos ingressos.3 resolvido por AI),2Novas ordens totalizando $198, e1"Conversar sobre um atraso no transporte."

Executando uma ação

Cenário:
Admin asks: "Change ticket T-5523 priority to Urgent"
O que fazer:

A IA confirma: "Vou mudar o bilhete T...5523 Isso afetará o temporizador do SLA.

💡
O administrador só executa ações que estão registradas no Registro de Ação. OpsIQ.
IA

Cenários de IA do cliente

Esta seção cobre cenários comuns de IA voltados para o cliente com comportamento e dicas de treinamento esperados.

Cliente AI
Cenários de IA do clienteUma biblioteca de perguntas de clientes emparelhada com o comportamento esperado da IA e uma etiqueta para cada resultado.Cenários de IA do clienteEspaço de trabalhoBiblioteca de cenários, comportamento esperado de IA."Onde está minha ordem?"Procure a ordem através do conector, dê rastreamentoResolva"Eu quero um reembolso"Nunca prometa que vai dar a mão a um humano.Demissão"O serviço está em baixo?"Verifique o status, informe o estado atual.Situação"Cancelar minha conta"Confirme a intenção, então dirija-se a um humano.Confirmar1SCENARIOSPerguntas comuns2EXPECTEDComo a IA deve responder3ENSAIOEncontrem lacunas de treinamento.
Uma biblioteca de perguntas reais sobre clientes e exatamente como a IA deve lidar com cada um, para testar seu treinamento e encontrar lacunas.

Biblioteca de cenários

-Pedido de status da ordem.

Cenário:
Customer: "Where is my order #12345?"
O que fazer:

Expected AI behavior: (1) Look up the order through the platform connector. (2) Report current status (processing, shipped, delivered). (3) Include tracking number if available. (4) If the order is delayed, acknowledge and provide estimated timeline. (5) Never invent tracking information.

Pedido de reset da senha

Cenário:
Customer: "I forgot my password and cannot log in"
O que fazer:

Expected AI behavior: (1) Provide the password reset steps from the knowledge base. (2) Include the reset link or page path. (3) Mention that the reset email may take a few minutes. (4) Suggest checking spam folder. (5) If the customer still cannot reset, escalate to a human.

Pedido de recurso.

Cenário:
Customer: "Can you add dark mode to the mobile app?"
O que fazer:

Expected AI behavior: (1) Thank them for the suggestion. (2) Explain how feature requests are handled (logged, reviewed, prioritized). (3) Do NOT promise the feature will be built. (4) If a similar feature exists, mention it.

Briga de faturamento

Cenário:
Customer: "I was charged but my service is not working"
O que fazer:

Expected AI behavior: (1) Acknowledge the frustration. (2) Check the service status if possible. (3) Escalate to the billing department with all details. (4) Do NOT promise a refund. (5) Set ticket priority to High.

Pergunta fora do tópico

Cenário:
Customer: "What is the weather like in London today?"
O que fazer:

O comportamento esperado da IA:1"Sou sua assistente de apoio e posso ajudar com perguntas sobre nossos produtos e serviços, para informações meteorológicas, tente um serviço meteorológico."2Pergunte se eles têm uma pergunta de produto.

Como faço para testar o comportamento do cliente?+

Abra seu site em um navegador privado e incógnito, converse com a IA como cliente, tente perguntas comuns, casos de borda e cenários contraditórios, verifique se a IA segue suas regras e usa o conteúdo da base de conhecimento corretamente.

IA

Base de conhecimento da IA

A Base de Conhecimento é uma biblioteca de artigos que a IA usa para responder perguntas, quando um cliente pergunta algo, a IA pesquisa a base de conhecimento por artigos relevantes e os usa para gerar uma resposta precisa e fundamentada.

Base de conhecimento
Base de conhecimentoFontes se alimentam de uma loja de conhecimento, e depois uma IA gerando uma resposta fundamentada.Base de conhecimentoEspaço de trabalhoFontesGatilho no siteAjuda artigosPerguntas frequentesDocs importados.ConhecimentoSemântico + palavra chaveIAResposta fundamentadacom uma fonte citada."Reembolsos levam"3–5Dias úteis."1INGESTRasteje, FAQ, importe2RETRIEVESemântico + palavra chave3GROUNDEDRespostas de seu conteúdo
Rasteje seu site e importe documentos para a base de conhecimento, a IA recupera as peças e respostas certas, fundamentadas e citadas.

Como funciona

1
O cliente faz uma pergunta.

"Qual é a sua política de retorno?"

2
AI procura na base de conhecimento

OpsIQ encontra o artigo "Política de Retorno" combinando palavras-chave e significado semântico.

3
AI gera uma resposta.

A IA lê o artigo e escreve uma resposta em linguagem natural baseada no conteúdo do artigo.

4
O cliente tem uma resposta precisa.

A resposta está baseada na sua política, não nos dados gerais de treinamento da IA.

Criando bons artigos.

Um tópico por artigo

Escreva um artigo separado para cada tópico: política de retorno, taxas de envio, configuração da conta, reset de senha.

Escreva como uma FAQ

Comece com a pergunta que os clientes fazem, e depois dê a resposta.

Seja específico.

"Retornos devem ser iniciados dentro 30 Os dias de entrega são melhores do que "temos uma política de retorno".

Inclua casos de borda.

E os retornos internacionais, os produtos digitais, os itens comprados à venda, as exceções?

Mantenha-o atual.

Reveja artigos trimestralmente, apague informações desatualizadas, atualize preços, políticas e procedimentos quando mudarem.

Artigos iniciais que você deveria escrever.

Envio e entrega

Custos de envio, prazos de entrega, rastreamento, transporte internacional e atrasos de manuseio.

Retornos e reembolsos

Janela de retorno, condições, processo, linha do tempo e exceções.

Gestão de contas

Reinicia senha, troca de e-mail, exclusão da conta e exportação de dados.

Preços e faturamento

Planeje descrições, ciclo de faturamento, métodos de pagamento, faturas e moeda.

Guias de produtos

Instruções passo a passo com imagens.

Solução de problemas

Problemas e soluções comuns, mensagens de erro e suas correções.

Informação de contato

Horário de trabalho, canais de suporte, tempos de resposta e caminhos de escalada.

Legal e cumprimento

Privacy policy summary, terms of service summary, GDPR data requests.

Conhecimento do conector

Cada conector pode contribuir com o conhecimento da IA. Quando um conector é ativado, seus artigos de conhecimento incorporados (catálogo de produtos, perguntas comuns, solução de problemas específicos da plataforma) estão automaticamente disponíveis para a IA. Você pode alternar o conhecimento do conector dentro ou fora por conector nas configurações do conector.

Orçamento do token

A base de conhecimento tem um teto de token configurável (padrão: 32,000 tokens) que controla quanto contexto de conhecimento é enviado para a IA por conversação.

Quantos artigos eu devo ter?+

Comece com5-10 A maioria das empresas precisa de mais informações sobre o que você quer fazer. 20-50 Artigos para cobertura abrangente.

Posso importar artigos de outro sistema?+

Atualmente, os artigos são criados manualmente em OpsIQ. Você pode copiar e colar conteúdo de FAQs existentes, centros de ajuda ou documentos.

Em que formato devem estar os artigos?+

O texto simples funciona melhor. HTML Escreva como explicaria a um cliente.

IA

Avaliação de IA e Torre de Vigilância

A avaliação transforma as perguntas críticas do cliente em testes repetitivos para qualidade de resposta, citações, escalada e segurança de ação.

Tela de produto
Avaliação de IAAI Evaluation lista casos de teste dourados, comportamentos necessários, resultados recentes e corridas programadas da Torre de Vigia.Avaliação de IAEspaço de trabalhoSETS6CASES84PASS RATE96%OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOPolítica de navegaçãoCitação necessária.Passo.Pedido de reembolso.Confirmação humana necessária.Passo.Não suportada.Ação ProibidaPasso.Pergunta sobre migraçãoEspera-se que a fonte esteja desaparecida.Falhar.1CREATE CASESEntrada dourada e regras2RUN SAFELYCorrida ou avaliação ao vivo3WATCHAgenda diária ou semanal
AI Evaluation lista casos de teste dourados, comportamentos necessários, resultados recentes e corridas programadas da Torre de Vigia.

Administradores completos podem criar conjuntos de avaliação com etiquetas de fonte rápidas, necessárias citações, regras de confirmação humana, expectativas de escalada e ações proibidas.

Torre de Vigilância Reveja falhas ao lado do provedor/modelo, versão rápida, versão de conhecimento, ações propostas e custo antes de mudar o comportamento da produção.

IA

Línguas e tradução

Linguagens gerenciam texto voltado para o cliente traduzido e o comportamento usado quando OpsIQ segue a linguagem de um cliente.

Tela de produto
LínguasA página Linguagens mostra a língua de origem, línguas traduzidas, rascunho/estado vivo e comportamento da linguagem do cliente.LínguasEspaço de trabalhoFONTEInglêsLANGUAGES4VIDA3OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOFrancêsInterface e conteúdoVivaAlemãoInterface e conteúdoVivaEspanholTradução do rascunhoRascunhoSiga o cliente.Responda em linguagem detectada.Adiante1SET SOURCELíngua original do operador2ADD LANGUAGETraduza em segundo plano.3PUBLISHRascunho ou vivo
A página Linguagens mostra a língua de origem, línguas traduzidas, rascunho/estado vivo e comportamento da linguagem do cliente.

OpsIQ traduz texto voltado para o cliente com operador. Definir a linguagem de origem corretamente antes de criar traduções, adicionar línguas-alvo, em seguida, revisar rascunhos antes de publicar. “Siga idioma do cliente” controla a linguagem da resposta; tradução da interface widget controla seus botões, etiquetas e texto do sistema.

Não se confie na tradução automática para o texto legal, de reembolso, segurança ou segurança sem revisão humana.

Cada lugar que contém sua própria redação é listado com a contagem de mensagens: mensagem de bate-papo do cliente, promoções, mensagen proativa, fluxos de bate papo, visitas guiadas, anúncios, bolhas e teasers. Pesquisas e formuláriosA superfície da pesquisa cobre cada pesquisa publicada completamente: título, cada pergunta, cada opção de resposta, botões, bem-vindo e obrigado copiar, página cromo e páginas de resultados. Chaves estão ligadas à identificação da questão e o valor da opção, então reordenar perguntas ou opções nunca perde uma tradução, e reformular uma mensagem traduz apenas essa mensagem.

O e-mail do post-chat segue o idioma que o visitante realmente conversou, desde que o idioma seja um que você oferece aqui, caso contrário ele usa seu sistema de linguagem.

Bilhete e mensagens do portal (A AI auto-replica não precisa de nada disso, já responde na língua do cliente.) E-mail clientes em sua própria língua Ativado OpsIQ Escrevendo, o e-mail do ticket resolve a língua do destinatário nesta ordem: a linguagem que eles escolheram no portal ou Centro de Ajuda (tratado para o ticket), o local em seu registro de contato, então o idioma em que eles escreveram, detectado localmente por alcance de script e palavras de marcador, sem chamada externa. HTML E-mail voltado para o pessoal (notificações, alertas de departamento, relatórios de analistas, relatórios agendados, a digest semanal) sempre usa a linguagem do sistema.

Suporte

Centro de ajuda

Os clientes podem ler e pesquisar em sua própria página pública, e dentro do widget de chat, para que eles possam encontrar respostas por conta própria antes de abrirem uma conversa.

Onde seus clientes o vêem.

Sua própria página pública

Um local limpo e pesquisável de ajuda em /help.phpOs clientes navegam por categoria, pesquisam e abrem qualquer artigo, você pode dar seu próprio nome e estilo.

Dentro do widget de bate-papo

Um link de ajuda no widget do chat para que os clientes possam pesquisar seus artigos sem deixar o chat.

Ligue-o.

1
Abra a página da Central de Ajuda.

Vá para Config, then Help Center Em seu administrador e ligar Habilitar Centro de Ajuda Pública.

2
Dê-lhe um nome e uma olhada

Defina o nome da Central de Ajuda, que aparece no cabeçalho e na guia do navegador, e escolha um estilo visual.

3
Publicar alguns artigos

Nada aparece até publicar artigos, a próxima parte cobre como.

Publicar artigos para a Central de Ajuda

Artigos ao vivo em sua base de conhecimento, um artigo aparece na Central de Ajuda quando é publicado e marcado público.

Publicar um artigo

Abra o artigo, marque que foi publicado e ligue a opção para mostrá-lo na Central de Ajuda.

Publique tudo de uma vez

Use o Publicar tudo botão para carregar todo o seu conjunto publicado para a Central de Ajuda em um clique, em vez de fazê-los um de cada vez.

Transforme FAQs em artigos.

Já tem perguntas frequentes? Publique tudo para ajudar para transformá-los em artigos de ajuda para que eles se sentam ao lado de tudo mais.

Importar uma base de conhecimento existente

Mudando de outra mesa de ajuda? Importar KB O botão na guia Artigos traz uma base de conhecimento existente para você.

Colar a URL

Se ele reconhece a plataforma (por exemplo, Zendesk) ela lê a árvore de categorias exata daquela plataforma. Caso contrário, rasteja o site e reconstrui a estrutura das páginas, importando apenas os artigos reais e pulando as páginas de login, preços e contatos.

Escolha um aplicativo conectado.

Se uma plataforma já está conectada a este espaço de trabalho e possui uma base de conhecimento, ela aparece em um dropdown sob Importar de um aplicativo conectadoSelecione e importe, não precisa de URL ou senha.

Envie um CSV

Não há site ao vivo para apontar? title, category, e body -Columns. Parent / Child na coluna de categoria para construir categorias aninhadas.

Qualquer maneira que você escolher, você tem um Previsão primeiroOs artigos que encontrou, agrupados por categoria, cada um com uma caixa de seleção para que você possa largar tudo o que não quiser. Desfazer Toda a importação em um clique, ou Re-sincronia a URL ou a importação de aplicativos conectados mais tarde para trazer novos e alterados artigos.

💡
Desenvolvedores: qualquer conector pode anunciar sua base de conhecimento para esta gota abaixo declarando um kb_capabilities Bloqueie em sua settings.json (tipo kb_source, com um adapter e um base_templateVeja a seção Conectores e a referência de conexão plataforma.

Organize com AI

Um centro de ajuda arrumado é fácil de procurar e mais fácil de pesquisar. Organize com AI Em um clique, ele lê seus artigos publicados, os classifica em categorias sensatas e adiciona etiquetas, cria uma categoria quando precisa de uma, reutiliza uma categoria que já se encaixa e ignora tudo o que você já organizou, para que possa executá-la novamente quando adicionar novos artigos. Deixe que a IA organize em subcategorias. Em configurações da Central de Ajuda e também pode arquivar artigos sob aninhado Parent / Child Categorias, que é útil logo após importar uma base de conhecimento que tinha sub-seções.

💡
Categorias dão aos clientes uma maneira de navegar, e etiquetas afiam a busca na página pública e no widget.

A Central de Ajuda dentro do seu widget de bate-papo

Você pode mostrar a Central de Ajuda dentro do widget de bate-papo para que as pessoas procurem respostas antes de enviarem mensagem.

No cabeçalho

Um pequeno ícone de ajuda no topo do widget.

No fundo

Um link de texto sob a caixa de mensagem, por exemplo "Procurar centro de ajuda".

Em ambos os lugares.

Mostre no cabeçalho e no fundo para maior visibilidade.

O link de ajuda tem seu próprio controle de cor sob as configurações de aparência do widget. Nenhum. para combinar com a cor do lançador, ou escolher um Sólido cor ou um GradienteToda a experiência de ajuda segue o tema do widget, então sempre parece parte da sua marca.

Coloque seu centro de ajuda no seu próprio endereço web.

Fora da caixa, seu centro de ajuda já tem um endereço limpo e compartilhável. /help/your-help-centerVocê pode ir um passo mais longe e servi-lo sob seu domínio próprio, assim os clientes e motores de busca vê-lo como parte de sua marca, por exemplo yourdomain.com/help Ou help.yourdomain.comTudo continua trabalhando em seu domínio: links, imagens, buscas e audiências de artigos.

Sob o seu site principal.

Em Config, depois Centro de AjudaAbra o Incorporar Veja e encontre "Mostre seu centro de ajuda em seu próprio endereço web".Cloudflare Cada opção tem um bloco pronto para ser colado em seu site. Guia de configuração botão ao lado com os passos exatos.

Em um subdomínio

Preferir help.yourdomain.comO mesmo painel tem uma opção de subdomínio. Cloudflare Um subdomínio é a rota mais confiável, e lhe dá um endereço limpo sem nada depois.

💡
Usando Cloudflare Ele só passa o seu trabalhador em um endereço que é aproximado Cloudflare O seu domínio principal muitas vezes aponta diretamente para o seu site, então uma regra colocada no domínio principal pode silenciosamente não fazer nada. help.yourdomain.comO guia de configuração te leva até o primeiro. DNS registro e a rota.
Bom para você.SEOUma vez que seu centro de ajuda esteja em seu próprio domínio, os motores de busca indexam seus artigos sob sua marca.
💡
Usando o link de ajuda no banheiro também? Onde a ligação vai para Seu próprio domínio de ajuda central Então, esses links de artigos abrem no seu domínio também, não no endereço OpsIQ.

Veja como todo o seu centro de ajuda está indo.

Além dos votos de um único artigo, a Central de Ajuda tem seus próprios analyticsLigue-o nas configurações da Central de Ajuda e ele registra silenciosamente como as pessoas usam sua ajuda: os artigos mais vistos, o que eles procuram, e pesquisas que voltaram vazias (uma lista pronta para escrever), trabalhando no país visitante e dispositivo por conta própria, então não precisa do widget de chat instalado para relatar. both coloca sua ajuda em cena, a página pública e a ajuda in-widget, bem como combinada, para que você possa ver o quanto cada uma é realmente usada.

💡
O Analytics fica desligado até você ligar, e você pode ter visita. IP Nada é gravado antes de você optar por entrar.

Escolha o que aparece em cada parte da página.

Cada seção da Central de Ajuda (as categorias na página inicial, os artigos populares, a lista de artigos em uma página de categoria e muito mais) tem sua própria regra simples. all itens, a Número de ajuste, o ÚltimoOu apenas aqueles que você feature Quando uma regra fecha uma lista, os clientes ainda recebem um link "Mostre tudo", então nada está realmente fora de alcance.

Você também decide como os votos úteis são: ocultos, uma proporção amigável como "12 de 14 Uma configuração de votos mínimos para um artigo novo mostrando algo estranho.0Fora.0".

Veja quais artigos estão funcionando.

Cada artigo mostra uma Isso foi útil? Cada sim ou não é contado por artigo, então você pode ver de relance quais artigos respondem bem às perguntas e quais precisam ser reescritos.

Texto e rótulos

Você pode mudar os títulos e rótulos da Central de Ajuda para combinar sua voz, deixar qualquer campo em branco e ele cai de volta a um padrão razoável, então você só editar a redação que você realmente quer mudar.

A Central de Ajuda compartilha uma biblioteca com sua IA.

Perguntas comuns

Preciso escrever conteúdo separado para a Central de Ajuda?+

Não, é construída a partir dos mesmos artigos de base de conhecimento que a IA já usa, publica um artigo uma vez e pode servir aos dois.

Posso manter alguns artigos internos?+

Sim, só os artigos que publica e marca o público aparecem na Central de Ajuda, qualquer coisa não publicada fica fora disso.

Os clientes ainda conseguirão alcançar uma pessoa?+

O link de ajuda do widget fica a um passo de começar uma conversa, então o auto-servir nunca prende ninguém.

Crescimento e SEO

Inteligência do site (Suite SEO)

Inteligência do site éOpsIQEstá embutido.SEORasteja seu site como um motor de busca, rastreia onde você classifica, pesquisa palavras-chave, relógios backlinks e concorrentes, verifica sua presença no mapa local, verifica a velocidade da página, e transforma tudo em relatórios prontos para o cliente, com um analista de IA que explica o que corrigir e pode redigir as correções.

Inteligência do site
Painel de Inteligência do SiteUm painel de SEO mostrando uma pontuação no site, rastreio de palavras-chave e tendência de tráfego.Inteligência do siteyoursite.com86SITE SAÚDE3 Questões críticasRastreamento de linha de palavras-chaveAi helpdesk#3-Conversa ao vivo.#7CRM para agências.#12Clicks orgânicos1RASTREAREncontra problemas técnicos.2TRACKRanks, palavras-chave, backlinks3ANÁLISE DE AIExplica e corrige os rascunhos.
A visão geral da Inteligência do Site: uma pontuação de saúde no site, do último rastreamento, rank keyword ao vivo, uma tendência orgânica-cliques, e o loop de três passos: rastejar, rastrear, deixar a IA redigir as correções.

Corra um rastejo. Comece aqui.

Um rastejo é OpsIQ Visitando suas páginas como um motor de busca, para encontrar problemas técnicos: links quebrados, títulos faltando, conteúdo fino, páginas lentas, problemas de indexação.

1
Comecem a rastejar.

Na visão geral, clique para começar um rastreamento. OpsIQ Faz fila e trabalha em suas páginas ao fundo, um indicador de status mostra progresso.

2
Leia os relatórios.

Quando terminar, abra os números e a lista de páginas.

3
Deixe o IA ajudar.

O analista de IA produz um resumo simples do que está errado e por que isso importa, e pode gerar correções sugeridas que você reveja antes de se candidatar.

Que site a Inteligência rastreia

Rastejando e saúde local

Analisa suas páginas por problemas técnicos de SEO e lista todas as páginas com seus problemas.

Rastreamento de patente.

Adicione as palavras-chave que você gosta; OpsIQ Verifica onde seu site está e rastreia o movimento ao longo do tempo.

Pesquisa de palavras-chave

Descubra novas ideias de palavras-chave para o alvo, com a palavra-chave treinador da IA para ajudar a priorizar.

Links de volta

Veja quem liga a você, refresque a lista e renuncie aos links que não quer associados ao seu site.

Concorrentes

Adicione domínios de concorrentes e compare sua visibilidade com a deles, com uma análise do concorrente de IA.

Grade local

Analisem a visibilidade local através de uma grade geográfica para ver onde você aparece no mapa, e ferramentas do perfil de negócios do Google.

Velocidade da página

Faça verificações de velocidade para consertar páginas lentas que ferem rankings e conversões.

"Conteúdo de IA"

Gere resumos de conteúdo e rascunhos voltados para as palavras-chave que você está mirando.

Relatórios

Construa relatórios imprimíveis, prontos para clientes de tudo acima.

Conecte o Google para obter dados precisos.

Dois conectores do Google transformam estimativas em números reais:

Google Search Console

Busca

Puxe as perguntas exatas, cliques e impressões Relatórios do Google para seu site, mapeie sua propriedade e oportunidades de classificação da superfície diretamente dos dados do próprio Google.

Google Analytics 4

Tráfego

Traga seus dados de tráfego e engajamento junto com seus dados do SEO, então os relatórios mostram visibilidade e comportamento juntos.

Atualizações agendadas e relatórios de etiqueta branca

Você não tem que correr tudo à mão, as atualizações programadas são re-run crawls, cheques de classificação, verificação de palavras-chave, atualização de backlinks, varreduras locais e geração de relatórios em uma cadência (diária ou semanal dependendo do plano e volume). OpsIQ Cron, veja a seção de Cron e automação, relatórios gerados exportam como documentos imprimíveis prontos para o cliente: agências enviam a cada cliente uma atualização regular do SEO, e porque os dados de cada domínio são separados, cada cliente só vê seus próprios.

Alguns recursos da Inteligência do Site chamam provedores de dados externos e IA através OpsIQ Eles trabalham fora da caixa quando a suíte está habilitada para o seu plano.OpsIQ Cron está rodando (ver Cron e automação).
Preciso adicionar algo ao meu site para rastreamento de SEO?+

Rastejando, rank tracking, pesquisa de palavras-chave e backlinks funcionam sem tocar em seu site para tráfego e dados exatos de busca, conecte o Google Search Console e GA4.

Posso rastrear mais de um domínio?+

Adicione cada domínio separadamente, seus rastreios, rankings e relatórios ficam totalmente isolados um do outro.

Com que frequência devo rastejar?+

Semanal é o bastante para a maioria dos sites, rastejar sob demanda após uma grande mudança de conteúdo ou estrutura, definir um horário para que você nunca esqueça.

Crescimento e SEO

Auto-Implementação (Agente SEO)

Auto-Implemento é a parte da Inteligência do Site que aplica as correções que o rastreador e analista de IA recomendam, em vez de apenas aconselhar você. O agente trabalha estritamente a partir do que a Inteligência do site já encontrou (que nunca pode inventar uma mudança) e caminha cada correção através do mesmo loop seguro: uma pré-visualização de corrida a seco, sua aprovação por passo, a escrita ao vivo, um instantâneo automático, e um re-crawl que prova que a contagem de questões abertas caiu. É uma característica Managed-AI-only; aparece como a ação Auto-Implemento (rocket) dentro da seção de Inteligência do Local, e está desligado até que você ligue.

Auto-Implementação
Auto-Implementar agente SEOUm fluxo mostrando correções recomendadas de SEO movendo-se através da pré-visualização, aprovação e uma escrita ao vivo, com um comprovativo re-crawl.Auto-Implementaçãoyoursite.comConsertos recomendadosAdd missing <title>aprovadoConserte robôs.aprovadoEnvie o mapa do site.xmlreviewPREVISÃO DE DRY-RUN (DIFF)+ <title>AI Helpdesk - OpsIQ</title>+ <meta name=description ...>- <title>Home</title>AprovarSkip.Prove-o - RE-CRAWLProblemas em aberto. 124-Snapshot salvo.1ANTERIORDiferença de cada correção.2APROVAR E ESCRITASSH ou hospedado API3Provem, rollbackRe-crawl + instantâneo
Como uma sessão corre: o agente lista as correções de Inteligência do Site já recomendadas, mostra um diff seco de cada um, aplica os que você aprova mais SSH ou um anfitrião. API, fotos antes de cada escrita, e recriar para provar que a contagem em aberto caiu.

O que pode mudar

O agente só aplica correções que a Inteligência do Site (ou o analista de IA) já recomendou para esse domínio.

Configuração do servidor

Sitemap.xml, robots. txt, e redirecionar, regras canônicas e cabeçalho em . htaccess (Apache / LiteSpeed) ou na configuração nginx.

Redirecionar correntes

Recolher uma corrente de redirecionamento multi-hop para um único salto direto para a final. URL, dentro do mesmo bloco gerenciado .htaccess, então velocidade e valor da ligação parar de vazar através do salto extra.

Page <head>

Títulos de página ausentes ou fracos, meta-descrições, etiquetas canônicas e blocos estruturados de dados (squema).

WordPress SEO

Yoast, Rank Math e SEOPress títulos e meta, e imagem alt texto, aplicado através WP-CLI no caminho SSH ou o REST API no caminho hospedado.

WordPress structured data

Adiciona JSON-LD (squema) a páginas que estão faltando. No caminho SSH um pequeno ajudante gerenciado (um plugin de uso obrigatório) imprime a marcação para que funcione com ou sem um plugin SEO; no caminho hospedado seu plugin SEO carrega-o.

Ligações internas

Adiciona uma ligação interna relevante dentro da existência. WordPress Um link por página, nunca dentro de um cabeçalho, um link existente ou um shortcode, e sempre aprovado por você primeiro.

Conteúdo de páginas finas reescritas

Todos os projetos são revisados e aprovados por você antes de qualquer coisa publicar, e o conteúdo antigo é mantido para que possa ser restaurado.

Cache de página (WordPress)

Liga o cache de página W3 Total Cache quando o rastreamento encontra problemas de velocidade e que plugin é instalado, então páginas servem mais rápido.

Shopify SEO

Produto e coleção SEO títulos & descrições, página e blog-artigo SEO, mais 301 redireciona, através da Shopify Admin. API.

Webflow SEO

Per-page SEO title and meta description through the Webflow Data API v2.

Prepare as correções automaticamente (duas opções de rastreamento)

O painel de configuração do Site para um domínio (settings) tem duas opções que decidem quanto o agente faz filas para você antes do tempo.

Auto-preparar IA conserta depois de cada rastejar

Cada rastejo também escreve o conteúdo de correção de concreto (títulos, meta descrições, texto alt, esquema, redirecionamentos) para o que encontrou, então as correções estão prontas para revisar e aplicar o momento em que o rasteje termina em vez de ser gerado mais tarde sob demanda.

Conteúdo de IA reescreverá

O agente pode redigir conteúdo de substituição para páginas finas, nada é publicado por si só, cada rascunho aparece como uma mudança que você revisou lado a lado e aprovou ou rejeitou, o conteúdo anterior é mantido, então ele é reversível, e está limitado a algumas páginas por passe.

💡
Cada mudança ainda passa pela mesma aprovação, instantâneo e retrocedendo como qualquer outro remédio, então ligá-los nunca coloca nada ao vivo por si só.

Duas maneiras que ele conecta

SSH / SFTP path

Auto-gerenciado

Para sites em seu próprio servidor, o agente se conecta. SSH/SFTP usando credenciais que você armazena, edita a configuração do servidor e arquivos de página diretamente, e executa WP-CLI para WordPress Melhor quando você tem acesso de shell e quer controle total dos arquivos.

Hospedado...API caminho (não SSH)

Sem concha.

Para plataformas que não permitem SSH, o agente trabalha inteiramente através de um oficial API Conector, WordPress (REST + senhas de aplicação), Webflow (Dados API V2) e Shopify (Admin API Nada está instalado no hospedeiro.

💡
Wix e Squarespace não têm SEO-escrita pública API, então nessas plataformas o Auto-Implemento é executado em modo consultivo: mostra a mudança exata para fazer (o título preciso, meta ou configuração) para você aplicar à mão.

Ligue os conectores.

O agente chega a cada plataforma através de um conector:

Construído em

Shopify e WordPress Conectores de nave com OpsIQ, apenas habilitá-los sob conectores e adicionar a loja / site credenciais.

Do Mercado

Webflow_, Wix e Squarespace instalar de Conectores → Marketplace, em seguida, conectar da mesma forma.

Como uma sessão funciona

1
Escolha as correções.

Abra o Auto-Implemento (rocket) da seção de Inteligência do Site, lista os problemas que a Inteligência do site já descobriu que pode corrigir neste domínio.

2
Visualize cada mudança.

Para cada correção o agente mostra uma diferença de corrida (exatamente o que ele vai escrever) antes de qualquer coisa tocar no local ao vivo.

3
Aprove passo a passo

Você aprova (ou ignora) cada mudança individualmente, nada é aplicado sem sua autorização explícita nesse passo.

4
Escreve, depois instantâneos.

Na aprovação, o agente faz a mudança ao vivo SSH Ou o anfitrião. API E salva uma foto primeiro, para que qualquer mudança possa ser revertida.

5
Prove, viva

Quando se aplica cada mudança, o agente verifica imediatamente essa página exata e mostra um veredito "consertado ao vivo" por etapa, então você vê cada correção pousar na página ao vivo como acontece.

Segurança e faturamento

Só SEO.

O agente só pode fazer o que a Inteligência do Site recomendou para esse domínio, não pode fazer alterações arbitrárias no seu site ou servidor.

Aprovação por passo

Cada escrita é exibida como uma diferença e aplicada apenas depois de aprovar esse passo específico.

Snapshot e retroceder

Uma foto é salva antes de cada escrita, então qualquer mudança pode ser revertida.

Viva por passo à prova.

Cada página mudada é re-verificada no momento em que for escrita e recebe um veredito ao vivo, então uma correção é confirmada contra a página ao vivo imediatamente, não só na recriação final.

O conteúdo nunca é publicado automaticamente.

Links internos e reescrita de conteúdo de páginas finas são de maior impacto, então eles sempre são mostrados para você aprovação e nunca são aplicados automaticamente, seja qual for o modo que você executar.

Apenas a IA gerenciada.

Auto-Implemento é executado na IA gerenciada; ele é bloqueado quando um espaço de trabalho está usando o seu próprio (BYOK) chaves.

Contagem

AI tokens Bill normalmente como você usá-los, mais uma taxa por uso plana por sessão de Auto-Implemento, ambos extraídos do mesmo crédito Gerenciado-AI.

Auto-Implemento está desligado por padrão. Habilite na página de configuração da IA (Cartão de Auto-Implemento) e certifique-se que o conector para sua plataforma esteja conectado primeiro.
Isso muda alguma coisa sem perguntar?+

Cada mudança é visualizada como uma diferença de corrida e aplicada apenas depois que você aprovar esse passo exato.

Eu preciso? SSH Acesso?+

Não, não. WordPress, Shopify ou Webflow Eles trabalham através de seu oficial APIs Sem acesso a conchas. SSH é apenas um dos dois caminhos, usado quando você quer que o agente para editar configuração do servidor e arquivos diretamente em seu próprio servidor.

Como sei que funcionou?+

Depois de aplicar as correções aprovadas o agente re-rawls o site e mostra a contagem de questões abertas antes e depois, para que você possa confirmar que as correções reduziram os problemas.

Será que vai reescrever ou publicar conteúdo de página por conta própria?+

Não, o conteúdo da IA está desligado até que você os ligue nas opções de rastreamento, eles são limitados a algumas páginas finas por passe, e todo rascunho é mostrado para aprovação lado a lado antes de qualquer coisa ser publicada.

Posso usar com minhas chaves de IA?+

Não, o auto-implemento é apenas gerenciado e está bloqueado. BYOK Ele cobra fichas de IA normalmente mais uma taxa fixa por uso por sessão, do mesmo crédito Managed-AI.

Crescimento e engajamento

Estúdio de Pesquisas

O estúdio de pesquisas é o espaço de trabalho para criar pesquisas editáveis que podem ser entregues como uma página independente rica, widget do site ou inline embed.

⚠️
Limite atual contra alvo: A experiência de criação e pré-visualização premium, Connector Builder survey O estúdio de pesquisas ainda precisa da arquitetura independente de multi-implantação, porta de identidade assinada, fiação variável e alvo, fluxo de transmissão do CRM e digitação. surveys.* API.

Faça uma pesquisa.

1
Escolha como as pessoas vão aceitar.

O assistente atual oferece página e link Standalone, widget do site e incorporação em linha.CRME-mail, ligações privadas e implantações QR como escolhas de primeira classe.

2
Escolha o propósito.

Escolha NPS, CSAT, CES, feedback do produto, pós-compra, cancelamento, onboarding, site, evento, webinar, suporte, chumbo / demonstração, julgamento, testemunho, pesquisa, funcionário, ingestão ou feedback geral.

3
Use um modelo completo ou comece em branco.

O catálogo atual tem entradas editáveis prontas agrupadas por propósito.

4
Personalize ou reveja rapidamente.

A revisão rápida abre o mesmo rascunho na verificação final da visão do cliente, nada publica ou envia automaticamente.

Escolhas de entrega e comportamento presente.

Página e link autônomos

Uma página de marca responsiva com sua própria URL Use convites privados e expire quando cada destinatário precisar de um link controlado.

Widget do site

O canal legado migrado pode usar página, geografia, dispositivo, visitante, data, amostra, arrefecimento, visita e regras de cota, ainda é apoiado pela ponte ativa-vigida do legado enquanto a arquitetura de implantação é construída.

Incorporação em linha

Uma pesquisa sensível colocada dentro de uma página, portal, produto ou centro de ajuda.

E-mail

Hoje o estúdio pode gerar convites. HTML Enviar de ponta a ponta de contatos/segmentos CRM, com consentimento, supressão, agendamento, retentação e correlação de resposta, é o alvo aprovado de integração CRM Outreach.

Design e visualização da empresa.

As páginas de pesquisa têm temas e famílias de layout de página, controles responsivos, cópia de boas-vindas e completação assinadas, e uma prévia do rascunho assinado.

💡
O estúdio de pesquisa é independente do estúdio de promoção, o direcionamento em tempo de execução, identidade, ativos, renderização e análise deve ser propriedade da pesquisa, o conteúdo da promoção pode ser reutilizado apenas através de uma cópia/importação explícita que cria dados separados da pesquisa e as edições posteriores da promoção não devem ter efeito.

O produto completo.

implantações independentes.

Viva

Uma pesquisa pode ter páginas, widgets, incorporação, e-mails de CRM, links privados e implantações QR, cada uma com seu próprio estado, design, audiência e análise.

Esforço e campanhas de CRM

Viva

Construa uma audiência verificada de segmentos CRM e conectores com capacidade para pesquisa, congele-a em uma versão imutável, faça um convite assinado cada, e envie através do conector de email fixo com a prova de entrega por convite.

Kit de campo e validação.

Viva

Sliders, escolha de imagem, upload de arquivos, assinatura, endereço, telefone, cabeçalhos e texto rico, com comprimento min/max, e-mail /URL Predefinições do número, texto de erro personalizado e prefil por pergunta URL Parâmetros.

Lógica, fórmulas, resultados

Viva

E/ou grupos de condição, regras de filial, um motor de fórmula segura sobre respostas, e bandas de pontuação que carregam sua própria página de resultado: um teste marcado cai em seu veredicto.

Linguagem, quiosque, prefil

Viva

Um visitante listando apenas idiomas com traduções reais, modo quiosque para tablets compartilhados (alvos maiores, auto-redefinição, sem redirecionamento), um construtor de links pré-preenchimento, e texto de segurança editável.

Teste A/B

Viva

Publicar uma versão desafiante em qualquer implantação com uma divisão de tráfego, os visitantes são atribuídos com firmeza, as respostas são carimbadas com a versão realmente servida, e a tabela de comparação mostra respostas, conclusão e pontuação média por versão.

Digerir semanalmente

Viva

Um e-mail semanal com o último 7 dias de pesquisa KPIs, as pesquisas mais movimentadas, o pulso de Feedback e a última reunião da IA, enviados através do conector de saída preso.

Governação

Viva

Listas de acesso por pesquisa restringem quem pode editar, publicar ou excluir uma pesquisa.

Plataforma de desenvolvimento

Viva

Contrato de conexão 2.2, pesquisas digitadas. * e feedback.* ações sobre api V1, levantamento canônico. * eventos, webhooks assinados duráveis com formatos de relé Slack e Google Sheets, e uma resposta PDF Exportar.

Crescimento e engajamento

Análise de Inquérito e Feedback são produtos diferentes.

O feedback explica o que os clientes disseram em todas as fontes permitidas e o que o negócio deveria fazer sobre isso.

Análise de Inquéritos

Ele mede a elegibilidade, exposição, comportamento de gatilho, inícios, conclusão, abandono, atrito de perguntas e ramificações, tempo, resultados de implantação/campanha/versão e confiabilidade do tempo de execução.

Visão geral e caixa de entrada

Uma permissão para respostas completas, feedback de widget legado, chat e ticket CSAT, retorno de resposta de ticket, avaliações de respostas de clientes, votos úteis de base de conhecimento e fontes externas/custom aprovadas.

Análise de Feedback

Analisa o significado do cliente: tendências métricas originais, tópicos/temas, sentimento, emoção, intenção, urgência, pedidos, reclamações, elogios, viagens/produto/serviço/equipa segmentos, detratores e resultados fechados.

Propriedade dos dados.

As respostas da pesquisa continuam autoritárias no armazenamento da Pesquisa, o feedback armazena uma referência de fonte reconstruível e sinais derivados, então cargas permitidas evidências sob demanda.

⚠️
A página de Feedback atual ainda tem um navegador de resposta Survey e uma caixa de entrada legada separada, e seus totais de IA ainda não usam o modelo de fonte normalizado completo.

NPS, CSAT, CES, estrelas, polegares e ajuda sempre devem manter seu método original, escala, amostra, janela de data e denominador.

Crescimento e SEO

Promoção Studio

O Promotion Studio transforma seu site em um motor de conversão, pop-ups de design, banners, slide-ins, barras de top/bottom, tomadas de tela inteira, blocos inline e até redirecionamentos baseados no país, então mostre a mensagem certa para o visitante certo no momento certo. OpsIQ Você projeta e economiza campanhas a qualquer momento, eles só mostram quando você as publica e o estúdio está ligado para seu espaço de trabalho.

Promoção Studio
Promoção Studio designerUm designer de campanha visual com uma paleta de blocos, um pop-up na tela, e um painel de mira.Estúdio de Promoção - DesignerBLOCOSxBem-vindo. {first_name}!Ganhe 15% de desconto em sua primeira compraSAVE15Reclame meu cupom.ALVOPaísEUA, CAGatilhoSaída-intençãoA/B dividido50 / 50Publicar1PROJETOArrastar blocos para a tela2ALVOPaís, página, público3MEDIDAVencedor A/B + Insight IA
O designer visual: uma paleta de blocos à esquerda, sua campanha sobre a tela (aqui um cupom personalizado pop-up usando um {first_name} E o painel de alvo + publica à direita.

O quadro geral

Campanha

O quê?

Uma promoção: um pop-up, banner, bar, slide-in, tela cheia, bloco inline ou geo-redirect.

Design e versões

Como

Você constrói o visual no editor, cada salva cria uma nova versão, para que você possa sempre voltar atrás.

Alvo

Quem?

Quem vê: país, página, dispositivo, fonte de tráfego, retorno vs novo, agenda, e (com um conector) seus clientes logados.

Gatilhos

Quando

Quando aparece: instantaneamente, no atraso, no rolagem, na entrada de saída, quando inativo, em um clique, após páginas N, ou da atividade chat / ticket.

-Esquecimento.

Resultados

Impressões ao vivo, cliques, conversões, um funil de entrega, divisão de país/página/dispositivo, vencedores do A/B e uma visão da IA.

Lançar sua primeira promoção em 5 Passos

1
Comece de um modelo ou em branco.

Abra o estúdio de promoção e clique em Nova campanha, ou escolha um projeto pronto da galeria de modelos.

2
Desenhe-o.

Arraste-se em blocos, cabeçalhos, texto, botões, imagens, crachás, estatísticas, contagem regressiva, formulários, cupons, vídeos, avaliações, rodas de giro, cores de estilo, gradientes e efeitos 3D com os controles deslizantes.

3
Personalize-o.

Digite fichas como {first_name}, {country} ou {company} No show-time eles se tornam os valores reais do visitante.

4
Alvo e gatilho

Escolha quem vê (país, página, dispositivo, público) e quando dispara (atraso, rolagem, entrada de saída).

5
Verifique, e depois publique.

Clique em Verificar para uma rápida pré-lançamento, depois Publicar.

Bloqueios que você pode construir

Conteúdo

Núcleo

Cabeçalho, parágrafo, lista, citação, imagem, ícone, distintivo, estatísticas, divisor e espaçador, os blocos de construção de qualquer mensagem.

Chamada à ação.

Núcleo

Botões com ações reais: abrir um link, começar uma conversa, criar um ticket, copiar um cupom ou pular para uma página.

Urgência e captura

Prémio

Contagem regressiva, formulários (e-mail / telefone / texto), cupom revela e vídeo incorpora.

Gamificado e feedback

Prémio

Rodas girando para ganhar, raspadinhas,NPS/ audiências de estrelas e funis multi-passo.

Layout & efeitos

Prémio

Colunas, barras de progresso, social, provas sociais, sim/não, dois passos, testes, e efeitos 3D, inclinação, brilho, paralaxe, vidramorfismo.

Fichas de personalização

Digite qualquer um desses em cabeçalhos, parágrafos, botões, crachás, estatísticas, listas ou citações.

Tokens disponíveis
From the visit:   {country} {city} {device} {page_path} {utm_source} {referrer}
From your CRM:    {first_name} {last_name} {email} {company} {segment} {lifecycle_stage}
From a connector: {balance_due} {unpaid_invoices}   (logged-in customers only)

Referência de alvo

País e localização

Mostrar apenas em países escolhidos, cidades ou fusos horários via GeoIP.

Páginas. URLs

Limitar a certas páginas usando igual/com início/contém/regex, e excluir páginas também.

Dispositivo

Desktop, tablet ou celular, por exemplo, uma barra fina no celular, um modal na área de trabalho.

Tipo visitante.

Novo, retornando, conhecido (em seu CRM) ou anônimo; segmentos de CRM, estágio do ciclo de vida, pontuação principal ou linguagem do navegador.

Fonte de trânsito

Por UTM (utm_source, utm/campaign) ou site de referência, por exemplo, apenas visitantes de um anúncio específico.

Agendar e frequência

Datas de início/fim, janelas do dia e quantas vezes uma pessoa pode vê-lo (por sessão, por dia, depois que fecham/cliquem/convertam).

A/B divisão de tráfego

Mostre a uma porcentagem de visitantes e execute variantes cara-a-cabeça; a mesma pessoa sempre vê a mesma variante.

Audiências (logged-in)

Com um conector ativado, alvo por estado de conta ao vivo, por exemplo, clientes com faturas não pagas, ou assinantes ativos.

Gatilhos

Escolha como a promoção aparece: imediatamente, após um atraso, na profundidade de rolagem, na entrada de saída, quando inativo, em um clique de um elemento, depois de uma série de páginas vistas, no formulário-abandono, ou da atividade chat / ticket. window.OpsIQPromo.fire('event').

Alvos registrados em clientes (conectores)

Isso é o que faz OpsIQ Promoções especiais: conectar uma plataforma como WHMCS (ou qualquer conector que suporte o público) e o estúdio pode direcionar visitantes por seu estado de conta ao vivo.

1
Ativar um conector de audiência

Sob os conectores, habilitar um que expõe fatos do público (WHMCS Os clientes são reconhecidos com segurança quando conectados a essa plataforma, OpsIQ Nunca confie em um e-mail digitado.

2
Adicione uma regra de audiência

Na campanha de Segmentação > Audiência, requeira login e adicione regras como faturas não pagas >= 1, a assinatura é passado-dever, ou crédito de conta > 0.

3
Personalize-se com seus dados.

Use fichas como {first_name} ou {balance_due} Um lembrete de "você tem uma fatura atrasada" escreve-se.

Se o conector não pode confirmar um fato, a promoção simplesmente não aparece, então uma oferta de faturamento nunca chega à pessoa errada.

O comércio conectado (a superpotência do estúdio)

Cartões de produto da sua loja.

Dados ao vivo.

Um bloco de produto puxa itens reais (nome, preço, preço de venda, imagem, link) diretamente de WHMCS, WooCommerce, Shopify ou o seu OpsIQ Marque "Mantenha-se fresco" e o cartão atualiza seu preço da plataforma a cada hora enquanto é publicado.

Cupões providos de lojas.

Cupons

Um bloco de cupons pode criar o código de desconto real na sua loja no momento em que você publicar, então o código que um visitante revela sempre funciona no checkout.

Receita da verdade de ordem.

Atribuição

As ordens reais de suas plataformas são comparadas às campanhas a cada hora (por código de cupom usado ou pelo e-mail da líder) então a receita que você vê é de vendas reais, não estimativas.

Provas sociais reais.

Confiança

O coração à prova de segurança social pode liderar com ordens recentes genuínas. 2h Só o primeiro nome e item, nunca e-mails ou quantias.

Experimentos e viagens

Variantes A/B e ganhador automático

Dividir tráfego entre variantes de design, deixar o estúdio promover o vencedor estatístico automaticamente, ou o tráfego manual para o bandido otimizador que muda os visitantes para o que converte como evidência vem em.

Agüentem a elevação.

Reserve uma parte de visitantes que não veem nada, para provar que a campanha causa o elevador.

Variantes de segmentos

Conteúdo diferente por público na campanha SAME (visitantes de celular, carrinhos grandes, clientes retornando), cada segmento tem sua própria versão.

Experimentos de gatilho

Variantes também podem testar quando aparecem: imediata vs retardada vs de entrada, medida cabeça-a-cabeça.

Viagens (correntes)

Alvo pelo que alguém fez com outra campanha ("viu a campanha A mas não se converteu") para construir sequências de promoção multi-passos.

Teasers.

Uma pequena visita pode reabrir após fechar a campanha, então um pop-up fechado nunca se foi para sempre.

Sabe o que aconteceu?

Clique em mapa térmico.

Designer

No designer, alternar o mapa térmico para pintar visitantes reais clica em cada bloco do seu projeto.

Degrau funil

Funis

Campanhas multi-passo mostram exatamente onde as pessoas saem, tela por tela.

Compare campanhas.

Estúdio

Coloque até quatro campanhas lado a lado (impressões, cliques, conversões), melhor valor destacado.

História semanal e digerir

IA

Todas as segundas-feiras, um digerir cai em suas notificações.📖O botão da história semanal escreve um resumo simples com os próximos passos sempre que quiser.

Trabalhando confortavelmente

AI co-piloto e ideias

Converse com o copiloto de design para editar a tela ("faça a manchete urgente, adicione uma contagem regressiva"), obtenha ideias de campanha de seus próprios dados de tráfego, traduza uma campanha por país ou corrija automaticamente uma pontuação baixa.

Importação do kit de marca

Um comando lê seu site e propõe suas cores e fontes reais, salvar e cada picador leva com eles.

Funil multi-tela

Os blocos de passos ficam verdadeiros por edição na tela: guias para cada tela, adicionar ou reordenar telas, e a pré-visualização segue adiante.

Versões e presenças nomeadas

Diga as versões importantes ("candidato à vitória"), restaure qualquer uma delas, e veja um aviso quando um colega de equipe está editando a mesma campanha.

Disparador e réguas

Veja o desktop, tablet e móvel lado a lado em uma vista, alternando réguas de pixel para posicionamento preciso.

Página hospedada e canais

Cada campanha também pode ser uma página de hospedagem independente para bios e códigos QR, uma sequência de gotejamento de e-mails para leads capturados, ou um rascunho de push na web com um clique.

Segurança empresarial

Publicar janelas de congelamento (períodos de troca-congelamento), um interruptor de emergência pausa-tudo, aprovações, pista de auditoria e versão rollback.

Preciso adicionar código ao meu site?+

Promoções são entregues pela mesma pessoa. OpsIQ Elemento que você já instalou.

Visitantes verão o mesmo pop-up vez após vez?+

Não, definir as frequências (por sessão/dia ou parar depois que alguém fecha, clica ou converte).

Quem pode publicar?+

Publicar, pausar, arquivar e voltar são limitados a donos de espaço de trabalho e administradores completos.

Crescimento e SEO

Promoção Designer de Produto

Promotion Designer é um editor de bloco sensível para construir, revisar, versionar e publicar uma experiência de campanha.

Tela de produto
Promoção Designer de ProdutoO designer combina uma tela ao vivo, pré-visualizações de dispositivos, blocos, variáveis de personalização, comentários e histórico de versões.Promoção Designer de ProdutoEspaço de trabalhoVIEWPORTÁrea de trabalhoVERSÃOv12ESTADORascunhoOBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOBloqueio de herói.Headline, mídia e CTAEditarBloqueio de ofertaDesconto e prazoEditarPersonalizaçãoVariáveis de contato e campanhaPronto.-O que está fazendo?Comentários e validaçãoRevisão1BUILD BLOCKSEditar layout ao vivo2ANTERIORDesktop, tablet, celular3PUBLISHVersão de lançamento
O designer combina uma tela ao vivo, pré-visualizações de dispositivos, blocos, variáveis de personalização, comentários e histórico de versões.

Use blocos para compor a experiência, visualizar cada viewport suportado e inserir variáveis de personalização aprovadas.

Crescimento e SEO

Modelos de promoção

Modelos fornecem uma galeria de busca, categorizada para campanhas do Promotion Studio.

Tela de produto
Modelos de promoçãoA galeria filtra layouts premium e aplica cores de marca quando um modelo se torna um rascunho.Modelos de promoçãoEspaço de trabalhoCATEGORIAConversãoRESULTS24BRANDAplicadoOBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOOferta de saídaModal com urgência e CTAVisualizaçãoNova visita bem-vinda.Banner e lista de benefíciosVisualizaçãoLançamento do produtoHerói, prova e contagem regressiva.VisualizaçãoPedido de feedbackPrompt de pesquisa compactaVisualização1FILTERCategoria e busca2ANTERIORInspecione o projeto completo.3USECrie um rascunho marcado.
A galeria filtra layouts premium e aplica cores de marca quando um modelo se torna um rascunho.

Buscar ou filtrar por categoria, carregar resultados adicionais, visualizar a experiência completa, e então escolher Use o modeloA nova campanha continua sendo um rascunho e pode ser alterada no Promotion Designer antes da publicação.

Crescimento e SEO

Análise da promoção

Análises de promoção conectam impressões e cliques a conversões, contexto do público, resultados de ação de conectores e aprendizado de campanha.

Tela de produto
Análise da promoçãoAnálises de promoção mostram desempenho, audiência e falhas de gatilho, leva exportação e resultados de ação de conectores.Análise da promoçãoEspaço de trabalhoIMPRESSIONS42.8kCTR6.4%CONVERSIONS814OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOPaísReino Unido · 31%DestruiçãoPágina/pricing · 22%DestruiçãoGatilhoIntenção de saída. 44%DestruiçãoAção do conectorCupom criado · 97% sucessoResultado1MEDIDAImpressões à conversão2SLICEPágina, país, dispositivo3LEARNAplique o insight
Análises de promoção mostram desempenho, audiência e falhas de gatilho, leva exportação e resultados de ação de conectores.

A análise e os resumos de aprendizagem devem ser tratados como hipóteses para validar, não como prova automática.

Crescimento e SEO

Anúncios

Anúncios publicam uma mensagem na área de notificação do widget com o objetivo opcional, agenda e chamada para ação.

Tela de produto
AnúnciosO editor de anúncios inclui conteúdo, CTA, audiência, segmento, regra da página, datas ativas e estilo visual.AnúnciosEspaço de trabalhoAtivo3AUDIENCESegmentoREGIMEJul. 22–29OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOTítuloManutenção planejada.Pronto.ConteúdoMensagem de marcaçãoPronto.CTALeia a atualização.OpcionalRegraPáginas de preços · clientes ativosAlvo1WRITETítulo e Marcação2ALVOAudiência, segmento, página3REGIMEJanela ativa
O editor de anúncios inclui conteúdo, CTA, audiência, segmento, regra da página, datas ativas e estilo visual.

Escolha todos os visitantes, visitantes ou novos visitantes, opcionalmente estreitar o público com um segmento de contato e regra de página, definir ativas/ativas para datas e uma bandeira ativa, estilo Premium predefinições e cores mudar apresentação mas não substituir conteúdo claro.

Crescimento e SEO

Push campanhas

As campanhas enviam notificações para visitantes após saírem do site.

Tela de produto
Push campanhasO compositor mostra alcance, conteúdo, mídia, ações, regras de destino e o estado da programação.Push campanhasEspaço de trabalhoSUBSCRIBERS8,214SENTIMOS31.6kCLICK RATE5.8%OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOTítuloSeu carrinho está esperando.Pronto.CorpoVolte hoje para entrega gratuita.Pronto.CTA-Abra o carrinho.Pronto.AgendarEnvie agora ou agendado.Rascunho1PREPARE PUSHTítulo, corpo, ícone2ALVOAudiência, segmento, página3SENDAgora, agenda ou rascunho
O compositor mostra alcance, conteúdo, mídia, ações, regras de destino e o estado da programação.

Configure as teclas de Web Push primeiro nas configurações de Webpush, uma campanha pode incluir título, corpo, ícone, imagem de herói, distintivo, CTA e até dois botões de ação, uma notificação persistente permanece até que o visitante interaja.

Segmento opcional de contato e regra de página, guarde um rascunho, programe ou envie imediatamente, use a assinatura e clique em métricas para julgar o alcance, HTTPS e um trabalhador corretamente hospedado são necessários em sites integrados de terceiros, veja Web Push em sites de terceiros.

Crescimento e SEO

Mensagens proativas

As mensagens proativas chegam automaticamente no momento em que o comportamento de um visitante coincide com uma regra, antes que eles perguntem. OpsIQ Já está no seu site.

Proativo.
Mensagens proativasUm compositor proativo em três partes: escolha uma ação (chat, banner, tour, push, email), adicione condições e defina um resfriamento de frequência.Mensagens ProativasEspaço de trabalho1 · AçãoMensagem de bate-papoBandeiraTourEmpurre.E-mail2 · Condiçõespage = /pricingHora na página > 20sVoltando3 · FreqüênciaUma vez por sessão.Situação1ACÇÃOConversa, banner, e-mail, empurrar...2CONDITIONSPágina, tempo, pontuação, retorno3FREQUENCIAResfriamento por visitante
Cada regra proativa é três escolhas: o que acontece (chat, banner, tour, push, email, webhook), quando (condições), e quantas vezes (refrigeração).

As três partes de uma regra

1
O que deve acontecer (ação)

Mostrar uma bolha de bate-papo ou banner on-page, iniciar um tour guiado, enviar um push web ou e-mail, atribuir a um departamento, ou disparar um webhook. {{visitor_name}} e {{page_title}} tornar-se valores reais.

2
Quando deve disparar (condições)

Estreita quem aciona: página/URL, tempo na página, profundidade de rolagem, pontuação do lead, retorno vs novo, ocioso.

3
Quantas vezes

Defina uma refrigeração para que a mesma pessoa não seja incomodada, por exemplo, uma vez por sessão ou uma vez ao dia.

⚠️
O espaço de trabalho alterna "Execute as regras do tempo/idle por hora" permite que ações do lado do servidor (email, push, webhook, atribua) disparem em um cronograma para contatos conhecidos que não estão atualmente na página, assim você pode "enviar leads quentes inativos" automaticamente. Ele precisa do OpsIQ cron rodando. Deixe-o desligado se você só quiser empurrãozinhos ao vivo.
Vai atirar para todos?+

Adicione pelo menos uma condição (página, placar, retorno...) para atingir os visitantes certos.

Como isso se relaciona com fluxos e excursões?+

Eles trabalham juntos: uma regra proativa pode iniciar um Tour guiado, e um Fluxo de Chatbot pode ser desencadeado por uma regra pró-ativa.

Crescimento e SEO

O Chatbot flui.

Chatbot Fluxs é um conjunto de passos conectados: você faz uma pergunta, o visitante escolhe uma opção, e o fluxo os envia para baixo do ramo correspondente.

Como funciona
O Chatbot flui.Uma tela de fluxo: um nó de saudação se ramifica em três botões de opção, cada um levando a um próximo passo, olhando para a ordem, ou entregando para um humano.SaudaçõesComo posso ajudar?Siga minha ordem.Pergunta de cobrançaFale com um humano.Procurem ordem.→ Agente humanoTriggers: Saudações!
O Chatbot flui.

Fluxo vs a IA · quando usar qual

Use um fluxo.

Quando o caminho é previsível e você quer que seja idêntico toda vez: marcar passos, um assistente retorna, um escolhidor de "qual plano?", coletando um e-mail antes da entrega.

Use a IA.

Quando as perguntas são abertas, "isso funciona com minha configuração?"... o cliente bate papo responde pelo seu conhecimento treinado... um fluxo pode passar para a IA (ou um humano) em qualquer etapa.

Gatilhos

Saudações

É a mensagem de abertura quando um visitante abre o bate-papo.

Palavra-chave

Corre quando o visitante digita uma palavra que você lista (por exemplo, reembolso, preços, cancelamento).

Depois dos detalhes, depois do atraso.

Começa quando os detalhes de contato são compartilhados, ou uma hora marcada para a conversa.

No chat final / Proactive

Corre quando o bate-papo termina (por exemplo, uma classificação), ou é iniciado por uma regra de mensagem proativa.

Construa um em quatro passos

1
Crie o fluxo

Clique em Novo Fluxo, nomeie, escolha um tipo de gatilho (e palavras-chave se palavra chave), salve.

2
Abra a tela.

O construtor visual onde você adiciona passos (mensagens, perguntas com botões, ramos) e as conecta.

3
Adicione ramos e uma entrega

Para cada escolha, desenhe um galho para o próximo passo... e acabe com os caminhos resolvendo, entregando à IA ou transferindo-se para um humano.

4
Activar

Clique em Activar, o fluxo vai ao vivo no seu widget imediatamente, desativar a qualquer momento sem perder o design.

Fluxos substituem a IA?+

Eles correm lado a lado, usam fluxos para caminhos previsíveis e IA para perguntas abertas, um fluxo pode sempre passar para qualquer um.

Crescimento e SEO

Visitas guiadas

Tours guiados são passos a passo que apontam em partes da sua página com bolhas de fala e um holofote, guiando um visitante através de onboarding ou uma nova característica.

Como funciona
Visitas guiadasUma página fraca com um toque de holofote em torno de um botão Add-deal e uma bolha de fala temática leitura Passo 1 de 4 com um botão Próximo.+ Adicionar acordoPASSO 1 OF 4Crie seu primeiro negócio.Clique aqui para adicionar um acordo ao seu oleoduto.Próximo →
Visitas guiadas

Como se constrói um passeio

Passos

Cada passo tem um elemento e mostra uma bolha com seu texto, acrescentando quantas paradas precisarem e ordenando.

Predefinições e tema

Comece de uma pré-definição ou projete sua própria bolha (cor, gradientes, holofotes) com uma prévia ao vivo à direita.

Gatilho

Opcionalmente, ligue uma regra proativa para que a turnê comece automaticamente quando essa regra for disparada (por exemplo, a primeira visita de um visitante retornando ao painel).

Active alternância

Uma turnê só pode ser feita enquanto Active estiver marcada.

Construa um em quatro passos

1
Nova turnê

Clique em Nova Visita Guiada, nomeie e ligue opcionalmente uma regra proativa para que comece automaticamente.

2
Adicione os passos.

Adicione cada parada, escolha o elemento que aponta e escreva o texto bolha.

3
Desenhe-o.

Escolha uma predefinição ou faça o estilo da bolha.

4
Ativar

A turnê pode ser executada, por conta própria, ou iniciada por uma regra de mensagem proativa.

Como começam as excursões?+

No gatilho deles, ou através de uma regra da mensagem proativa "Viagem Guiada", então você decide quais visitantes vêem qual turnê e quando.

Crescimento e SEO

Metas de conversão

Os objetivos de conversão transformam uma atividade com a qual você se importa (um evento webhook, uma mensagem de bate-papo, uma resolução de tickets) em uma conversão gravada com atribuição total. OpsIQ registra uma conversão contra o contato e a liga às campanhas, segmentos e fontes que levaram até lá.

Como funciona
Metas de conversãoUm fluxo de metas: um evento webhook bem sucedido torna-se uma conversão gravada "compra" no valor de $49, atribuída à sua fonte e campanha, com chips predefinidos de início rápido acima.-Começo rápido.StripecomprarDemo reservadoInscrição da newsletterpayment.succeeded- O que está fazendo?Conversão"Comprar" · $49Atribuído- A campanha.
Metas de conversão

Defina um gol em três passos.

1
Escolha a atividade do gatilho.

Escolha o tipo de atividade que conta como conversão, ou use uma predefinição de início rápido, compra Stripe, reserva de demonstração, inscrição de newsletter ou assinatura iniciada.

2
Diga o nome e defina um valor.

Dê à conversão um nome (compra, demo_booked, inscrição) e opcionalmente um valor fixo e uma janela de atribuição.

3
Salve

A partir de então, sempre que a atividade dispara, OpsIQ registra uma conversão contra o contato com a atribuição aos toques anteriores.

Os objetivos já estão conectados em hooks de acesso: qualquer gol cujo gatilho corresponda a um evento inbound tipo dispara automaticamente no momento que o evento chegar.Stripe, Calendly ou qualquer sistema que possa POSTJSON.
O que pode ser uma conversão?+

Qualquer atividade gravada: um evento de webhook (pagamento. sucedeu), uma captura de e-mail, uma resolução de tickets, qualquer coisa na linha do tempo de contato.

-Esquecimento.

Painéis personalizados

Os painéis personalizados permitem construir sua própria visão das métricas que importam, em vez de confiar apenas na Visão Geral padrão.

Painéis personalizados
Painéis personalizadosUm construtor de painéis com KPI e gráficos de azulejos, uma zona de queda arrojada, e um botão Add-widget.Painéis personalizadosEspaço de trabalhoMeu painel.+ Adicionar widgetVISITORES2,481RECEITAS$8.2kTRÁFEGOArraste um widget aqui.TOP PAGAMENTOS/pricing/docs/signup1ADD WIDGETSEscolha métricas e gráficos.2ARRANGEArraste e redimensione3SHARECom sua equipe
Construa seu próprio tabuleiro: adicione KPI, gráfico e widgets de lista, arraste e redimensione-os no layout que você quer, então compartilhe com a equipe.

Construa um em três passos.

1
Adicionar widgets

Clique em Adicionar Widget e escolha a métrica ou gráfico que você quer rastrear.

2
Organize o layout.

Arraste os widgets para reposicionar e arraste suas bordas para o redimensionamento.

3
Salvar & compartilhar

Salve o painel e compartilhe com sua equipe para que todos vejam os mesmos números.

Mantenha quadros separados para trabalhos separados (um quadro diário de olhar com contagens ao vivo, e um conselho mensal de revisão com gráficos de tendência) para que cada um permaneça focado.
Crescimento e SEO

Campanhas de divulgação

O alcance é... OpsIQ É...1:1E o motor de e-mail em massa: compor uma mensagem personalizada ou executar uma campanha para um segmento CRM, com detecção de resposta, controle de tempo de envio, rastreamento aberto/clique, um pixel de rastreamento e cancelamento de um clique.

Antecedentes
Campanhas de divulgaçãoA tela de divulgação com guias Compositor/Campanhas/Templates/Replies e uma tabela de campanha mostrando envio, taxa aberta e taxa de resposta.AntecedentesEspaço de trabalhoCampanhasCompositorModelosRespostasCAMPANHASENTIMOSABERTORESPOSTASBoletim de junho1,20048%7%Acompanhamento do julgamento34062%14%Vingança de volta82039%5%Responder detecção auto-para as sequências. Um clique para cancelar a assinatura em cada envio.11:1 & BULKCompor ou campanha2TRACKEDAbre, clica, responde3COMPLIANTDescribe-se embutida
O motor de extensão: enviar1:1Ou executar campanhas para um segmento, rastrear aberturas e respostas, e manter conformidade com o inbuilt-in cancelamento de assinatura e detecção de resposta.

As quatro abas

Compositor

Escreva um personalizado.1:1E-mail com {tokens} do contato e CRM.

Campanhas

Envie para um segmento de CRM, programado ou agora, com caps e controle de tempo de envio.

Modelos

Modelos de mensagens reutilizáveis para repetidas tentativas.

Respostas

Responder à detecção registra respostas e para automaticamente os acompanhamentos de quem respondeu.

Como uma campanha corre

1
Escolha uma plateia

Escolha um segmento de CRM (ou faça upload de uma lista).

2
Compor

Escreva a mensagem com fichas de personalização, antevisão contra um contato real.

3
Agendar & enviar

Um registro de pixels de rastreamento abre, cliques e respostas são atribuídos.

A divulgação é aprovada e a supressão foi encerrada, inclui um clique para cancelar cada envio e segue CAN-SPAM/ CASL.
-Esquecimento.

Relatórios agendados

Relatórios agendados enviam uma métrica escolhida para os destinatários escolhidos em um horário (diário, semanal ou mensal) como um rótulo branco e imprimível. PDF Coloque-o uma vez e o relatório cai em caixas de entrada automaticamente através do OpsIQ Cron.

Relatórios agendados
Relatórios agendadosA tela de relatórios agendados: uma tabela de relatórios com sua programação, destinatários e última vez enviada, além de um botão de relatório salvo.Relatórios agendadosEspaço de trabalhoRelatórios agendados+ Economize relatórioRELATÓRIOREGIMERECIPIENTESÚLTIMO ENVIOTráfego semanalMon. 9:00[email protected]2D atrásRelatório do cliente SEOMensal[email protected]Jun. 1Resumo de vendasDiariamente[email protected]todayEntregue como um rótulo branco. PDF através da OpsIQ Cron.1AUTOMATEDDiariamente · semanal · mensal2LABEL BRANCOPDF para clientes3RECIPIENTESEnviado no horário.
Defina um relatório uma vez (set métrico, alcance, programação, destinatários) e OpsIQ E-mails um rótulo branco PDF automaticamente em sua cadência.

Faça um relatório.

1
Escolha o que enviar.

Escolha o conjunto métrico (tráfego, SEO, vendas, suporte...) e um intervalo de datas.

2
Definir agenda & destinatários

Diariamente, semanal ou mensal, em um momento que você escolher, para um ou mais destinatários de e-mail.

3
Salve

O relatório gera e envia e-mails, sem passo manual.

💡
Relatórios agendados passam pelo OpsIQ Cron, se um relatório não chegar, confirme que o Cron está funcionando (ver Cron e automação).
Privacidade

Privacidade e conformidade

A página de Privacidade e Compliance é o único lugar para mostrar a um auditor que você lida com dados pessoais responsavelmente: o livro de registro de consentimento, o registro de acesso do administrador, sua residência de dados e política de retenção, e um pronto para imprimir DPA, em uma visão tabulada.

Privacidade e conformidade
Privacidade e conformidadeA tela de Privacidade e Compliance: guias para o registro de consentimento, log de acesso, residência e DPA, com uma tabela de permissões e cancelamentos por canal.Privacidade e conformidadeEspaço de trabalhoLivro de ConsentimentosDiário de acessoResidênciaDPACONTATOCANALACÇÃODATA[email protected]E-mailConcedido.Jun. 12[email protected]pushRevogadoJun. 10[email protected]marketingConcedido.Jun. 9Provas de todos os consentimentos e revogação, por canal.1CONSENT LEDGERProva de cada bolsa2ACCESS LOGQuem tocou nos dados?3DPAModelo para impressão
Uma tela pronta para auditor: um registro de consentimentos pesquisáveis (grands/revokes by canal), um registro do acesso de quem tocou dados, residência / configurações de retenção, e uma impressão DPA.

As quatro abas

Livro de Consentimentos

Um registro pesquisável de cada concessão de consentimento e revogação, por contato, canal (e-mail, push, SMS, in-widget), ação, fonte e data.

Diário de acesso

Quem na sua equipe viu, editou, exportou, apagou ou enviou os dados de um contato, com o administrador, contato, ação, razão declarada e IP. Exatamente o que um regulador pede.

Residência e retenção

Declare onde os dados deste espaço de trabalho vivem, defina quantos dias as linhas de atividade são mantidas (0 = para sempre), e grave seu controlador de dados e DPO.

DPA template

Uma adenda para processamento de dados que preenche seu controle, endereço, DPO, residência e retenção. PDF.

Privacidade e conformidade se juntam com o estúdio de consentimento da Cookie (que coleta o consentimento) e a página Exportar (que produz a cópia de dados para uma DSAR) Veja também Cron e automação para a limpeza noturna.
Conectores

Conecte suas plataformas.

Ligação de conectores OpsIQ Para plataformas externas: lojas de comércio eletrônico, sistemas de faturamento, processadores de pagamento, provedores de e-mail e customizados APIs Uma vez conectado, a IA pode procurar por pedidos, dados de clientes, assinaturas e muito mais, e tomar ações com sua aprovação.

Como funciona
Conectores hubOpsIQ Núcleo conectado a WHMCS, Shopify, Stripe, WooCommerce, SendGrid e Google Business Profile, cada um mostrando um status conectado.WHMCSShopifyStripeWooCommerceSendGridGoogle BPOpsIQCORE1PLUG IN25+ conectores pré-construídos2AI CONTEXTDados reais da plataforma.3ACTIONSJá chega de sua aprovação.
Conectores

Navios comOpsIQ

Estes estão presentes no momento em que você instalar e só precisa de suas credenciais.

WHMCS

Contagem

Alojamento de clientes, serviços, ingressos, faturas, domínios, servidores.

Shopify

Comércio eletrônico

Comércio eletrônico: pedidos, clientes, produtos, inventário, pagamentos, webhooks.

WooCommerce

Comércio eletrônico

WordPress e-commerce: pedidos, clientes, produtos, cupons, transporte.

WordPress

CMS

Conteúdo e usuários em umWordPressSite.

Quadrado

Pagamentos

Pagamentos e ponto de venda: pedidos, clientes, catálogo.

OsCommerce

Comércio eletrônico

E-commerce legado: pedidos, clientes, produtos.

Botble Hotel

Ponte.

Um hotel Botble CMS através da assinaturaOpsIQA implementação de referência para uma plataforma semAPI.

Zendesk

Suporte

Helpdesk: ingressos, usuários, organizações, comentários.

Perfil de Negócios do Google

Marketing

Negócios locais: revisões, posts, perguntas e respostas, insights. OAuth.

Calendário Google

Produtividade

Calendários e eventos.OAuth.

GmaileIMAP

E-mail

Caixas de correio: entrada e saída, sincronização do livro de endereços.

SendGrid

E-mail

Entrega de e-mail: envie e-mails e gerencie modelos.

- O que é isso?

E-mail

Entrega de e-mail: envie e-mails via Mailgun.

Slack, Telegrama, LINHA, X DM

Mensagens

Mensagens para conversas de entrada e saída.

Meta-canais.

Mensagens

Facebook Messenger, Instagram DM e WhatsApp.

Inteligência do Site (GA4, Consola de busca)

-Esquecimento.

Análise e busca de dados para oSEOSuíte.

Enriquecimento do site eCRMImportação

CRM

Enriquecimento da empresa e importação de clientes.

Disponível no mercado

Instale um dos conectores, Marketplace e é copiado para a pasta de conectores ao vivo, depois disso se comporta exatamente como os acima.

Stripe

Mercado

Pagamentos: encargos, clientes, faturas, assinaturas, pagamentos, disputas.

Grande Commerce

Mercado

E-commerce: pedidos, clientes, produtos, categorias, marcas.

Magento. 2

Mercado

Comércio eletrônico: pedidos, clientes, produtos, categorias, inventário.

PrestaShop

Mercado

Comércio eletrônico: pedidos, clientes, produtos, regras de carrinhos, transportadores.

OpenCart.

Mercado

E-commerce: pedidos, clientes, produtos, categorias.

Amazon SES, Postmark, Reenviar

Mercado

Entrega de e-mail transacional.

Jira, Linear

Mercado

Problema e rastreamento de projetos.

Zoom, Microsoft Calendar, Outlook Mail

Mercado

Reuniões, calendários e correspondência.

DocuSign, Apollo, SerpApi,Google Analytics

Mercado

Assinatura, prospecção, pesquisa e análise de dados.

Webflow, Wix, Squarespace

Mercado

Plataformas de sites.

💡
A lista de conexões se move como pacotes são publicados.

Instalando um conector.

1
Vá para os conectores.

Navegue para os conectores na barra lateral do administrador.

2
Encontre o conector.

Procure na lista ou procure, os conectores estão agrupados por categoria.

3
Activar

Clique no conector e alterne Activar.

4
Digite credenciais.

Preencha os campos obrigatórios: API Chave, URL Cada conector tem requisitos específicos documentados em seu painel de configurações.

5
Ligação de teste

Um resultado verde significa que o conector pode chegar à plataforma externa.

6
Configurando recursos.

Escolha quais recursos habilitar: sincronização de conhecimento, sincronia de webhook, ações de IA.

Que conectores lhe dão

Contexto de IA

A IA pode procurar dados de clientes, pedidos, assinaturas e mais através do conector.

Contexto de IA (autores do conector)

O ContextProvider do seu conector alimenta o ticket-AI um resumo da conta somente de leitura do proprietário do ticket. customer_id Quando conhecido, caso contrário, na passagem auto-replica, onde a bandeira ctx customer_trust_email É verdade, olhe a conta customer_email Plataformas remotas expõem um /context/customer-by-email Endpoint e o conector chamam de "O" é o que faz a IA citar um equilíbrio real em vez de dizer "por favor, faça login." Honrar as teclas da classe de dados do operador.customer_sections, customer_allow_creditE ficar estritamente só para leitura, nunca emite segredos.

Diretório de clientes (autores do conector)

O seu conector IdentityProvider alimenta três buscas universais de ingressos: lookupCustomerById() (cartão de cliente), lookupCustomerServices() (mesa produto/serviço) e listCustomers($query,$limit)"Pesquisa cliente ou digite email" escolhendo o formulário nativo Compose-New-Ticket. {id, external_id, name, email, company, phone, platform, platform_label}. Regra remota: Se seus clientes vivem em outro banco de dados ou serviço, pegue-os sobre sua plataforma.API dentro destes métodos, nunca leia as tabelas do outro sistema diretamente (no OpsIQ DB, eles são placeholders vazios, por isso uma leitura local devolve um coletor vazio.API URL; manter uma leitura local apenas como um recuo do mesmo-DB.

Bilhetes por e-mail, detecção e roteamento (autores do conector)

Quando o e-mail se torna um bilhete nativo, OpsIQ Detecta o remetente chamando lookupCustomerById(0, ['email'=>$sender]) em cada conector, a primeira partida "depende" do cliente e sua platform A bala está estampada no ticket.created evento como _pipe_owner_platform (vazio = convidado).WHMCS- O e-mail do cliente abre uma passagem.WHMCS (WHMCS Numerando, espelhado como um), enquanto um remetente desconhecido permanece um convidado nativo. Se seu conector espelhar bilhetes nativos em sua própria plataforma, seu ticket.created O encarregado deve se por aqui. if (array_key_exists('_pipe_owner_platform',$payload) && $payload['_pipe_owner_platform'] !== '<your-slug>') return;A chave está ausente nas passagens não-pipeadas, então aqueles espelhos como antes.→Ingressos abertos via e-mail (Anyone / Customers only / Off).

Ações

A IA pode executar ações através do conector: criar tickets, atualizar pedidos, cancelar assinaturas, tudo com sua aprovação através da Camada de Confiança.

Conhecimento

Conectores contribuem com artigos de conhecimento específicos para a IA. Shopify Conector adiciona solução de problemas no comércio eletrônico; WHMCS Conector adiciona conhecimento de hospedagem.

Importação de base de conhecimento (autores do conector)

Se sua plataforma abriga uma base de conhecimento, declare um kb_capabilities Bloquear. settings.json (tipo kb_sourceE seu conector aparece no editor da Central de Ajuda. Importar KB → Importar de um aplicativo conectado É declarativo, nenhum método para implementar: nome de um built-in adapter (zendesk Para a Central de Ajuda da Árvore exata. API, ou crawl para qualquer site KB) e um base_template Como por exemplo https://{subdomain}.zendesk.com, que OpsIQ As credenciais nunca saem do servidor, o navegador só envia a bala de conector. opsiq_kb_<platform>_manifest() Adaptador e referência pelo nome. connectors/PLATFORM_CONNECTORS.md §5.

Webhooks

Alguns conectores registram webhooks com a plataforma externa para notificações de eventos em tempo real (novos pedidos, atualizações de tickets, etc.).

Rastreamento de vendas

Conectores de comércio eletrônico alimentam dados de receita no painel de vendas para atribuição e análise.

💡
Cada espaço de trabalho pode ter conectores diferentes habilitados com credenciais diferentes.WHMCS O espaço de trabalho usa o WHMCS Conector; a Shopify O espaço de trabalho usa o Shopify Conector.
Posso usar vários conectores de uma vez?+

Sim, você pode ter.Shopifypara ordens eStripeA IA mescla dados de todos os conectores habilitados.

E se minha plataforma não estiver listada?+

Use o Conector Builder para criar um conector personalizado para qualquer plataforma com um REST API ou verifique no Marketplace por conectores construídos pela comunidade.

Conectores funcionam com auto-anfitriões. OpsIQ?+

Conectores funcionam de forma idêntica em edições de nuvem e auto-anfitriões.

Conectores

Contrato de vendas e faturamento

Cada conector comercial usa o mesmo contrato de evento neutro. WHMCS é a implementação de referência, mas SaaS Bridge, lojas, provedores de pagamento, conectores de mercado e pacotes Connector Builder devem obedecer às mesmas regras.

O que cada conector comercial deve publicar

Um livro de contabilidade autoritário.

Publish realised economic events to opsiq_sales_events through CommerceEventRegistry::normalize(). Do not build a connector-specific Sales table or make core analytics query a remote platform directly.

Identidade de fonte estável

A plataforma é a bala do registro de conectores, como whmcs, shopify Ou opsiq_saas. "traffic_source" contém atribuição de aquisição verificada quando fornecida; caso contrário, use a mesma lesma que o retorno. OpsIQ resolve o nome do conector amigável na UI.

Idempotência

Event_id deve ser determinístico, mapeie pelo menos um order_ref imutável, fatura_ref ou subscription_ref para que webhook retries e backfills atualizem o mesmo evento em vez de criar vendas duplicadas.

Hora da fonte

Ocorrem os pagamentos ou o tempo econômico de eventos reportados pela plataforma fonte.

Dinheiro e FX

Se a configuração do conector habilitar a conversão OpsIQ FX, o relatório converte para a moeda de reporte da área de trabalho; caso contrário, relatórios preservam a moeda da loja ou da plataforma de faturamento.

Ciclo de vida baseado em evidências

Uma compra repetida pelo mesmo cliente não é automaticamente uma renovação.

Limite de vendas

Apenas receitas de vendas e conversões pagas positivas, novas, renovações ou legitimamente desconhecidas pertencem a vendas e reembolsos são reportados por reembolso e análise de lucro líquido crédito conta, carteira top-ups, token top- ups e Add Funds permanecem eventos de faturamento e nunca contam como vendas, converções, volume de pedidos ou receita de vendas.

CRM permanece separada.

As transações de CRM representam a atividade do gasoduto e do negócio, não são vendas em plataforma comercial, a menos que uma plataforma conectada emitesse o pedido ou fatura paga através deste contrato.

Projeções derivadas

Conversões e resumos de painéis são projeções de compatibilidade reconstruídas do livro de registros.

Limite da plataforma remota.

Um conector remoto lê sua plataforma através do API configurado autenticado. Nunca deve depender de tabelas de banco de dados do mesmo servidor. O domínio autenticado exato site_key é fornecido pelo ConnectorRegistry e deve ser aplicado a cada registro escrito e backfill.

Exemplo de evento pago canônico

Evento de comércio normalizado
{
  "event_id": "acme_store:invoice:INV-1042",
  "event_name": "invoice.paid",
  "platform": "acme_store",
  "order_ref": "ORDER-884",
  "invoice_ref": "INV-1042",
  "subscription_ref": "SUB-28",
  "service_ref": "SERVICE-91",
  "status": "paid",
  "lifecycle_type": "renewal",
  "amount": 129.00,
  "currency": "USD",
  "traffic_source": "acme_store",
  "occurred_at": "2026-07-23 08:30:27"
}

Mapeamento do Conector Builder

Quando as vendas e faturamento estão habilitadas no Connector Builder, quantidade do mapa, moeda, status de origem e data da fonte, além de pelo menos uma ordem, fatura ou assinatura referência. API O SalesIngest gerado passa todas as fileiras pelo mesmo normalizador de registro comercial usado pelos conectores embutidos e do mercado.

⚠️
Créditos e Add Funds são intencionalmente retidos para faturamento, equilíbrio de clientes e análise de registros, excluindo-os das vendas não os exclui, só impede que inflacionem o desempenho comercial.

O ciclo de vida decide o que se torna um negócio de CRM.

lifecycle_type Não é uma etiqueta de análise.OpsIQ lê para decidir se uma venda entra no oleoduto CRM, então todo conector de vendas está tomando uma decisão sobre o oleoma se ele pretende ou não.

novo

Abre um negócio fechado (novo negócio).

renovação, atualização

Não há acordo de negócios, renovações se convertem em uma curva de probabilidade diferente e misturando-as corrompe ambas as previsões.

reembolso, crédito

Dinheiro devolvido a um cliente não é uma vitória.

Omitido / desconhecido

A venda é registrada, mas nunca chega ao oleoduto.

Uma venda, uma linha de registros: identidade é a venda, não o evento.

Não combinem. event_id e se insira. event_id is platform:eventName:externalIdUma plataforma que anuncia um pagamento duas vezes, como a de uma empresa. invoice.paid e novamente como payment.completed - Menta dois ids e aterra o mesmo dinheiro duas vezes, sem nada para colidir e nada para avisar.

💡
Encontrados na instalação de referência: seis faturas com três linhas de registro cada, de três caminhos de código usando três esquemas diferentes.0.00Então, nenhum total parecia errado, e qualquer processo posterior que restabelecesse valores reais teria contado um pagamento três vezes.

O núcleo calcula a identidade comercial da venda.sale_fingerprint), combina com uma linha existente sobre ele, preserva o original event_id Em atualização, e filtros para colunas reais:

A única forma de escrever o livro de vendas
\OpsIQ\Commerce\CommerceEventContract::upsertSaleRow('opsiq_sales_events', $row);
Mesma venda, muitos eventos

Fatura. paga, pagamento. completa e venda. concluída por uma fatura compartilhe uma impressão digital e atualize uma linha.

Reembolsos ficam separados.

O dinheiro saindo é um fato diferente do dinheiro entrando, o reembolso de uma fatura mantém sua própria identidade, então nunca pode sobrescrever o pagamento que reverte.

Sem referências, sem impressões digitais.

Uma fila sem ordem, fatura, assinatura ou referência de serviço não tem nenhuma impressão digital, então duas linhas não relacionadas nunca colidem só porque ambas estão faltando uma identificação.

Precedência de referência

Facture_ref, então order_ref... depois subscription_ref., e depois service_ref: mais forte primeiro, então uma venda mantém uma identidade estável.

O livro é só para apêndices. Nunca reescreva uma venda.

Um reembolso, um cancelamento ou uma correção é um Entrada nova datadaNunca mude a linha que ela corrige, reescrever um pagamento em um reembolso parece arrumado e quebra três coisas ao mesmo tempo:

Destrui a receita bruta.

Vendas brutas e taxa de reembolso deixam de ser separáveis. E a taxa de restituição é a métrica que existe para informar.

Ele registra a inversão no período errado.

Um reembolso de março de uma venda em janeiro deve reduzir Março.

Quebra a trilha de auditoria.

As correções são contraentradas, que é como a contabilidade de dupla entrada funciona há cinco séculos.

Então um conector relata a inversão em vez de aplicá-la: retorno refunded_at e refund_amount O que é isso, o que é um problema?

💡
O mesmo princípio se aplica aos valores, não "reparar" um valor armazenado no valor atual da plataforma, uma fatura liquidada do crédito de conta legalmente registrada 0 no momento do pagamento, e o dinheiro já estava registrado quando o cliente recarregava.

O contrato de classificação

OpsIQ decide o ciclo de vida. once, in \OpsIQ\Commerce\SaleLifecycleClassifierUm conector declara apenas qual de sua própria plataforma palavras significam o que, implementando \OpsIQ\Connectors\SalesLifecycleConnectorInterface::salesLifecycleVocabulary()Não re-implemente o raciocínio.

Declare vocabulário, delegue a decisão
public static function salesLifecycleVocabulary(): array
{
    return [
        'credit'             => ['addfunds'],                  // adds balance, sells nothing
        'upgrade'            => ['upgrade'],                   // resizes an existing commitment
        'recurring'          => ['hosting', 'domainrenew'],    // continues something owned
        'acquisition'        => ['domainregister'],            // obtains something new
        'recurring_prefixes' => ['domainaddon'],               // families that grow over releases
    ];
}

$lifecycle = \OpsIQ\Commerce\SaleLifecycleClassifier::classify([
    'explicit'    => $platformSaidSo,     // wins outright when present
    'line_types'  => $types,              // your platform's own line/item types
    'vocabulary'  => self::salesLifecycleVocabulary(),
    'is_order'    => $cameFromANewOrder,
    'is_refunded' => $moneyWentBack,
]);
💡
A precedência é fixa e compartilhada: explícita, então reembolsada/cancelada, depois de crédito, depois atualização, então is_order, então recorrente, em seguida, aquisição, então desconhecida.

Declare todo o vocabulário da plataforma.

Este é o fracasso que mais custa e parece menos errado.WHMCS Conector compatível. ['hosting','addon','domain'] - uma lista que parece completa.WHMCS não emite um nu Domain Tipo para linhas de domínio reais; emite DomainRegister, DomainRenew, DomainTransfer, PromoHosting, PromoDomain, DomainAddon* e UpgradeTodos eles passaram da lista para unknown: 1,288 faturas, três anos, sem erro e sem linha de registro.

Cada novo cliente importa seu histórico através de um backfill conectorEntão, um bug de classificação não afeta um espaço de trabalho, afeta cada espaço de trabalhos que sempre se conecta através desse conector, no momento em que eles olham pela primeira vez para o seu gasoduto. prefix Então um irmão que ninguém viu ainda classifica com seus parentes em vez de desaparecer.

💡
Um conector de vendas saudável classifica quase tudo, um fluxo constante de desconhecidos é quase nunca dados que você não tem, é um vocabulário que o conector nunca aprendeu a ler.

Reparando a história importada

Todos os enviadosOpsIQConector de vendas implementa isso. — WHMCS, Shopify, WooCommerce, osCommerce, SaaS Bridge, Stripe, BigCommerce and Magento 2. Treat it as expected, not optional: a customer imports their old records on day one, so a classification fix that cannot reach that history only helps people who signed up afterwards. Implement \OpsIQ\Connectors\SalesLifecycleRepairInterface::reclassifySale() Usando o que o registro já tem. tools/crm_backfill_sales_lifecycle.php então repara o histórico importado do seu conector sem código por conexão: seco, rodando por padrão, se recupera e verifica a contagem da linha antes de escrever, reversível através de um livro de desfazer, e nunca escreve uma leitura falhada como resposta.

💡
Se seu conector não puder reler registros passados, um conector só para webhook não pode, não roube o método, um toco que retorna desconhecido é pior do que nenhuma implementação, um backfill reescreveria boas linhas como não classificadas e relataria sucesso.
💡
Referências detalhadas de pacotes permanecem disponíveis em conectores/CONNECTOR_EVENTS. md e conectores /PLATFORM_CONNECORS. mD em distribuições de fonte auto-hospedadas.
Conectores

Contrato de evento de viagem

A Journey Intelligence aceita um envelope de eventos neutros da plataforma do navegador, conectores embutidos, SaaS Bridge, pacotes de mercado e saída do Connector Builder.

Isolamento e limite de confiança

Chave exata de domínio dos pares

Um conector deve pegar essa chave do ConnectorRegistry ou seu ponto final autenticado, nunca de um corpo não confiável.

Identidade indemprotegida

Event_id é necessário para conectores e deve ser determinístico para o mesmo evento nativo.

Nome canônico nativo mais nome canônico

Preservar o nome de origem para evidências e solução de problemas, então mapeá-lo para evento evenction_name_canonical.

A evidência do servidor ganha.

A observação do navegador pode iniciar ou inferir uma jornada.

Privacidade

Envie apenas identificadores e campos necessários para a jornada declarada, respeite as configurações de consentimento, mascaramento e retenção, nunca coloque credenciais, dados de cartão, segredos de autenticação ou órgãos de mensagens particulares em propriedades.

Envelope canônico

Envelope de eventos da viagem
{
  "contract_version": 1,
  "event_id": "myshop:order:884:paid",
  "source": "myshop",
  "source_event_name": "order.paid",
  "event_name_canonical": "commerce.purchase.completed",
  "site_key": "exact_domain_site_key",
  "occurred_at": "2026-07-23T08:30:27Z",
  "visitor_id": "optional-browser-visitor",
  "session_id": "optional-browser-session",
  "journey_id": "optional-journey",
  "attempt_id": "optional-attempt",
  "correlation_token": "optional-signed-token",
  "customer_ref": "C-42",
  "user_email": "[email protected]",
  "object_type": "order",
  "object_ref": "884",
  "order_ref": "884",
  "outcome": "succeeded",
  "evidence_level": "server_confirmed",
  "confidence": 1,
  "properties": {"amount": 129, "currency": "USD"}
}

Taxonomia canônica

Famílias apoiadas incluem eventos de página de noivado/CTA, registro de conta, login, MFA e reset de senha, estágios de liderança e forma, produto, carrinho, checkout, pagamento, compra, assinatura, renovação e reembolso, impressões e conversões de promoções, eventos de ajuda, chat e ticket, eventos em segurança e eventos personalizados. account.signup.succeeded, account.login.succeeded, lead.form.succeeded, commerce.payment.succeeded, commerce.purchase.completed, commerce.subscription.renewed e commerce.refund.completed.

Inferência, confirmação e abandono do navegador

O widget pode funcionar sem um conector observando a estrutura da página, formando ações, os resultados do DOM e o registro de viagem do visitante.

Atribuição e receita

A atribuição prefere um símbolo de correlação assinado válido, então uma viagem exata, tentativa, sessão ou referência comercial, depois o gráfico de identidade consentido, e finalmente uma combinação comportamental limitada. 1A Inteligência do Site atribuiu receita a este livro, créditos, recargas de carteiras, top-ups de fichas e Add Funds nunca compram conversões.

⚠️
Modelo de atribuição, janelas de retrovisores, manuseio direto do tráfego, confiança mínima, tempo limite de abandono e definições de funil são políticas de UI.

Manifesto de conexão e Construtor

Declaração de viagem do conector
{
  "capabilities": ["sales", "journey_events"],
  "journey_capabilities": {
    "journey_events": true,
    "payments": true,
    "subscriptions": false,
    "correlation_token": false,
    "backfill": true
  },
  "journey_event_mappings": [{
    "source_event_name": "order.paid",
    "event_name_canonical": "commerce.purchase.completed",
    "field_map": {
      "order_ref": "order.id",
      "customer_ref": "order.customer_id",
      "amount": "order.total",
      "currency": "order.currency",
      "occurred_at": "order.paid_at"
    }
  }]
}

O Conector Builder valida o mapeamento e gera o mesmo adaptador neutro de plataforma usado por pacotes de primeira parte. 100 através do endpoint de integração autenticado gerado.

💡
O livro de comércio continua sendo a fonte financeira da verdade, e a ponte comercial-a-journey publica resultados confirmados pelo servidor e reconcilia atribuição após o aumento do registro idempotente existente, então um pagamento nunca se torna duas vendas.
Conectores

Como as ações da IA funcionam

Cada conector declara um conjunto de ações: coisas que a IA pode fazer através da plataforma externa.

AI ações
Como as ações da IA funcionamUma solicitação de cliente mapeada para um cartão de ação do tipo delete, e uma lista de verificação: permissão verificada, você confirma, API chamado.Como as ações da IA funcionamEspaço de trabalho"Cancelar minha assinatura"clienteIAcancel_subscriptiondeleteConfirmar necessário.Params: Subscription_id (do contexto)TIPOS DE ACÇÃOreadwritedeletePermissão & função verificadaVocê confirma a ação.API called · result reported1DECLAREDCada conector lista ações.2GATEDPermissão + confirme.3THEN RUNAPI Chamada, resultado de volta.
Um pedido se torna uma ação declarada (datilografada leitura/escrita/delete) que é verificada, confirmada, então executada e reportada.

O ciclo de vida da ação

1
O cliente pede algo.

"Cancelar minha assinatura." A IA identifica que isso requer a ação de "cancelar-assinatura".

2
AI verifica permissões

Esta ação é permitida?

3
AI reúne parâmetros

A IA procura no contexto do cliente ou pergunta ao cliente.

4
Confirmação.

Para ações destrutivas ou de alto impacto, a IA pede confirmação antes de executar.

5
Execução

A ação chama a plataforma externa. API.

6
Resultado

A IA reporta o resultado ao cliente.

Tipos de ação.

Leia as ações.

Procure dados sem mudar nada, exemplos: list_orders, get_cliente, seguro, nenhuma confirmação necessária.

Escreva ações.

Criar ou modificar dados.

Apagar ações

Remova dados, por exemplo: cancelamento de inscrição, sempre requer confirmação.

Ações HTTP

Declarado em ações.json, genérico API Chamadas definidas declarativamente.

Marcas de capacidade

Campo opcional de "capacidade" em ações.json, uma etiqueta de classe neutra para conectores (por exemplo, "bilhetes" para leitura/busca de tickets, "ticket_create" para abrir um bilhete).OpsIQ Ganhe toda a classe uniformemente em todos os conectores, o bilhete sai da IA quando o operador desliga o AI Ticket Awareness, e a criação de ingressos está reservada para OpsIQ O próprio compositor, para que a ferramenta de criação de um conector não possa duplicar, declare-o e seu conector se conforme.OpsIQ O Connector Builder o expõe como um dropdown por ação.

-Codifique as ações.

Implementado em PHP na classe de conectores, controle total sobre a lógica.

Definição de ação do exemplo
{
  "lookup_order": {
    "label": "Look up an order",
    "description": "Find an order by ID or email",
    "method": "GET",
    "endpoint": "/admin/api/2024-01/orders.json",
    "params": {
      "order_id": { "type": "string", "label": "Order ID" },
      "email":    { "type": "email",  "label": "Customer email" }
    }
  }
}
Conectores

Construa um conector.

O Conector Builder permite criar um conector completo para qualquer plataforma com um REST API. Sem codificação necessária para conectores básicos.

Construa um conector.
Construtor de ConectoresUm formulário de conector sem código: nome, tipo de autenticação, base URL, um mapeamento de ação, um teste de passagem e um botão de publicação.Construtor de ConectoresEspaço de trabalhoConstrutor de ConectoresNomeMinha plataformaAuth.OAuth 2.0 (PKCE)Base. URLhttps://api.example.com/v2Ação.GET/customers → lista_clientesO teste passou.Conector de pacote1NO-CODENome, autorização, base. URL2ANY APIChave, Carregador, Básico, HMAC, OAuth3PUBLISHInto /connectors/<slug>/
Aponte o construtor para qualquer descanso. API Ative, base. URL E ações, testá-lo e publicar um conector funcionando.

Prestador completo. API cobertura

Cada geração API Conector pode expor Nativo separado.API Leia e native.API Ações curadas continuam sendo preferidas, ações nativas cobrem terminais de provedores adicionados mais tarde. JSON, forma, XML, corpos crus e múltiplos, paginação limitada,API Cabeçalhos de versão e indempotência, mantendo credenciais dentro das configurações do conector.

⚠️
Pacotes de mercado são originados de /marketplace_connectors bem como empacotados. /connectors. Aumentar a versão do pacote, regenerar o contrato e documentação, executar testes de conformidade, em seguida, re-assinar e publicar a nova versão Marketplace.

Assistente do construtor de conectores.

O mago tem seis passos, mostrados como guias em cima. Economize o rascunho. No rodapé, mantém seu trabalho em qualquer momento.

1
Identidade e perfil

Nome, lesma, descrição e ícone, então escolha um perfil de contrato: padrão API, comércio, Helpdesk, caixa de correio, inteligência do site, ponte SaaS, plataforma PHP local, ou Plataforma com não.API Quando a plataforma não serve nada calável e OpsIQ tem que instalar uma ponte.

2
Auth.

Escolha o padrão de autenticação que a plataforma usa e preencha seus campos.

3
Teste

Entre. API base URL e um ponto final de verificação, em seguida, executar um teste de conexão ao vivo usando as credenciais de passo 2Faça isso antes de definir qualquer ação, se a autorização ou a base URL Está errado, cada ação que você escreve depois falharia pela mesma razão e você estaria depurando a coisa errada.

4
Ações

Defina cada operação: nome, método HTTP, caminho final, parâmetros, mapeamento de campo de resposta e as configurações de confiabilidade descritas abaixo. API a partir deste passo.

5
Gatilhos

Mapear os eventos webhook que sua plataforma envia OpsIQ eventos, para que as coisas que acontecem em sua plataforma podem começar a trabalhar em OpsIQ.

6
Revisão, contrato de empresa e publicar

Review every action, trigger and capability. Enterprise profiles expose the generated queue, worker, hook, migration, ticket-mirror, attachment and conflict contract before publishing. Publishing writes the package into /connectors/<slug>/.

⚠️
Publicar não funciona a suíte de conformidade, só valida o formulário do assistente e emite avisos que não bloqueiam, a suíte completa, arquivos de capacidade, o contrato de identidade e a verificação de ponte-aperta, corre quando você pressiona Dry-run e novamente na hora da instalação, pressione Dry Run antes de embarcar, toda vez.

Que publicação faz que o formulário não mostra a você

Cinco comportamentos do gerador surpreendem as pessoas, nenhum é um inseto, todos eles vão custar uma tarde se você encontrá-los por acidente.

Uma pergunta decide a passagem:API?

Atenda de uma vez.1escolhendo o modo de acesso aos dados (ou a "Plataforma semAPI"Perfil).APIO modo declara native_api and emits the <slug>_api_call passthrough. Bridge mode declares platform_bridge Em vez disso, e STRIPS native_api Mesmo que um antigo espectro o carregasse, então o manifesto, a classe gerada e os médicos especialistas não podem discordar. ai_brain_aware é adicionado de qualquer forma.

SILÊNCIO significa "tem umAPI"

O Construtor segue sua resposta, não funciona para si mesmo, e o padrão quando nada é dito éAPIEntão, não...APIA plataforma deve dizer isso. Escolha a "Plataforma semAPI"Perfil, definir o acesso de dados para ponte, ou tique-taque platform_bridge; any one of the three is enough and they cannot contradict each other. Skip the question on a platform with no API and you are back to the old failure: a dead <slug>_api_call the model keeps reaching for. This used to be stamped unconditionally, so the trap is now escapable rather than gone.

O teste de conexão é padrão para GET /ping

Se deixar o caminho de verificação vazio, o Construtor escreve: /ping no conector gerado e no perfil.jsonQuase nenhuma plataforma real serve essa rota, então a conexão de teste falha com HTTP.404Para um conector de ponte, aponte-o para o seu próprio ponto final de diagnóstico, prova que toda a cadeia em uma única chamada: a ponte é implantada, a chave corresponde, e a ponte pode chegar ao banco de dados.

Republicar ainda substitui suas músicas.

Tudo o resto gerado ainda faz: editar ContextProvider. php ou qualquer outro arquivo emitido e a próxima publicação substitui-o. A única exceção protegida é o arquivo bridge, o assistente só sobrepõe uma ponte carregando seu próprio marcador, então um escrito à mão fica sozinho.

Republicando arquivos deletados

Desmarcar uma capacidade e a próxima publicação remove seu arquivo de provedores, editando manualmente para qualquer arquivo gerado, ContextProvider.php acima de tudo, são substituídos sem aviso prévio, copiando personalizações primeiro ou tomando posse do pacote apagando.opsiq- Construtor.json(depois do qual o mago não vai mais administrar isso).

O status de lançamento é sempre pré-visualização.

Um pacote destinado a enviar como produção deve ter mudado de estado à mão em configurações.json- e essa edição quebra a assinatura, então re-assina depois.

A assinatura prova integridade, não origem.

Os pacotes do construtor são assinados com a própria chave simétrica desta instalação, que detecta adulteração, não prova quem escreveu o pacote e qualquer instalação segurando a mesma chave pode produzir a mesma assinatura, tratar um pacote assinado localmente como auto-assinado.

As colisões só são verificadas em uma árvore.

A editora recusa uma lesma que já existe./connectors/.Ele não olha para/marketplace_connectors/,Então um pacote de primeira-parte com a mesma lesma pode acabar na sombra.

💡
Um arquivo de conhecimento descrevendo sua plataforma é gerado a partir do nome, descrição, tipo de autenticação e ações que você definiu, e é carregado na IA quando o conector está ativado.

Definindo uma ação (passo) 4)

Cada ação tem as seguintes configurações, somente os quatro primeiros são necessários, o controle de resto quem pode executá-la e com que cuidado.

Chave de ação e etiqueta

A chave é o que a IA chama, a etiqueta é o quê um humano lê, chaves são espaçadas automaticamente com seu conector, então dois conectores podem ter uma "lista de pedidos" sem colidir.

Método HTTP

Vá, Post, coloque, patch ou delete.

URL path

Dirigido para a base. URL Use. {name} para os placeholders, por exemplo /opportunities/{id}/stage

Parâmetros

Para cada parâmetro você também escolhe onde ele vai: Corpo, path, query Ou cabeçalhoUm parâmetro de caminho preenche um {placeholder}; um parâmetro de consulta é anexado ao URL.

Mapeamento de resposta

Diga qual campo no JSON Isso é o que permite que a IA leia os dados da sua plataforma em vez de adivinhar.

Quem pode usá-lo?

Suas ações de cliente são executadas apenas para o cliente assinado, e os campos de identidade estão bloqueados automaticamente para que um cliente não possa perguntar sobre outro.

Requer confirmação.

Um humano deve aprovar antes que a ação corra.

Destruidor.

Marca a ação como deletando ou mudando de estado.

Permissão necessária.

O administrador deve manter esta permissão para que a IA execute a ação em seu nome; administradores completos sempre passam. Escolha entre gerencia_integrações, gerencia_geral, gerencia-se_billing, gerencial_venda_bridge, gerenciando_conhecimento, gerenciar_aparência, gerenciador_comportamento, gerenciam_permissões, gerenciamos_perizona, responde_to_chats, escalona_to/ticket, send_agent_email, ou nenhum, significando qualquer administrador autenticado.

Descrição / dica de IA

Diz à IA quando deve agir, por exemplo, "Use isso quando o administrador pede para mudar um estágio de acordo".

Capacidade

A tag opcional da classe, ou tickets (leitura de ticket ou pesquisa) ou ticket_create (abre um ticket), a etiqueta permite que OpsIQ gate toda a classe ao mesmo tempo, por exemplo, ocultando tickets quando uma operadora desliga o conhecimento do ticket IA.

Liste caminho

Opcionais para os terminais que devolvem uma lista, o caminho pontilhado para o array, por exemplo dados ou itens de dados.

Caminho do erro

Um campo corporal cuja presença significa que a chamada falhou, por exemplo error. message, útil para APIs que retorna HTTP 200 em falha.

Corra.

Cada ação pode ser executada contra os vivos. API a partir deste passo, para que você possa corrigir um caminho errado ou nome de campo antes de qualquer outra pessoa usá-lo.

⚠️
Qualquer ação usando POST, PUT, PATCH ou DELETE começa exigindo a permissão de gerenciamento_integrações e Uma nova ação de escrita falha ao invés de deixar a IA mudar seus dados sem supervisão.
💡
Para ser chamado do bate-papo, uma ação deve ser somente leitura: deixe ambos requer confirmação e Destrutivo desencaminhado.

Recebendo webhooks (passo) 5)

O passo dos gatilhos te dá um gancho de rede. URL Para registrar com sua plataforma, e verificar todos os pedidos que chegam nela.

Cabeçalho da assinatura

O cabeçalho da sua plataforma sinaliza com, por exemplo X-Hub-Assinatura...256.

Algoritmo de assinatura

HMAC-SHA1, HMAc-SHAD256 ou HMA CAVH-512.

Esquema de assinatura

Simples, um feitiço simples ou base64 digerir, ou estilo Stripe, o formato t=...,v1=... usado por Strike e várias plataformas que copiaram.

Prefixo de assinatura

Algumas plataformas prefixam o digest, por exemplo, sha256=.

Mapeamentos de eventos

Mapear cada evento que sua plataforma enviar para o OpsIQ Evento que deve aumentar.

Auto-registrando o webhook

Se sua plataforma tem um API para gerenciar seus próprios webhooks, você não tem que registrar o URL Abra à mão. Registre-se automaticamente este webhook em activar e aponte para duas das ações que definiu em passo. 4:

Ação de criação de webhook

Chamado quando um administrador habilita o conector, você dá o nome do parâmetro que carrega o URL, opcionalmente aquele que carrega a lista de eventos e o caminho na resposta que mantém o novo ID do webhook.

Ação de exclusão do webhook

Chamado quando o conector está desativado, usando o ID capturado acima, então desativar o conector também impede que sua plataforma envie para um ponto final morto.

Capacidades que você pode ligar

Os perfis e capacidades são definidos pelo Contrato de Conector 2.2. As capacidades geradas e declarativas são emitidas diretamente; as capacidades empresariais geram uma EnterpriseExtension.php andaimes com fiação de ciclo de vida em tempo de corrida.

Ações

Operações que a IA pode executar em sua plataforma: listar pedidos, encontrar um cliente, emitir um reembolso.

Gatilhos

Receba webhooks de sua plataforma e transformá-los em OpsIQ eventos.

Bilhetes de IA

A IA Triage e a resposta Copilot em tickets que permanecem na sua plataforma, escolha o ponto final que devolve um ticket com suas respostas e mapeie os campos, OpsIQ lê o tópico através dele.

Caixa de correio e contatos.

Mostrar o correio de um cliente em sua linha do tempo, enviar de um acordo, e sincronizar seu livro de endereços no OpsIQ CRM.

Importação de clientes

Página através de sua lista de clientes e importar cada um como um contato OpsIQ. Isto é o que o botão Importar corre.

Contexto

Coloque dados ao vivo da sua plataforma em cada conversa de IA.

Identidade

Descubra qual de seus clientes é um visitante, e mostre seu perfil e compras em uma passagem.

Vendas e faturamento

Feed revenue eventos e MRR números para o OpsIQ Painéis.

Ingressos

Transforme bilhetes e e-mails que sua plataforma entrega por webhook OpsIQ Linhas de apoio.

Respostas de saída

Post OpsIQ A equipe responde de volta para a plataforma onde o fio se originou.

Sincronizar usuários

Importe suas contas de funcionários para OpsIQ Usuários da administração.

Sincronizar departamentos

Importe seus departamentos de apoio para OpsIQ.

Promo alvo e alimentação de produto

Deixe o Promotion Studio focar em fatos que você conhece sobre uma pessoa, e renderizar seus produtos reais dentro de uma promoção.

Provedor de estúdio de pesquisa

Expor dados verificados pelo servidor, variáveis escapadas e páginas de destinatários do CRM limitadas através de um SurveyProvider. php dedicado.

Nativo. IP Bloqueando.

Quando? OpsIQ Bloqueia um IP, ligue para o bloco da sua plataforma. API Então o bloco é forçado lá também.

Eventos de segurança

Receber bloqueado.IP sinais de ameaça de OpsIQ.

Conhecimento da plataforma para a IA

Cada conector que você constrói naves é uma breve referência descrevendo o que sua plataforma é e o que suas ações fazem. OpsIQ A IA do administrador lê sempre que seu conector está ativado, então entende sua plataforma ao invés de ver uma lista de nomes de ação.

API Passagem

Seu conector sempre recebe uma chamada de propósito geral para que a IA possa alcançar um ponto final para o qual não definiu uma ação digitada.

Canonical Connector Contract 2.2 reference

Contract version: 2.2 · 55 capabilities · 8 profiles.

Perfis de conexão

standard_api · Standard REST or GraphQL API

Actions, triggers, OAuth/API-key authentication and optional context/identity mappings. Capabilities: actions, triggers, native_api, ai_brain_aware.

commerce · Commerce and billing platform

Customers, orders, sales, subscriptions, billing, promotions and journey events. Capabilities: actions, triggers, journey_events, sales, billing, sync_orders, customer_import, survey, promo_audience, promo_feed, context, identity.

helpdesk · Helpdesk and ticket platform

Inbound tickets, outbound replies/notes, customer roster, AI triage and bidirectional ticket mirroring. Capabilities: actions, triggers, inbound_ticket, outbound_reply, outbound_note, ai_tickets, customer_import, survey, context, identity, ticket_mirror, attachment_bridge, conflict_resolution.

mailbox · Mailbox and email provider

Inbound/outbound mail, address-book sync, multi-account OAuth and CRM timeline integration. Capabilities: inbound_email, outbound_email, mailbox, email_mailbox, oauth, actions, customer_import, ai_reply.

site_intelligence · Site Intelligence data provider

SEO, analytics, search-console, local-search or monitoring provider with scheduled sync. Capabilities: actions, triggers, site_intelligence, seo, scheduled_workers, durable_queue.

saas_bridge · SaaS bridge

Deep two-way SaaS integration with customers, billing, identity, tickets, webhooks, queues, attachments and workers. Capabilities: actions, triggers, webhook, context, identity, customer_import, survey, journey_events, sales, billing, inbound_ticket, outbound_reply, ticket_mirror, attachment_bridge, durable_queue, scheduled_workers, database_migrations, conflict_resolution, enterprise_hooks, admin_assets.

no_api_bridge · Platform with no API (OpsIQ installs a bridge)

For a self-hosted PHP application that serves no callable API. The wizard generates a signed bridge file the operator drops into their own site, plus the typed actions that read and write through it. Capabilities: actions, platform_bridge, ai_brain_aware.

local_php_platform · Local PHP platform bridge

WHMCS-style local hooks, database access, two-way tickets, billing/customer sync, queues and migrations. Capabilities: actions, native_data, context, identity, customer_import, survey, journey_events, sales, billing, inbound_ticket, outbound_reply, ticket_mirror, attachment_bridge, durable_queue, scheduled_workers, database_migrations, conflict_resolution, enterprise_hooks, admin_assets.

Capacidades canônicas

Ações

Universal actions. Capability version: 1.0. Mode: generated. Runtime methods: registerActions. Package files: actions.json.

gatilhos

Inbound event triggers. Capability version: 1.0. Mode: generated. Runtime methods: handleWebhook. Package files: actions.json.

Webhook

Inbound webhook endpoint. Capability version: 1.0. Mode: generated. Runtime methods: handleWebhook.

journey_events

Universal Journey Event Contract mapping. Capability version: 1.1. Mode: generated. Interfaces: OpsIQ\Connectors\JourneyEventConnectorInterface. Package files: settings.json.

context

AI context providers. Capability version: 1.0. Mode: generated. Runtime methods: contextProviders. Interfaces: OpsIQ\Connectors\ContextConnectorInterface. Package files: ContextProvider.php.

guest_lookup

Guest record lookup without login (reference + proof match). Capability version: 1.0. Mode: generated. Runtime methods: contextProviders. Interfaces: OpsIQ\Connectors\ContextConnectorInterface. Package files: GuestLookupProvider.php.

Identidade

Admin/customer identity providers. Capability version: 1.0. Mode: generated. Runtime methods: identityProviders, detectAdmin, detectCustomer. Interfaces: OpsIQ\Connectors\IdentityConnectorInterface. Package files: IdentityProvider.php.

sales

Sales and revenue ingestion. Capability version: 1.1. Mode: generated. Interfaces: OpsIQ\Connectors\CommerceConnectorInterface. Package files: SalesIngest.php.

faturando

Cross-platform billing snapshot. Capability version: 1.0. Mode: generated. Runtime methods: billingProviders. Interfaces: OpsIQ\Connectors\BillingConnectorInterface. Package files: BillingProvider.php.

payments

Payment-provider capability bus. Capability version: 1.0. Mode: generated. Runtime methods: paymentsCapabilities.

commerce

Sell through chat: canonical commerce role map. Capability version: 1.0. Mode: declarative. Package files: commerce_roles.json.

inbound_ticket

External ticket/email to OpsIQ ticket ingestion. Capability version: 1.0. Mode: generated. Runtime methods: handleWebhook. Interfaces: OpsIQ\Connectors\TicketMirrorConnectorInterface.

outbound_reply

Reply mirroring to the external platform. Capability version: 1.0. Mode: generated. Runtime methods: pushReply. Interfaces: OpsIQ\Connectors\TicketMirrorConnectorInterface.

sync_users

Staff/customer synchronisation. Capability version: 2.0. Mode: generated. Runtime methods: listCustomers. Interfaces: OpsIQ\Connectors\CustomerImportConnectorInterface. Package files: SyncImport.php.

sync_departments

Department/team synchronisation. Capability version: 1.0. Mode: generated. Package files: SyncImport.php.

sync_orders

Order roster and order-event synchronisation. Capability version: 1.0. Mode: declarative. Interfaces: OpsIQ\Connectors\CommerceConnectorInterface.

sync_products

Product, catalog and inventory synchronisation. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

sync_projects

Project, issue and workspace synchronisation. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

customer_import

CRM customer roster import. Capability version: 2.0. Mode: generated. Runtime methods: listCustomers, backfillChunk. Interfaces: OpsIQ\Connectors\CustomerImportConnectorInterface.

security_events

Receive and emit security events. Capability version: 1.1. Mode: generated. Runtime methods: securityCapabilities, syncBlockedIp, removeBlockedIp. Interfaces: OpsIQ\Connectors\SecuritySyncConnectorInterface.

security_native_block

Native remote IP/CIDR blocking. Capability version: 1.0. Mode: generated. Runtime methods: syncBlockedIp, removeBlockedIp. Interfaces: OpsIQ\Connectors\SecuritySyncConnectorInterface.

survey

Survey identity, audiences, recipients and variables. Capability version: 1.0. Mode: generated. Runtime methods: surveyAudienceCatalog, surveyAudienceFacts, surveyVariableCatalog, surveyVariables, surveyRecipientPage. Interfaces: OpsIQ\Connectors\SurveyConnectorInterface. Package files: SurveyProvider.php.

reply_feedback

Ticket reply feedback mirror (platform reply ratings land via the portal write method). Capability version: 1.0. Mode: generated. Runtime methods: replyFeedbackCatalog, pullReplyFeedback. Interfaces: OpsIQ\Connectors\ReplyFeedbackConnectorInterface.

promo_audience

Promotion targeting facts. Capability version: 1.0. Mode: generated. Runtime methods: subscribers. Interfaces: OpsIQ\Connectors\PromotionConnectorInterface.

promo_feed

Promotion product/content feed. Capability version: 1.0. Mode: generated. Interfaces: OpsIQ\Connectors\PromotionConnectorInterface.

email_mailbox

Mailbox bus, outbound mail and address-book sync. Capability version: 1.0. Mode: generated. Runtime methods: emailAccounts. Interfaces: OpsIQ\Connectors\MailboxConnectorInterface.

inbound_email

Receive inbound email. Capability version: 1.0. Mode: declarative. Runtime methods: poll, handleWebhook. Interfaces: OpsIQ\Connectors\MailboxConnectorInterface.

outbound_email

Send outbound email. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions. Interfaces: OpsIQ\Connectors\MailboxConnectorInterface.

mailbox

Mailbox connector. Capability version: 1.0. Mode: declarative. Runtime methods: emailAccounts. Interfaces: OpsIQ\Connectors\MailboxConnectorInterface.

ai_tickets

AI triage and Inbox Copilot for remote tickets. Capability version: 1.0. Mode: generated. Runtime methods: loadTriageContext. Package files: AiOperations.php.

ai_reply

AI-assisted reply drafting. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

ai_brain_aware

Connector expertise supplied to Admin AI. Capability version: 1.0. Mode: generated. Package files: ai_expertise_admin.md, ai_api_reference.md.

native_api

Native API passthrough. Capability version: 1.0. Mode: generated. Runtime methods: registerActions.

platform_bridge

Signed platform bridge (for platforms with no API). Capability version: 1.0. Mode: generated. Runtime methods: registerActions. Package files: bridge/.

native_data

Local database/platform data adapter. Capability version: 1.0. Mode: declarative. Runtime methods: nativeDataProviders. Interfaces: OpsIQ\Connectors\NativeDataConnectorInterface.

crm

CRM capability provider (calendar, enrichment, telephony or customer data). Capability version: 1.0. Mode: declarative. Runtime methods: crmCapabilities. Interfaces: OpsIQ\Connectors\CrmCapabilityConnectorInterface.

block_registry

Remote sender block-registry synchronisation. Capability version: 1.0. Mode: declarative. Runtime methods: blockSender, unblockSender, isSenderBlocked. Interfaces: OpsIQ\Platform\BlockRegistryInterface.

inbound_comment

Inbound comment ingestion. Capability version: 1.0. Mode: declarative. Runtime methods: handleWebhook.

outbound_note

Outbound private note. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

outbound_notification

Outbound notification delivery. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

oauth

OAuth 2.0 authorisation. Capability version: 1.0. Mode: generated.

reviews

Review ingestion and response. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

local

Local search/location data. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

Seo.

SEO data and actions. Capability version: 1.0. Mode: declarative. Runtime methods: registerActions.

site_intelligence

Site Intelligence provider. Capability version: 1.0. Mode: declarative. Runtime methods: siteIntelligenceProviders. Interfaces: OpsIQ\Connectors\SiteIntelligenceConnectorInterface.

analytics

Analytics data provider. Capability version: 1.0. Mode: declarative. Runtime methods: analyticsCapabilities.

comms

Communications/video-meeting provider. Capability version: 1.0. Mode: declarative. Runtime methods: commsCapabilities.

admin_assets

Connector-provided admin/account/public browser assets. Capability version: 1.0. Mode: generated. Runtime methods: adminAssets. Interfaces: OpsIQ\Connectors\AdminAssetConnectorInterface.

enterprise_hooks

Platform-native hooks and lifecycle callbacks. Capability version: 1.0. Mode: extension. Package files: EnterpriseExtension.php.

durable_queue

Durable outbox/inbox queue and retry policy. Capability version: 2.0. Mode: extension. Package files: EnterpriseExtension.php.

ticket_mirror

Bidirectional ticket mirror with conflict handling. Capability version: 2.0. Mode: extension. Interfaces: OpsIQ\Connectors\TicketMirrorConnectorInterface. Package files: EnterpriseExtension.php.

attachment_bridge

Attachment upload/download transfer. Capability version: 2.0. Mode: extension. Package files: EnterpriseExtension.php.

database_migrations

Connector-owned schema migrations. Capability version: 1.0. Mode: extension. Package files: EnterpriseExtension.php.

scheduled_workers

Connector-owned scheduled/background workers. Capability version: 1.0. Mode: extension. Package files: EnterpriseExtension.php.

conflict_resolution

Two-way sync conflict strategy. Capability version: 1.0. Mode: extension. Package files: EnterpriseExtension.php.

⚠️
As especificações do construtor continuam sendo a fonte autorizada, e as regras de negócios específicas da plataforma nos pontos de extensão gerados, o ciclo de vida do pacote, filas, trabalhadores, migrações e testes de conformidade permanecem gerenciados pelo Construtor.

Configurações de confiabilidade em cada ação.

Retrocede

Quantas vezes tentar uma chamada falhada, com um recuo que dobra cada tentativa, apenas os erros de tempo, 429s e 5xx são repetidos, um 4xx é culpa do seu pedido e repeti-lo queimaria o limite de taxa.

Limite de taxa

Um teto por minuto para esta ação, então um gatilho ocupado não pode martelar sua plataforma. 0 sem limite.

Tempo.

Quanto tempo esperar sua plataforma antes de desistir.

Confirmação.

Exigir que um humano aprove antes que a ação corra, e use-a para qualquer coisa destrutiva.

Tipos de autenticação

Passo 2 Escolha o que combina com o da sua plataforma. API documentação, o gerador emite o cliente HTTP certo para ele.

API chave no cabeçalho

Uma chave estática enviada como um cabeçalho fixo, por exemplo X-API Você dá o nome do cabeçalho e a etiqueta que o formulário de administração deve mostrar.API Espera que a chave seja um parâmetro de consulta, em vez disso, use cabeçalhos personalizados ou um conector de código completo.

Token do portador

Token sent as Authorization: Bearer <token>. Common for modern APIs.

Auth básica

Nome de usuário e senha, base64 codificado no cabeçalho da autorização.

HMAC-assinado

Uma chave pública mais um segredo, com o corpo de solicitação assinado.

OAuth 2.0 (client credentials)

Você dá ao token URL e um escopo opcional, o administrador fornece uma identificação de cliente e segredo, use isso quando sua plataforma emite credenciais para uma aplicação ao invés de para uma pessoa.

OAuth 2.0 (botão de conexão)

O fluxo de autorização com PKCE, para Stripe, Shopify, Slack e QuickBooks-estilo aplicativos.URL, o símbolo URL Depois de publicar, o administrador clica em conectar no conector, autoriza na sua plataforma e... OpsIQ Armazena o token de atualização e as fichas de acesso de menta sob demanda. URI Para se registrar em seu OAuth O aplicativo é mostrado na página de configurações do conector.

Cabeçalhos personalizados

Uma forma livre. JSON Mapa de cabeçalho para qualquer coisa que os padrões acima não cobrem, por exemplo {"X-API-Chave:"{api_key}"," X-Tenant:"{tenant_id} Cada placeholder se torna um campo no formulário de administração.

💡
PKCE se aplica apenas ao fluxo de botões de conexão, o fluxo cliente-credencial não tem redirecionamento e nenhum passo do usuário, então PKEC não se aplica a ele.

Estilos de paginação

Deslocamento

Usa parâmetros de deslocamento e limite.100&Limit=50.

Página

Exemplo: ?page=3Tradução e Sincronia:50.

Cursor

Usa um cursor da resposta anterior.

Cabeçalho da ligação

Usa o cabeçalho de resposta do Link com rel="próximo".

Avançado: código PHP personalizado

Não declara uma classe chamadaOpsIQOs nomes dos métodos abaixo são os que o Connector Interface requer, pegar um errado é fatal, não um aviso.

Connector. php: o contrato real, mínimo e executável
<?php
/* connectors/myplatform/connector.php */
declare(strict_types=1);

use OpsIQ\Connectors\AbstractConnector;

require_once __DIR__ . '/Client.php';

return new class extends AbstractConnector {

    /* ── the three identity methods. NOT identifier()/label(). ── */
    public function slug(): string        { return 'myplatform'; }
    public function name(): string        { return 'My Platform'; }
    public function description(): string { return 'Orders and customers from My Platform.'; }

    public function capabilities(): array { return ['actions', 'context']; }

    public function settingsSchema(): array
    {
        $f = __DIR__ . '/settings.json';
        if (!is_file($f)) return [];
        $j = json_decode((string)file_get_contents($f), true);
        return is_array($j['settings'] ?? null) ? $j['settings'] : [];
    }

    /* ── NOTE THE ARGUMENT. testConnection() with no parameter is a fatal. ── */
    public function testConnection(array $settings): array
    {
        try {
            $resp = \OpsIQ\Connectors\MyPlatform\Client::callWithSettings($settings, 'GET', '/me', [], []);
            $code = (int)($resp['http_code'] ?? 0);
            return ($code >= 200 && $code < 300)
                ? ['success' => true,  'info'  => ['message' => 'Connection OK', 'http_code' => $code]]
                : ['success' => false, 'error' => "Verify endpoint returned HTTP $code"];
        } catch (\Throwable $e) {
            return ['success' => false, 'error' => 'Test failed: ' . $e->getMessage()];
        }
    }

    public function onEnable(array $settings): array  { return ['success' => true]; }
    public function onDisable(array $settings): array { return ['success' => true]; }

    public function handleWebhook(array $payload, array $headers, array $settings): array
    {
        return ['success' => true, 'note' => 'No triggers declared.'];
    }

    /* Inherited from AbstractConnector: reads actions.json for you.
     * Override only to ADD actions the manifest cannot express. */
    public function registerActions(array $settings): array
    {
        return parent::registerActions($settings);
    }
};
⚠️
Three things that fatal at class load rather than failing gracefully. The identity methods are slug(), name() and description() — not identifier() and label(). testConnection() TAKES an array of settings; a no-argument version is an incompatible signature. And there is no $this->http() or runAction() on AbstractConnector — HTTP goes through your own Client.php or through an action declared in actions.json.

Bilhetes de espelho para o sistema de bilhetes nativos

Quando sua plataforma possui um ticket, espelhe-o em OpsIQ do seu conector usando o auxiliar de ingesta de ticket que seu conector herda (criar para um novo ticket, adicionar resposta para acompanhamentos). subscribers() método, ticket.created, ticket.replied, ticket.updated, ticket.deletedResposta automática, escalada, SLA e CSAT todos se conectam aos mesmos eventos, então você os herda sem código extra.

Diga quem escreveu a mensagem de abertura.

Um bilhete é sempre para O cliente, mas a mensagem de abertura pode ser escrita por staffCada helpdesk apoia isso, então é parte do universal. ticket.created contrato em vez de algo que cada conector resolve em particular.

author_type

Omita-o e o cliente é assumido.

author_id

A identificação da equipe quando autor_type=admin.

author_name

Agente ou departamento, nome do monitor.

author_email

Uma mensagem da equipe sob o e-mail do cliente é um relatório e erro de auditoria.

Isso não é cosméticos. Os consumidores lêem author_type Uma abertura escrita pela equipe como client deixa a resposta automática elegível para responder uma mensagem que seu próprio agente escreveu, e faz o eco de sua plataforma dessa abertura parecer uma nova mensagem do cliente, que então chega como uma duplicata e vira o bilhete para answeredMapeie o sinal da sua plataforma para ele no conector. Normalizador de eventosNunca nos consumidores.

Bloqueio centralizado.

Quando um agente bloqueia um remetente, isso se aplica através de every Canal imediatamente (e-mail, chat, portal, widget e cada conector gêmeo) porque o bloco é forçado centralmente, antes que qualquer conector veja a mensagem.

A metade opcional é outboundDiga a sua plataforma que um cliente foi bloqueado aqui, implementá-lo apenas se sua plataforma pode expressar algo equivalente.

-Capacidades.

A bandeira é uma reivindicação, a interface é a garantia.

blockSender($b)

Recebe o t ip o (e-mail domínio)ip), valor, razão, administrador, expira em, site_key.

unblockSender($b)

A mesma carga, revertida, deve ser indempotente, desbloquear algo nunca bloqueado é uma falha, não um erro.

isSenderBlocked($b)

Para reconciliação, a deriva é relatada em vez de descoberta por um cliente.

Valores de resultado

Certo.

Inclua remoto quando tiver uma identificação que valha a pena gravar.

noop

Já está no estado requerido.

unsupported

Sua plataforma não tem um conceito equivalente.

Falhou.

Você poderia ter feito isso e deu errado, incluindo detalhes, ele aterrissou na trilha de auditoria.

Declínio é uma resposta correta. Muitas plataformas não têm o conceito de "bloquear este remetente" e oferecer apenas suspensão de conta, que pára de faturar, logins e serviços em vez de apenas apoiar o correio. unsupported E deixe-o em paz.

A redução também cobre o caso onde a plataforma can Faça isso, mas não vai deixar. APIUma alavanca que existe apenas na interface de administração da plataforma é uma alavanca que seu conector não tem.

Exemplo trabalhado · Zendesk (a implementação de referência)

Leia connectors/zendesk/connector.php alongside this. It is short, and every branch below is a decision you will face too.

E-mail → ok

Coloque. /api/v2/users/{id} As novas solicitações do usuário final suspenso são desviadas para tickets suspensos em vez de abrir um, genuinamente a mesma ideia que bloquear um remetente, e ele pára sem faturamento porque os usuários finais do Zendesk não têm nenhum.

Domínio → sem suporte

ZendeskPODE suspender um domínio inteiro, mas só através da suspensão: palavra-chave na área de texto da lista do Centro de Administração, e nãoAPIA característica existe, a alavanca não.

ip → sem suporte

Sem nível de ingresso. IP Bloqueio existe.

Endereço desconhecido → noop

O Zendesk não pode pré-suspender um endereço que nunca viu, nada a fazer não é um fracasso e o quarteirão local ainda para o ingresso.

Agente ou administrador → sem suporte

Um endereço de um funcionário que chega a uma lista de bloqueio é mais provável ser um erro do que uma instrução, verifique o papel antes de agir.

O contrato não pode impedir que você mapeie um bloco em algo destrutivo, então cada conector tem que decidir por si mesmo o que ele recusará. detail Um operador pode ler, é melhor que obedecer.

Reporte honestamente. Observe como poucas dessas filas são okEste é o resultado correto, não uma lacuna: um bloco de domínio ainda funciona (é forçado no núcleo no momento em que está escrito); simplesmente não pode ser espelhado para fora. ok Por algo que você não fez, diria a um operador que o bloco chegou à sua plataforma quando nunca saiu. OpsIQ.

Regras

O quarteirão local sempre vence.

Está escrito antes de você ser chamado e ficar em qualquer lugar que você retornar.

Nunca jogue

Um lançamento é tratado como não suportado e gravado.

Seja indemponente.

O mesmo bloco pode ser anunciado mais de uma vez.

Volte rápido.

O ventilador está sincronizado com o clique do operador, em fila de trabalho lento ao invés de manter o pedido aberto.

Não ligue de volta.

Nunca volte a bloquear OpsIQ O registro ignora o conector de origem, mas um segundo salto faria um loop.

Cada anúncio está escrito para opsiq_block_registry_log (operação, tipo, valor, razão, administrador, origem, projétil de conector, resultado, detalhe e timestamp) para que um operador possa ver um bloco chegar da sua plataforma em vez de de um agente, e o que cada conector fez sobre isso.

Empurre os anexos corretamente.

Mão e attachments Array para criar()/addReply(). Cada item carrega o arquivo em uma de três formas:

content_b64

Base64 dos bytes do arquivo RAW, use para arquivos atrás da autenticação (a maioria dos casos de entrada). OpsIQ Decodifica e reapresenta o arquivo para você, a forma mais portátil.

url_ / fonte_url

Um https público URL (por exemplo, um conteúdo do Zendesk_url). Deve ser https; passa uma verificação SSRF / allowlist antes de ser armazenado.

stored_path

Uma referência de arquivo armazenada que você já escreveu (o que o compositor nativo produz).

Items also accept filename, mime_type and size_bytes. Caps: 12 MB/file, ~24 MB total, 10 files per call. Most platform read APIs return attachment Apenas nomes de arquivos (não bytes), então o padrão confiável de entrada é: leia os bytes onde seu código já funciona (dentro da plataforma, ou da carga útil do webhook), base64-los, e enviá-los como content_b64 no evento.

Saída (OpsIQ → sua plataforma). Quando um agente prende um arquivo, o ticket.replied A carga de carga dá-lhe os arquivos da resposta como stored_path itens sob o OpsIQ Leia-os e empurre no formato da sua plataforma, e verifique os documentos da plataforma. WHMCS Quer. base64_encode(json_encode([[name,data]])) (JSON, não serialize); Zendesk envia bytes brutos para /uploads.json Para um símbolo, então se define comment.uploads; Gmailenvia um RFC multi-parte/misto.822A base de mensagens 64url-codificada em raw; Amazon SES inbound attachments need the S3 receive action (the SNS path caps at 150 KB).

Plataformas remotas: API + webhook, nunca mais outras mesas de aplicativos

Se sua plataforma é um Aplicativo ou banco de dados separados (um SaaS hospedado, um remoto WHMCS, um DB diferente no mesmo servidor), Nunca escreva suas tabelas diretamente.Uma base de dados cruzada, que é ativa e silenciosamente falha as linhas reais. outbound = chamar o REST assinado da plataforma API inbound = a plataforma POSTs um webhook assinado, seu handleWebhook() Verifica e dispara o fósforo. ticket.* Para parar um loop de espelho, marque o que você empurra com um marcador de origem (por exemplo. mirror_origin:'opsiq'A plataforma ecoa no gancho e seu contato de entrada ignora seus próprios ecos. OpsIQEvents::isMirroredEvent() no topo de cada encarregado.

Status do espelho, prioridade e departamento

Uma resposta move o status automaticamente, e agent Responder → answered, a cliente Responder → customer_replyPara mudanças explícitas, ticket.updated e ler payload['changes'] (por exemplo. {status:'closed'}).

Estado: OpsIQ O conjunto canônico é... open, customer_reply, answered, in_progress, pending, closedMantenha um pequeno mapa de duas vias para o vocabulário da sua plataforma, e certifique-se que sua coluna realmente aceite os valores que você escreve (uma coluna que é ENUM Faltando um valor é silenciosamente deixado para vazio por alguns bancos de dados). Departamento: O que é? OpsIQ A identidade do departamento não tem sentido do seu lado. Nunca envie.Envie o descritor (name, email e slugE resolver contra seus próprios departamentos por e-mail → nome → lesma, então "Departamento de Billing" pousa em Seu Departamento de cobranças em vez de GeralAtire em ambos. ticket.escalated e um department_id Mudança em ticket.updated.

💡
Status / prioridade / assunto / departamento / delete espelhamento é fechado por conexão de comutadores (espelho_status_changes, espelho_priority_chapes, mirror_subject_chages, espelhos_departamento_chaves, espelho _deletes) ler através do compartilhado OpsIQ Conectores, MirrorOptions helper, incorpore esse bloco em suas configurações.json e cada conector de bilhete-espelho lê as teclas idênticas.

Ligue um bilhete para um produto / serviço

Se o cliente escolheu um produto específico ao abrir o ticket, carimbe uma dica para que o agente veja um cartão de serviço focado (com um clique "ver outros produtos" modal para o resto).

related_service_id

Preferred: the service id exactly as it appears in your IdentityProvider::lookupCustomerServices() list (each service's id). Unambiguous match.

related_service_label

Um código de serviço, por exemplo. WHMCS S396 (serviço396) / D11 (domínio11). OpsIQ Decompõe a letra opcional + ID e combina com sua lista de serviços, com um guarda tipo para que um código de domínio nunca corresponda a um produto do mesmo id. Expor um ref correspondente em cada serviço para uma correspondência exata.

related_domain

Um nome de domínio, combinado como uma sub-corrente contra o detalhe/domínio de cada serviço.

💡
Construir a lista de anexos uma vez, na forma acima, e OpsIQ Lida com o resto: hospedado. URLs Você nunca precisa escrever o processamento de arquivos por plataforma.
⚠️
As teclas de ação são letras minúsculas, dígitos e sublinhados.3para80personagens e também permite pontos; a loja de ação aceita2para100A adição de uma ação não cria nenhuma rota AJAX, então não há nada para regenerar, salvar o conector e está sincronizado.
Conectores

Vender através do chat: o mapa comercial

Um conector que pode vender, uma plataforma de loja, um sistema de reserva, um portal de pagamento, declara qual das suas próprias operações responde.OpsIQDeclare-o e o conector aparece em Configurações.→Conversa do Cliente→Vender através do bate-papo automaticamente, parar de declarar e desaparecer.

O arquivo: commerce_roles.json

A declaração vive em seu próprio arquivo na raiz do pacote - A presença do arquivo é a reivindicaçãoNão pode viver em connector_contract.jsonEsse arquivo é regenerado pelas ferramentas de embalagem e seu esquema rejeita chaves desconhecidas, então um bloco acolchoado à mão falharia na validação e seria substituído.

commerce_roles.json
{
  "commerce": {
    "roles": {
      "catalog_search": { "operation": "acme_search_products", "transport": "http" },
      "order_get":      { "operation": "acme_get_order",       "transport": "http" },
      "order_create":   { "operation": "acme_create_order",    "transport": "http",
                          "recovery": "acme_get_order" }
    }
  }
}

As regras, e por que cada uma existe

Papel é um vocabulário fechado.

OpsIQUm papel que não é declarado não existe, declarar é o contrato inteiro.

A operação deve ser uma de suas ações.

Toda operação mapeada deve existir em seu actions.jsonUm erro de digitação declara uma capacidade que não pode ser executada, e aparece para um cliente como "Posso verificar isso para você" seguido por nada.

Um papel lido nunca aponta para uma operação destrutiva.

Leia os papéis (catalog, disponibilidade, cotação, busca de pedidos) devem mapear para operações que não mudam nada em sua plataforma.

Um papel de escrita nunca mapeia uma operação genérica de gravação.

Mapeamento order_create para uma mesa crua... record.create, db.insert, recordCreateUma linha escrita diretamente ignora os preços da sua plataforma, o bloqueio de ações e a confirmação do correio, produzindo uma ordem em que seu próprio sistema não acredita totalmente.

Um papel de escrita declara uma operação de recuperação

O tempo mais perigoso é depois que sua plataforma já criou a ordem, sem uma busca de recuperação as únicas opções são tentar novamente cegar ou perdê-la.

As funções de pagamento têm três obrigações extras.

Um pacote declarando qualquer papel de pagamento também deve declarar payment_profile (moedas, países, métodos e environment - um ambiente não declarado é como uma integração teste leva um pagamento ao vivo), webhook_verify (O esquema de assinatura do seu provedor, um genérico secreto é recusado) e event_map ( seus eventos em canônicos).

No Conector Builder, marque o commerce capacidade e mapear os papéis no mago - ele valida todos os acima como você digita e escreve commerce_roles.json Desmarque a capacidade e o arquivo é removido na republicação. php tools/verify_commerce_contracts.php.
💡
Transporte é http para um controle remoto.APIou bridge para uma operação chamada em uma ponte implantada (ver o NO-APIOs papéis são diagnósticos de transporte, o tempo de execução só precisa do transporte indicado para que possa versionar uma ponte.
Conectores

Conectar uma plataforma que não temAPI(o padrão da ponte)

Muitas plataformas reais não enviam nenhum descanso.APIUm hotel CMS, um sistema de faturamento antigo, uma ferramenta interna sob medida.OpsIQConector para um: o conector envia um único arquivo PHP que o operador deixa em seu próprio webroot público, e esse arquivo éAPIEsta página é o padrão completo, com as regras que tornam seguro correr e a razão por trás de cada regra.

A forma dela

Um conector normal chama de outra pessoaAPINada mais muda, as mesmas ações, os mesmos provedores de contexto, o mesmo contrato de identidade, a mesma disposição do pacote.

1
Você escreve um arquivo PHP

It lives in your package at bridge/opsiq-<platform>-bridge.php. It talks to the platform's database directly, or boots the platform's framework, or both. It answers JSON.

2
O operador copia em sua webroot

Ao lado do próprio index. php da plataforma, nenhum código de plataforma é modificado, nenhum plugin é instalado, nada para manter em todas as atualizações da plataforma.

3
O painel de conectores entrega o arquivo.

Sua configuração. json declara webhook_help. snippet_template. A página de conectores o torna um arquivo copiável com suas configurações ao vivo já substituídas, então não há nada para editar à mão.

4
OpsIQ calls it server-to-server

Seu Client.php envia pedidos GET com a chave compartilhada em um X-Opsiq- Cabeçalho da Ponte-Chave.URLA configuração é a raiz do site da plataforma.

O Conector Builder pode gerar isso agora.API" perfil (ou definir o acesso de dados à ponte) e emite o arquivo da ponte, o trecho do painel correspondente e as ações digitadas que lêem e escrevem através dele - para uma aplicação Laravel lendo seu Env,WordPressUma ponte escrita à mão é segura do mago: ela só substitui um arquivo de ponte carregando seu próprio marcador.
💡
Everything on this page is shown in PHP against MySQL, because that is the reference implementation and the only combination the packaging pipeline fully supports. The pattern itself is language-agnostic and engine-agnostic: see "The bridge in other languages and other databases" for the gate in Node, Python, Go, Ruby, .NET and Java, the introspection query for PostgreSQL, SQL Server, SQLite and Oracle, and the MongoDB equivalent — along with the packaging constraint that decides how a non-PHP bridge reaches the operator.

O modelo de segurança, e por que cada regra está lá

Este arquivo está numa rede pública atrás de uma chave compartilhada, que um único fato leva todas as regras abaixo, não relaxe nenhum deles para simplificar sua ponte.

O chamador nunca forneceSQL

Não uma cláusula WHERE, nem um fragmento de ordem por, não um parâmetro de consulta bruto "apenas desta vez", o chamador nomeia uma tabela, uma coluna e um valor, seu arquivo constrói a instrução, no momento em que um chamador pode contribuir SQL texto, uma chave compartilhada torna-se execução arbitrária do banco de dados.

Nomes de tabelas e colunas são validados contra informações_schema

Os identificadores não podem ser ligados como parâmetros, então eles têm que ser verificados em vez disso.

Cada valor é um parâmetro limitado.

Identificadores validados mais valores ligados é o par que faz a superfície total e a superfície de injeção zero.

As leituras são universais, as escritas estão na lista de permissão.

Esta é a regra que as pessoas mais querem pular.

Colunas secretas são redigidas em leitura e recusadas em escrita.

Combinar com a coluna Nome: senha, lembre-se, segredo, api_key, chave particular, sal, token. Substitua o valor por um placeholder na saída.

Os excluídos são uma única linha, pela chave primária.

Uma remoção em massa é como um banco de dados morre, se alguém realmente precisa de um, pode fazê-lo na plataforma.

As leituras estão em cima da linha.

Uma consulta não pode ser jogada no banco de dados através de uma mensagem.

Falhar fechado até que a chave esteja definida

Uma ponte não configurada responde.403Uma ponte que é útil antes de ser configurada é uma ponte que foi útil para um estranho.

Comparação constante de chaves, chave em um cabeçalho.

A chave vai em X-Opsiq-Bridge-Key, não a string de consulta, então ele fica fora dos registros de acesso, logs proxy e cabeçalhos de referência.

SÓ COMEÇAR

One method, one shape, nothing to smuggle in a body. Everything the bridge does is expressible as a GET with validated parameters, and OpsIQ is the only caller.

Lê universal, escreve "permitido" e por quê.

Esta é a regra que se discute, então aqui está o raciocínio completo. O assistente deve ser capaz de ver toda a plataforma: é isso que torna útil, e uma leitura não pode destruir nada. Escreve são diferentes. Este arquivo fica em uma raiz pública atrás de UMA chave compartilhada. Se essa chave vaza, uma superfície de escrita irrestrita faz o vazamento equivalente ao controle total do banco de dados — um novo usuário administrativo, uma tabela de reservas vazia. Uma lista de permissões significa que uma chave com vazamento ainda não consegue alcançar uma tabela que o operador nunca ativou.

⚠️
OOpsIQO administrador clicando em Permitir uma ação destrutiva é um controle sobre o assistente, não é um controlo sobre quem tem a chave da ponte, são duas ameaças diferentes, e a lista de permissão é a resposta para a segunda.
O botão de frente para o operador, da ponte Botble.
/* ── WRITE ALLOW-LIST — which tables the assistant may CHANGE here.
 *
 * READS are unrestricted: the assistant can see every table in the platform.
 * WRITES are limited to this list, because this file sits in a PUBLIC webroot
 * behind ONE shared key — an allow-list means that even a leaked key cannot
 * reach a table you never enabled (no new admin users, no emptied bookings).
 *
 * Comma-separated table names. Add tables as you need them — e.g. append
 * ',pages,posts' to let the assistant edit site content. Set it to '*' to
 * allow every table, deliberately. Empty falls back to the hotel defaults. ── */
const OPSIQ_WRITE_TABLES = 'ht_bookings,ht_booking_rooms,ht_booking_addresses,ht_rooms,ht_room_types,ht_customers,customers';

Dois detalhes na verificação abaixo são fáceis de errar, o nome da tabela já chega RESOLVED, carregando o prefixo da mesa da instalação, enquanto um operador escreve a lista de permissões sem prefixos porque é isso que eles naturalmente digitariam, compare ambas as formas ou uma instalação com prefixão silenciosamente não permite nada e cada gravação quebra, e a recusa deve se explicar, porque a pessoa que lê-la é administradora em uma janela de bate-papo, não um desenvolvedor com um traço de pilha.

A verificação da lista de permissão, verbatim de marketplace_connectors/botble/bridge/opsiq-Ponte-botble.php
/** Tables a WRITE may touch. Empty = the built-in defaults. */
$writeAllowed = static function (string $table) use ($prefix): bool {
    $raw = trim((string)(defined('OPSIQ_WRITE_TABLES') ? OPSIQ_WRITE_TABLES : ''));
    if ($raw === '') $raw = 'ht_bookings,ht_booking_rooms,ht_rooms,ht_customers,customers';
    if (trim($raw) === '*') return true;                     // explicit opt-in to everything
    $bare = ($prefix !== '' && stripos($table, $prefix) === 0) ? substr($table, strlen($prefix)) : $table;
    foreach (explode(',', $raw) as $t) {
        $t = trim($t);
        if ($t === '') continue;
        if (strcasecmp($t, $table) === 0) return true;
        if (strcasecmp($t, $bare)  === 0) return true;
        if ($prefix !== '' && strcasecmp($prefix . $t, $table) === 0) return true;
    }
    return false;
};

/** One refusal, one explanation — used by every write op. */
$requireWritable = static function (string $table) use ($writeAllowed): void {
    if ($writeAllowed($table)) return;
    opsiq_bridge_out(['success' => false, 'error' =>
        'write_not_allowed: "' . $table . '" is not in this bridge\'s write allow-list. '
        . 'Reads are unrestricted. To permit writes here, add the table to OPSIQ_WRITE_TABLES '
        . 'in opsiq-botble-bridge.php (or set it to "*" to allow every table).'], 403);
};

O portão, no máximo.

Quatro verificações, nesta ordem, antes que algo toque em dados.

Os quatro portais estão em ordem.
<?php
declare(strict_types=1);

/* ── EDIT THIS: a long random secret (40+ chars). Empty = bridge OFF. ── */
const OPSIQ_BRIDGE_KEY = '';

header('Content-Type: application/json; charset=utf-8');
header('Cache-Control: no-store');

function opsiq_bridge_out(array $payload, int $code = 200): void
{
    http_response_code($code);
    echo json_encode($payload, JSON_UNESCAPED_SLASHES);
    exit;
}

/* 1. Fail closed. An unconfigured bridge answers nothing to anyone. */
if (OPSIQ_BRIDGE_KEY === '' || strlen(OPSIQ_BRIDGE_KEY) < 24) {
    opsiq_bridge_out(['success' => false, 'error' => 'bridge_not_configured'], 403);
}
/* 2. One method. */
if (strtoupper((string)($_SERVER['REQUEST_METHOD'] ?? '')) !== 'GET') {
    opsiq_bridge_out(['success' => false, 'error' => 'method_not_allowed'], 405);
}
/* 3. Constant-time key comparison, key from a header (never the query string). */
$given = (string)($_SERVER['HTTP_X_OPSIQ_BRIDGE_KEY'] ?? '');
if ($given === '' || !hash_equals(OPSIQ_BRIDGE_KEY, $given)) {
    opsiq_bridge_out(['success' => false, 'error' => 'forbidden'], 403);
}
/* 4. Only now read credentials and connect. */

Validando identificadores contra informações_schema

Essa é a peça que faz "o assistente pode chegar a qualquer mesa" de imprudente para seguro, resolve o nome da mesa do chamador contra o esquema real, tolera um prefixo de mesa faltando ou extra, e retorna nulo para qualquer outra coisa, tudo a jusante então funciona com um nome que existe comprovadamente.

Validação do identificador e redação, verbatim da ponte Botble.
/** Real tables in THIS database — the allow-list, straight from the DB. */
$allTables = static function () use ($pdo, $db): array {
    static $cache = null;
    if ($cache !== null) return $cache;
    $st = $pdo->prepare('SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = ? ORDER BY TABLE_NAME');
    $st->execute([$db]);
    return $cache = array_map('strval', $st->fetchAll(PDO::FETCH_COLUMN));
};

/** Resolve a caller-supplied table name to a REAL one, or null. */
$resolveTable = static function (string $name) use ($allTables, $prefix): ?string {
    $name = trim($name);
    if ($name === '' || !preg_match('/^[A-Za-z0-9_]+$/', $name)) return null;
    $tables = $allTables();
    foreach ($tables as $t) if (strcasecmp($t, $name) === 0) return $t;
    /* Tolerate a missing or extra table prefix. */
    foreach ($tables as $t) {
        if (strcasecmp($t, $prefix . $name) === 0) return $t;
        if ($prefix !== '' && strcasecmp($prefix . $t, $name) === 0) return $t;
    }
    return null;
};

/** Column introspection: table => [column => true]. Cached per request. */
function opsiq_bridge_columns(PDO $pdo, string $db, string $table): array
{
    static $cache = [];
    if (isset($cache[$table])) return $cache[$table];
    $stmt = $pdo->prepare('SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?');
    $stmt->execute([$db, $table]);
    $cols = [];
    foreach ($stmt->fetchAll(PDO::FETCH_COLUMN) as $c) $cols[strtolower((string)$c)] = true;
    return $cache[$table] = $cols;
}

/** Columns whose VALUES must never leave the platform. */
$secretCol = static function (string $c): bool {
    return (bool)preg_match('/(^|_)(password|remember_token|secret|api_key|private_key|salt|token)($|_)/i', $c);
};
/** Columns a write may never touch — auth material. */
$writeBanned = static function (string $c): bool {
    return (bool)preg_match('/(^|_)(password|remember_token)($|_)/i', $c);
};
/** Strip secret values from a row before it leaves the server. */
$redact = static function (array $row) use ($secretCol): array {
    foreach ($row as $k => $v) if ($secretCol((string)$k)) $row[$k] = '[redacted]';
    return $row;
};

Uma operação de leitura e uma obra completa.

Note o que está ligado e o que é validado. A coluna de filtro é verificada com a lista real de colunas e então interpolada como um identificador; seu valor está vinculado. O limite está apertado. As linhas são redigitadas na saída. A atualização recusa a chave primária e qualquer coluna de autenticação, e selos atualizados_at quando a tabela tem uma.

Leia qualquer tabela. Identificadores validados, valores limite, linhas com tampa
case 'query': {
    $t = $resolveTable((string)($_GET['table'] ?? ''));
    if ($t === null) opsiq_bridge_out(['success' => false, 'error' => 'unknown_table'], 404);
    $cols = opsiq_bridge_columns($pdo, $db, $t);
    if (!$cols) opsiq_bridge_out(['success' => false, 'error' => 'unknown_table'], 404);

    $sql = "SELECT * FROM `$t` WHERE 1=1";
    $args = [];

    /* Equality filter: column must be REAL, value is bound. */
    $wc = strtolower(trim((string)($_GET['where_column'] ?? '')));
    if ($wc !== '') {
        if (!isset($cols[$wc])) opsiq_bridge_out(['success' => false, 'error' => 'unknown_column: ' . $wc], 400);
        $sql .= " AND `$wc` = ?";
        $args[] = (string)($_GET['where_value'] ?? '');
    }
    /* Ordering: column validated, direction from a fixed pair. */
    $ob = strtolower(trim((string)($_GET['order_by'] ?? '')));
    if ($ob !== '' && isset($cols[$ob])) {
        $dir = strtoupper(trim((string)($_GET['order'] ?? 'DESC'))) === 'ASC' ? 'ASC' : 'DESC';
        $sql .= " ORDER BY `$ob` $dir";
    } elseif (isset($cols['id'])) {
        $sql .= " ORDER BY `id` DESC";
    }
    /* Hard row cap. */
    $lim = (int)($_GET['limit'] ?? 25);
    if ($lim < 1)   $lim = 25;
    if ($lim > 200) $lim = 200;
    $off = max(0, (int)($_GET['offset'] ?? 0));
    $sql .= " LIMIT $lim OFFSET $off";

    $st = $pdo->prepare($sql);
    $st->execute($args);
    $rows = array_map($redact, $st->fetchAll());
    opsiq_bridge_out(['success' => true, 'data' => [
        'table' => $t, 'returned' => count($rows), 'rows' => $rows,
    ]]);
}
Escreva uma linha - lista de permissão tabela, recusa colunas de autenticação, única linha por chave primária
case 'record.update': {
    $t = $resolveTable((string)($_GET['table'] ?? ''));
    if ($t === null) opsiq_bridge_out(['success' => false, 'error' => 'unknown_table'], 404);
    $requireWritable($t);                       // the allow-list, before anything else
    $cols = opsiq_bridge_columns($pdo, $db, $t);
    $pk   = $primaryKey($t);
    $id   = (string)($_GET['id'] ?? '');
    if ($id === '') opsiq_bridge_out(['success' => false, 'error' => 'id_required'], 400);

    $set = json_decode((string)($_GET['set'] ?? ''), true);
    if (!is_array($set) || !$set) opsiq_bridge_out(['success' => false, 'error' => 'set_json_required'], 400);

    $frag = []; $args = [];
    foreach ($set as $col => $val) {
        $col = strtolower(trim((string)$col));
        if (!isset($cols[$col]))  opsiq_bridge_out(['success' => false, 'error' => 'unknown_column: ' . $col], 400);
        if ($writeBanned($col))   opsiq_bridge_out(['success' => false, 'error' => 'refused: "' . $col . '" is auth material - change it through the platform own password flow, never by direct write.'], 400);
        if ($col === $pk)         opsiq_bridge_out(['success' => false, 'error' => 'refused: the primary key cannot be rewritten.'], 400);
        if (is_array($val) || is_object($val)) $val = json_encode($val, JSON_UNESCAPED_SLASHES);
        $frag[] = "`$col` = ?";
        $args[] = ($val === null) ? null : (string)$val;
    }
    if (isset($cols['updated_at']) && !isset($set['updated_at'])) $frag[] = '`updated_at` = NOW()';

    $before = $pdo->prepare("SELECT * FROM `$t` WHERE `$pk` = ? LIMIT 1");
    $before->execute([$id]);
    $prev = $before->fetch();
    if (!$prev) opsiq_bridge_out(['success' => false, 'error' => 'not_found'], 404);

    $args[] = $id;
    $up = $pdo->prepare("UPDATE `$t` SET " . implode(', ', $frag) . " WHERE `$pk` = ? LIMIT 1");
    $up->execute($args);
    opsiq_bridge_out(['success' => true, 'data' => [
        'table' => $t, 'id' => $id, 'changed' => $up->rowCount(),
        'before' => $redact(array_intersect_key($prev, $set)),
    ]]);
}

Sobrevivendo às diferenças de esquema

As versões da plataforma diferem, as colunas se movem, são renomeadas ou ausentes, uma ponte que assume que um esquema funciona em uma instalação, inscreva e adapte-se, selecione apenas as colunas que existem aqui, tolere o prefixo da tabela e tente as grafias plausíveis de uma referência.

Tolerância ao esquema, da ponte Botble.
/* Only ever select columns that exist on THIS install. */
$pick = static function (array $cols, array $wanted, string $alias = 'b'): string {
    $out = [];
    foreach ($wanted as $c) if (isset($cols[$c])) $out[] = "`$alias`.`$c`";
    return $out ? implode(', ', $out) : "`$alias`.*";
};

/* References vary: stored with or without a leading "#", with or without an
 * operator-configured alpha prefix, or only as a numeric id. Try every
 * plausible form — the PROOF match is what actually gates disclosure, so
 * tolerant matching here is safe. */
$refCandidates = [$ref, '#' . $ref];
$digitsOnly = preg_replace('/\D+/', '', $ref);
if ($digitsOnly !== '' && $digitsOnly !== $ref) {
    $refCandidates[] = $digitsOnly;
    $refCandidates[] = '#' . $digitsOnly;
}
$refCandidates = array_values(array_unique($refCandidates));
💡
Dê à sua ponte uma op=diag que relate apenas a ESTRUTURA, quais tabelas resolveram, quais colunas a tabela principal tem, e a forma da mais nova referência com cada dígito mascarado.

Erros uniformes, e a armadilha de enumeração

Uma forma para tudo.

Success is {"success":true,"data":{...}}. Failure is {"success":false,"error":"snake_case_reason"}. Your Client.php and every action then have exactly one response shape to handle.

Não-encontrado e sem-competição deve ser idêntico

Em uma superfície de busca, uma referência que não existe e uma referência cuja prova não corresponde deve produzir a mesma resposta.

Nunca vaze a razão para um visitante.

A ponte pode ser precisa comOpsIQO que alcança um visitante é decidido porOpsIQ, em uma recusa fixa.

O arquivo copiável no painel de conectores

O operador nunca abre seu repositório.OpsIQEssa cópia vem de configurações.json, e deve ser o mesmo programa que Bridge/*.php.

ajustes.json- a entrada do painel para um conector de ponte
{
  "settings": [
    { "key": "base_url", "label": "API base URL", "type": "text", "required": true },
    { "key": "api_key",  "label": "Bridge key",   "type": "password", "required": true,
      "autogenerate": true,
      "help": "Auto-generated the moment you enable the connector. It must match OPSIQ_BRIDGE_KEY inside the bridge file; the copyable file below already carries this value once saved." }
  ],
  "webhook_help": {
    "title": "One file, three surfaces",
    "body": "This platform has no public REST API, so this ONE file IS the API. Copy it into the site PUBLIC webroot, keeping the filename.",
    "snippet_filename": "opsiq-yourplatform-bridge.php   (drop next to the site index.php)",
    "snippet_template": "<?php\n/* ... the whole bridge file ... */\nconst OPSIQ_BRIDGE_KEY = \u0027{{setting:api_key}}\u0027;\n..."
  }
}
{{setting:key}} carries live values

The connector panel substitutes {{setting:<key>}} in the snippet with that connector's saved value, so the copied file already contains the operator's generated bridge key and needs no hand-edit. An empty or unsaved setting leaves the token visible, so the operator can see exactly what is still missing.

Outros placeholders são substitutos servidor-lado

Independentemente disso,{webhook_url}, {webhook_path}, {webhook_secret}, {site_key}, {base_url}e{slug}são preenchidos antes que o painel veja o trecho.

Webhook_help pode ser um objeto ou uma lista

Uma lista dá vários trechos em um painel, por exemplo, um arquivo de ponte e um gancho separado.

🚫
O arquivo da ponte e a cópia do painel são duas cópias de um programa, e eles vão se desviar — uma ponte foi atualizada e sua cópia do quadro não foi, então qualquer um que reinstalou e copiou do painel instalou a antiga ponte e perdeu silenciosamente cada nova capacidade.
Mantenha as duas cópias idênticas.
# Regenerate every package's panel snippet from its bridge file
php tools/sync_connector_bridge_snippets.php --apply

# Show what would change, without writing
php tools/sync_connector_bridge_snippets.php

Drift is now a failing conformance check, not a support ticket: the verifier compares the two line by line (ignoring the {{setting:...}} placeholders, which are supposed to differ) and names the first line that differs. Run the sync tool as the last step before every release, right before signing.

O que a ponte deveria expor

As operações formadas e uma superfície de dados universal, juntas... as formas retornam respostas arrumadas e feitas para as perguntas que as pessoas fazem... as universais cobrem tudo o mais para que o assistente nunca fique preso.

- Sim.

As estatísticas, a lista de objetos principais com filtros, um objeto com suas linhas relacionadas, o catálogo do que é vendido, a busca pelo cliente com histórico, dão à IA uma boa resposta em uma chamada ao invés de cinco.

"Escritas em forma"

As duas ou três mudanças de estado que importam, definir status, cancelar.

Descoberta universal

As tabelas (com contagem de linhas) e descrever (colunas, tipos, chave primária, além de bandeiras legíveis e graváveis por coluna).

Leitura universal e escrita

Cada um deles validado como mostrado acima.

Identidade, antes do portão da chave.

As sondas de identidade são chamadas pelo BROWSER do ADMIN, mesmo tipo de origem, então não podem enviar um cabeçalho personalizado.

Diagnósticos

op=diag, structure only, masked.

💡
Se sua plataforma só responde a perguntas, envie uma ponte sem registros e toda a classe de risco de escrita desaparece.

Lista de verificação antes de enviar uma ponte

A ponte recusa tudo sem chave.

Renomeie a constante para esvaziar e confirme todas as respostas.403.

Uma chave errada é recusada em tempo constante.

E a chave só lê do cabeçalho.

Um nome de mesa inventado é recusado.

E um nome de mesa com prefixo errado ainda resolve.

Uma coluna de senhas nunca aparece em uma leitura.

E uma escrita que diz que um nome é recusado com uma explicação.

Uma carta para uma mesa fora da lista de permissão é recusada.

Com a mensagem que diz ao operador como ampliá-la.

O trecho do painel combina com o arquivo da ponte.

O php tools/sync_connector_bridge_snippets. php relata isso em passo.

Reinstalar o conector não é suficiente.

Se o seu pacote enviar um arquivo de ponte, um operador atualizando o conector também deve reposicionar esse arquivo em sua webroot.

Conectores

A ponte em outras línguas e outros bancos de dados

O padrão da ponte não é um padrão PHP.OpsIQchamadas é um ponto de encontro HTTP, então o arquivo pode ser Node, Python, Go, Ruby, .NET ou Java, e a loja por trás dele pode ser qualquerSQLmotor ouMongoDBO que é em forma de PHP é o oleoduto de embalagem, e essa restrição decide como sua ponte chega ao operador.

O que o conector realmente requer

Nada diz uma língua.

Transporte

HTTPS, um pedido de obtenção por chamada, sem corpo, sem outro método.

Autenticação

Um segredo compartilhado no X-Opsiq-Bridge-Key Não é um parâmetro de consulta, nem um cookie, nem autenticação básica.

Parâmetros

- Fio de perguntas. op Nomeia a superfície, do Nomeia a operação, o resto são os argumentos da operação.

Resposta

JSON. {"success":true,"data":{...}} Ou {"success":false,"error":"snake_case_reason"}Aplicação tipo conteúdo.jsonE nada de cachê.

Códigos de status

200 on success. 403 unconfigured or wrong key, 404 not found, 405 wrong method, 400 bad argument, 501 unsupported on this schema.

Isso é tudo.

Sem estrutura, sem tempo de execução, não.OpsIQSe pode servir isso, pode ser uma ponte.

Entrega: o que pode viver em ponte /, eo que não deve

O pacote assinado cobre uma lista fixa de extensões de arquivos, e um arquivo fora dessa lista é deixado fora do ZIP.26Agosto2026Um arquivo em bridge/ que o empacotador cairia é uma falha de conformidade, então o pacote se recusa a passar em vez de instalar sem nenhuma ponte nele.

Como uma ponte / pasta é tratada na hora de construir
bridge/bridge.php     ->  SHIPPED, and drift-checked against the panel snippet
bridge/server.js      ->  SHIPPED, and drift-checked against the panel snippet
bridge/bridge.py      ->  REFUSED at conformance: "Bridge files are packaged" FAILS
bridge/bridge.rb      ->  REFUSED at conformance
bridge/main.go        ->  REFUSED at conformance
bridge/Bridge.cs      ->  REFUSED at conformance
bridge/Bridge.java    ->  REFUSED at conformance
PHP e JavaScript — totalmente suportados

O arquivo envia no ZIP assinado, e o verificador de trechos mantém sua cópia do painel como idêntica a ele, seja qual for dos dois, o cheque de deriva lê todos os arquivos em bridge/, não apenas os PHP, então uma ponte atualizada com uma cópia de painel falha na construção em qualquer idioma.

Tudo o resto, entregue apenas através do painel.

O trecho do painel é texto simples sem nenhuma idéia de qual idioma ele possui, então funciona para qualquer pilha. Coloque o programa inteiro em webhook_help. snippet_template, nomeie o arquivo em nome do arquivo e não deixe uma cópia em bridge/ — a conformidade irá recusar o pacote ao invés de enviá-lo vazio.

Se você realmente precisa de outra linguagem no pacote

Widen PackageSigner::EXTENSIONS deliberately, then re-sign and re-seed. That is a decision about what executable code Nabtech distributes, so make it on purpose — do not discover it from a missing file.

💡
Diga o nome do arquivo. webhook_help.snippet_filename É assim que o verificador sabe a qual ponte pertence uma cópia do painel, sem ela, um emparelhamento ambíguo é relatado como um aviso de conformidade e que o trecho fica fora de controle.
⚠️
O ponto da verificação de deriva é que um arquivo de ponte e sua cópia do painel são duas cópias de um programa e irá divergir. php tools/sync_connector_bridge_snippets.php --applyEntão, assine o pacote.

O portão, em seis línguas.

A única armadilha real é a comparação, e é uma armadilha diferente em cada idioma.

⚠️
Compare o SHA-256É correto em todas as línguas, e evita o fato de que vários comparadores de tempo constante jogam ou vazam em um erro de comprimento.500em vez de um403.
Node. js - o portão
// Node.js — no dependencies
const http = require("http"), crypto = require("crypto"), url = require("url");

const BRIDGE_KEY = process.env.OPSIQ_BRIDGE_KEY || "";   // empty = bridge OFF

const sameKey = (a, b) => {
  const ha = crypto.createHash("sha256").update(String(a)).digest();
  const hb = crypto.createHash("sha256").update(String(b)).digest();
  return crypto.timingSafeEqual(ha, hb);                 // equal lengths, always
};
const out = (res, payload, code = 200) => {
  res.writeHead(code, { "Content-Type": "application/json; charset=utf-8",
                        "Cache-Control": "no-store" });
  res.end(JSON.stringify(payload));
};

http.createServer(async (req, res) => {
  if (BRIDGE_KEY.length < 24)         return out(res, { success: false, error: "bridge_not_configured" }, 403);
  if (req.method !== "GET")           return out(res, { success: false, error: "method_not_allowed" }, 405);
  const given = req.headers["x-opsiq-bridge-key"] || "";
  if (!given || !sameKey(BRIDGE_KEY, given))
                                      return out(res, { success: false, error: "forbidden" }, 403);

  const q = url.parse(req.url, true).query;
  // ... dispatch on q.op / q.do exactly as the PHP bridge does
}).listen(process.env.PORT || 8787);
Python, o portão.
# Python — Flask
import hashlib, hmac, os
from flask import Flask, request, jsonify

app = Flask(__name__)
BRIDGE_KEY = os.environ.get("OPSIQ_BRIDGE_KEY", "")      # empty = bridge OFF

def same_key(a: str, b: str) -> bool:
    return hmac.compare_digest(
        hashlib.sha256(a.encode()).digest(),
        hashlib.sha256(b.encode()).digest(),
    )

def out(payload, code=200):
    resp = jsonify(payload)
    resp.status_code = code
    resp.headers["Cache-Control"] = "no-store"
    return resp

@app.before_request
def gate():
    if len(BRIDGE_KEY) < 24:
        return out({"success": False, "error": "bridge_not_configured"}, 403)
    if request.method != "GET":
        return out({"success": False, "error": "method_not_allowed"}, 405)
    given = request.headers.get("X-Opsiq-Bridge-Key", "")
    if not given or not same_key(BRIDGE_KEY, given):
        return out({"success": False, "error": "forbidden"}, 403)
Vá, Ruby, . NET e Java - a mesma comparação
// Go
func sameKey(a, b string) bool {
    ha := sha256.Sum256([]byte(a))
    hb := sha256.Sum256([]byte(b))
    return subtle.ConstantTimeCompare(ha[:], hb[:]) == 1
}

func gate(next http.HandlerFunc) http.HandlerFunc {
    return func(w http.ResponseWriter, r *http.Request) {
        w.Header().Set("Content-Type", "application/json; charset=utf-8")
        w.Header().Set("Cache-Control", "no-store")
        key := os.Getenv("OPSIQ_BRIDGE_KEY")
        if len(key) < 24 { out(w, 403, "bridge_not_configured"); return }
        if r.Method != http.MethodGet { out(w, 405, "method_not_allowed"); return }
        given := r.Header.Get("X-Opsiq-Bridge-Key")
        if given == "" || !sameKey(key, given) { out(w, 403, "forbidden"); return }
        next(w, r)
    }
}

// Ruby
def same_key?(a, b)
  OpenSSL.secure_compare(Digest::SHA256.digest(a.to_s), Digest::SHA256.digest(b.to_s))
end

// C# / .NET
static bool SameKey(string a, string b) =>
    CryptographicOperations.FixedTimeEquals(
        SHA256.HashData(Encoding.UTF8.GetBytes(a)),
        SHA256.HashData(Encoding.UTF8.GetBytes(b)));

// Java
static boolean sameKey(String a, String b) throws Exception {
    MessageDigest d = MessageDigest.getInstance("SHA-256");
    return MessageDigest.isEqual(d.digest(a.getBytes(UTF_8)), d.digest(b.getBytes(UTF_8)));
}

Validando identificadores em cada motor de banco de dados.

A propriedade de segurança não muda: uma tabela ou coluna nome da chamada fornecida deve ser verificada contra o esquema real antes que seja interpolado, e cada valor deve ser um parâmetro vinculado.

MySQLeMariaDB

Mesas: SELECT TABLE_NAME FROM information_schema.TABLES WHERE TABLE_SCHEMA = ?Colunas: o mesmo contra information_schema.COLUMNS com AND TABLE_NAME = ?Citação com contra-pontos, dobrando qualquer contra-passo dentro. LIMIT n OFFSET m.

PostgreSQL

Mesma visão de informações, nomes minúsculas, WHERE table_schema = $1 (geralmente publicCitação com aspas duplas, dobrando qualquer citação dupla dentro. LIMIT n OFFSET mObserve a regra dobrável: um identificador não citado é dobrado para minúsculas, então compare case-insensível quando você resolver um nome.

SQL Servidor

As mesmas visões da INFORMATION_SCHEMA, citações com parênteses, dobrando qualquer suporte de fechamento dentro. ORDER BY [id] DESC OFFSET @o ROWS FETCH NEXT @n ROWS ONLY.

SQLite

Mesas: SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%'Colunas: SELECT name FROM pragma_table_info(?) - Use essa forma de tabela, porque os nus PRAGMA table_info(x) A declaração não pode tomar um parâmetro encadernado e convidando a interpolação de cordas há exatamente o buraco que você está tentando fechar. LIMIT n OFFSET m.

Oráculo

Mesas: SELECT TABLE_NAME FROM ALL_TABLES WHERE OWNER = :owner; colunas de ALL_TAB_COLUMNSCitação com aspas duplas, e lembre-se de um identificador não citado dobra para o caso UPPER, o oposto de PostgreSQL. OFFSET :o ROWS FETCH NEXT :n ROWS ONLY 12c e depois.

MongoDB

Não.SQLEntão, sem interpolação identificadora e sem parâmetros ligados, uma disciplina diferente para o mesmo objetivo.

A consulta de introspecção por motor
-- MySQL / MariaDB
SELECT TABLE_NAME  FROM information_schema.TABLES  WHERE TABLE_SCHEMA = ?;
SELECT COLUMN_NAME FROM information_schema.COLUMNS WHERE TABLE_SCHEMA = ? AND TABLE_NAME = ?;

-- PostgreSQL
SELECT table_name  FROM information_schema.tables  WHERE table_schema = $1;
SELECT column_name FROM information_schema.columns WHERE table_schema = $1 AND table_name = $2;

-- SQL Server
SELECT TABLE_NAME  FROM INFORMATION_SCHEMA.TABLES  WHERE TABLE_SCHEMA = @schema;
SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = @schema AND TABLE_NAME = @table;

-- SQLite
SELECT name FROM sqlite_master WHERE type = 'table' AND name NOT LIKE 'sqlite_%';
SELECT name FROM pragma_table_info(?);

-- Oracle
SELECT TABLE_NAME  FROM ALL_TABLES      WHERE OWNER = :owner;
SELECT COLUMN_NAME FROM ALL_TAB_COLUMNS WHERE OWNER = :owner AND TABLE_NAME = :tbl;
💡
Resolva, então use o nome RESOLVED... nunca passe a soletrar do ouvinte para a consulta mesmo depois de verificar... olhe o nome real na lista que você leu do esquema e interpole isso.

MongoDBAs mesmas regras, semSQL

Não há nenhuma linha de pesquisa para injetar, então as pessoas assumem que não há nada a guardar.JSONDireto para dentro. find() Vamos enviar um chamado. {"$ne": null} Ou {"$gt": ""} Onde você esperava um valor, e selecionar silenciosamente cada documento.

MongoDB — collection allow-list, scalar-forced filter, projection as redaction
// Node + the official driver
const names = (await db.listCollections({}, { nameOnly: true }).toArray()).map(c => c.name);

function resolveCollection(given) {
  if (!/^[A-Za-z0-9_.-]+$/.test(given || "")) return null;
  return names.find(n => n.toLowerCase() === String(given).toLowerCase()) || null;
}

const coll = resolveCollection(q.collection);
if (!coll) return out(res, { success: false, error: "unknown_collection" }, 404);

// Build the filter from a validated field and a SCALAR value. Never spread
// caller JSON into it: {"$ne":null} would match every document.
const filter = {};
if (q.where_field) {
  if (!/^[A-Za-z0-9_.]+$/.test(q.where_field))
    return out(res, { success: false, error: "unknown_field: " + q.where_field }, 400);
  filter[q.where_field] = String(q.where_value ?? "");   // String() is the guard
}

// Projection is the redaction allow-list: drop secrets, never return them.
const projection = { password: 0, remember_token: 0, api_key: 0, secret: 0, token: 0 };

const limit = Math.min(Math.max(parseInt(q.limit ?? "25", 10) || 25, 1), 200);
const rows  = await db.collection(coll)
                      .find(filter, { projection })
                      .limit(limit)
                      .skip(Math.max(0, parseInt(q.offset ?? "0", 10) || 0))
                      .toArray();
Nomes de coleção vêm da listaColeções

Resolva a ortografia do chamador e use o nome resolvido.

Forçar cada filtro a um escalar

Um documento onde se espera um valor é o equivalente NoSQL de uma citação perdida.

Projeção é a regra da redação.

Excluir campos em forma de segredo na projeção para que eles nunca deixem o servidor, ao invés de excluí-los do resultado depois.

Apaga o documento de "single-document by"

Nunca delete muitos, e nunca um filtro que o chamador influenciou.

Escreve: "Permite-se a lista".

O mesmo raciocínio queSQLNomeie as coleções que uma escrita pode tocar, e recuse o resto com uma explicação.

O ponto final de identidade em outras línguas

A sonda de identidade é a outra metade de uma ponte, e é HTTP também.HMAC- SHA256 essa corda, junte-se a um ponto.

O Portal de Suporte já tem um catálogo pronto para o PHP, Laravel,WordPress, WHMCS, Node com e sem dependências, Flask e FastAPI, Django, .NET, Ruby on Rails, Java Spring Boot and Go. Pegue o sinal do sabor que combina com sua pilha.
O que mudar quando você reutilizá-lo

Esses trechos mentam um símbolo de entrega PORTAL, que é deliberadamente mais rigoroso: carrega jti e uso único: verdade e vive sobre120segundos porque ele viaja em umURLUma ponte ou um símbolo de identidade não carrega nenhum desses e usa uma exp mais longa, minutos a horas.

O que continua igual

O site, o iat, a exp e um nível superior autenticado, verdadeiro, mais um administrador ou cliente com identidade e nome de usuário ou email.

Ambas as formas de token verificam

A three-part JWT signed HS256 works, and so does the two-part base64url payload plus hex HMAC that the PHP reference emits. Use whichever your language's libraries make natural — a JWT library is usually the shorter path outside PHP.

Nunca mete no navegador.

Assinar o lado cliente significa enviar o site secreto para cada visitante.

Escolhendo, honestamente

A plataforma é PHP.

Escreva a ponte em PHP, ela é enviada no pacote, é checada por deriva e pode iniciar o próprio framework da plataforma para ler uma sessão ao vivo para a sonda de identidade.

A plataforma é Node.

Um JSs bridge ships, assina e é verificado exatamente como um PHP.

A plataforma é Python, Ruby, Go, . NET ou Java

Entregue através do trecho do painel e diga isso no corpo do painel; não deixe o arquivo na ponte, onde a conformidade irá recusar o pacote.

Não pode executar um processo no host da plataforma.

Então o padrão da ponte não é a ferramenta certa, uma ponte existe para alcançar uma plataforma de dentro do seu próprio hospedeiro.APIConector contra qualquer superfície que ele expuse.

⚠️
Uma sonda de identidade tem que ler a sessão de login da plataforma, o que geralmente significa correr dentro do próprio processo da plataforma ou pelo menos em seu host com acesso à sua loja de sessões uma ponte escrita em um idioma diferente da plataforma pode servir dados confortavelmente e ainda pode lutar para responder op=admin_identity.
Conectores

Dê ao assistente as duas metades: ações e contexto.

As ações deixam a IA fazer coisas, as seções de contexto deixam que ela saiba as coisas, e a maioria das perguntas que um administrador faz são respondidas por contexto, nunca por uma ação, um conector com ações perfeitas e nenhum provedor de contexto irá relatar sinceramente que não pode ver nada.

As duas metades

Ações - como a IA faz as coisas

Declarado em ações.jsonO modelo escolhe um, preenche seus parâmetros, eOpsIQAções são para verbos: cancelar esta reserva, abrir o ticket, mudar esse status.

Seções de contexto, como a IA sabe das coisas.

Reunido por um ContextProvider antes do modelo correr. "Quantas encomendas este mês", "quem são meus novos clientes", "o que vendemos" tudo resolve através de uma pesquisa contextual, e nunca toca em uma ação.

⚠️
Sintoma de um provedor desaparecido: o assistente responde "Nenhum conector habilitado forneceu esta seção de contexto" enquanto o conector é instalado, ativado e passando seu teste de conexão.

O vocabulário universal da seção

OpsIQO seu trabalho é decidir o que cada um significa em sua plataforma e respondê-lo.

Ordens / pendentes

Qualquer que seja a transação na sua plataforma: ordens, reservas, reservas... empregos, remessas.

Clientes

A lista de clientes.

products

O que a plataforma vende: produtos, quartos, planos, serviços.

faturando

Receita e somas em forma de dinheiro, mais contas por estado.

tickets, serviços, domínios, servidores, atividade

Não force um mapeamento, uma seção sem resposta é melhor que uma errada.

Qualquer outra coisa que sua plataforma tenha

Um provedor que declara seções ['licenças', 'envios'] tem aqueles fundidos na lista de permissão do universal, então buscas específicas da plataforma ficam disponíveis sem mudanças no núcleo.

O erro que custa um dia

O tipo de registro verifica, então uma classe que apenas olha para o lado certo é ignorada sem erros em qualquer lugar.

ContextProvider. php — o contrato, do pacote de referência Botble
use OpsIQ\Platform\ContextProviderInterface;

/* MUST implement ContextProviderInterface: ContextRegistry::collectAll()
 * type-checks it, so a provider that merely LOOKS right is skipped and every
 * section answers "No enabled connector supplied this context section" — the
 * exact symptom, with no error anywhere. */
final class ContextProvider implements ContextProviderInterface
{
    public function slug(): string  { return 'yourplatform_context'; }
    public function label(): string { return 'Your Platform (orders, customers, products)'; }
    public function priority(): int { return 30; }   // lower renders earlier

    /** ADMIN only. The guest surface has its own provider and its own rules. */
    public function surfaces(): array { return ['admin']; }

    /** The universal section names this connector can answer. */
    public function sections(): array
    {
        return ['orders', 'pending_orders', 'clients', 'products', 'billing'];
    }

    public function isAvailable(): bool
    {
        try {
            $s = \OpsIQ\Connectors\ConnectorRegistry::getSettings('yourplatform') ?: [];
            return trim((string)($s['base_url'] ?? '')) !== '' && trim((string)($s['api_key'] ?? '')) !== '';
        } catch (\Throwable $e) {
            return false;
        }
    }

    public function build(array $ctx): string
    {
        $section = strtolower(trim((string)($ctx['section'] ?? '')));
        $limit   = max(3, min(50, (int)($ctx['limit'] ?? 20)));
        $query   = trim((string)($ctx['query'] ?? ''));
        try {
            switch ($section) {
                case 'orders':
                case 'pending_orders': return $this->orders($limit, $query, $section === 'pending_orders');
                case 'clients':        return $this->customers($limit, $query);
                case 'products':       return $this->products($limit);
                case 'billing':        return $this->billing();
            }
        } catch (\Throwable $e) {
            return '';   // a provider must NEVER break prompt assembly
        }
        return '';
    }
}
Registre-o do conector.

Implemente ContextConnectorInterface e devolva seus provedores do ContextualProviders(). A classe de conector também pode implementar Contexte ProviderInterface diretamente e ser registrada como ela mesma.

Devolva o texto simples, não JSON

Escreva para um leitor: um cabeçalho, depois uma linha por linha.

Retorne '' em vez de atirar

Um provedor que joga é registrado e ignorado, mas devolver '' é o contrato.

O Construtor não pode escrever seções () para você.

O ContextProvider. php gerado envia seções(): array { retornar [];} e o assistente não tem campo para isso. Preencha-o à mão - e lembre-se que republicando do mago RELAÇA o arquivo.

⚠️
Uma página não é um total, um provedor que lista vinte linhas sem dizer, então o assistente responde confiantemente:20Quando a plataforma se mantiver,669Uma conta barata e uma linha explícita: "Total no arquivo:669(Esta lista mostra o mais novo20"É a solução, e uma contagem confiantemente errada é pior do que nenhuma conta.
Um bloco de seção que não pode ser contado errado.
$lines = ['YOUR PLATFORM — ORDERS (live, newest first)'];
$lines[] = 'TOTAL orders on file: ' . (int)$total
         . ' (this list shows the newest ' . count($rows) . ' only — never count these rows to answer "how many")'
         . ' | by status: ' . $byStatus;
foreach ($rows as $r) {
    $lines[] = '#' . (int)$r['id'] . ' ' . $r['reference'] . ' | ' . $r['status']
             . ' | amount ' . $r['amount'] . ' | ' . substr((string)$r['created_at'], 0, 16);
}
$lines[] = 'Use yourplatform_get_order (order_id) for the full record.';
return implode("\n", $lines);

Diga suas ações, então.OpsIQpode dizer leituras de textos

OpsIQSe a pessoa não puder reconhecer, é tratada como escrita e exige um cartão de aprovação.

1
É destrutivo ou exige confirmação ganha

Se um estiver pronto, a ação sempre precisa de aprovação.

2
Uma palavra escrita em qualquer lugar na identidade faz dela uma escrita

adicionar, criar, abrir, atualizar, editar, modificar, modificar , excluir, remover, destruir, cancelar, reembolsar, suspender, encerrar, ativar, aprovar, rejeitar, enviar, marcar, repor, capturar, anular, fechar, reabrir, atribuir, revogar, conceder, definir, alternar, habilitar, desativar, emitir, aplicar, cobrar, pagar, provisão, renovar, atualizar e mesclar, mover, transferir, aumentar, bandeira, registrar, sincronizar, empurrar, importar, executar, disparar, iniciar, parar, reiniciar e mais alguns.

3
Então uma palavra lida faz uma leitura

get, list, search, find, view, show, fetch, count, lookup, descreva, leia, exporte, preview, teste, ping, status, resumo, detalhe, recente, histórico, cheque, log, estatísticas, métricas, visão geral, receita, discriminação, relatório, análise, equilíbrio, uso, quota, instantâneo, insights, alimentação, rascunho, triagem, classificação, sugestão.

4
Então o método HTTP decide

OBTE, CABEÇA E OPÇÕES são leituras.

5
Caso contrário, é um texto.

Não reconhecido significa aprovação necessária.

⚠️
Escreva palavras são verificadas ANTES de ler palavras, então um nome misto como get_and_sync_orders é classificado como um WRITE. Escolha um verbo, coloque-o em primeiro lugar, e mantenha limpo: list_ordems, get_cliente, search_bookings, cancel_book, set_orde_status.

Só declare nativa se a plataforma realmente tiver uma.

The native_api capability registers a generic <slug>_api_call passthrough so the model can reach endpoints your typed actions do not cover. On a platform with no API it is worse than useless: the model keeps reaching for a tool that cannot succeed, instead of using the tools that can.

O construtor decide isso da sua resposta de acesso aos dados.

Say the platform has an API and it declares native_api and emits the passthrough. Say it has none (bridge mode, or the "Platform with no API" profile) and it declares platform_bridge instead and strips native_api, so the two can never both be true. You no longer hand-edit this.

Pacotes escritos à mão ainda devem acertar.

Se você está escrevendo o manifesto você mesmo, declare exatamente um de nativa_api ou plataforma_bridge. Conformance trata plataforma_ponte como a escotilha de fuga que um conector de ponte é esperado ter, e o Construtor recusa uma especificação que reivindica plataforma_ ponte em umAPIConector.

Mantenha a referência.

On a connector that declares native_api the admin brain heads that file with a line naming <slug>_api_call. Without native_api it is headed neutrally instead, so a bridge connector no longer advertises a tool it does not have. Describe your real surface — for a bridge, that is your op and do vocabulary, not a REST endpoint table.

Ensine o cérebro administrativo sobre sua plataforma.

Declare ai_brain_aware and ship two Markdown files. They are read from the INSTALLED package directory (opsiq/connectors/<slug>/) for ENABLED connectors only, and injected into the admin agent's system prompt.

- Admin.

Escreva para um colega competente que nunca viu a plataforma.

AI_API_reference. MD

Para um conector de ponte, este é o seu vocabulário e os parâmetros deles, não uma tabela de objetivos REST.

Orçamento

Aproximadamente.6,000caracteres mantidos por conector, e sobre24,000Personagens para todo o bloco em todos os conectores habilitados... sobre o cap de conexão, seu arquivo é truncado, seja conciso antes que o truncador esteja.

Precisão paga

Esses arquivos são a diferença entre o assistente usando suas ferramentas universais de mesa e respondendo da seção errada porque nada disse que essas ferramentas existiam.

💡
Ambos os arquivos devem estar no pacote INSTALADO, não apenas na árvore de origem, são arquivos comuns, então estão cobertos pela assinatura e enviados no ZIP, o que também significa editar um após assinar quebra o selo.
Conectores

Identidade através de um conector: administrador, cliente, portal

O trabalho do conector é transformar "quem está conectado na plataforma" em um símbolo assinado.OpsIQpode verificar, e então apresentar o sujeito verificado emOpsIQO conector nunca autentica ninguém.

As três superfícies, um sinalizador

Admin. Sua equipe, dentro de sua infraestrutura.

O widget carrega dentro do painel de administração da plataforma e cada membro da equipe é igual ao seu.OpsIQAgente, passe pela página de administração.

Cliente, um cliente assinado, em bate-papo com o cliente.

Isso é o que permite que um cliente logado obtenha sua conta inteira em vez de uma busca anônima: cada pedido, detalhe completo e qualquer ação de autoatendimento que você permitir.

Portal, uma ligação profunda no portal de suporte.

As mesmas reivindicações mais jti e single_use, com um120-segunda vida, porque o símbolo viaja em umURLNão role com a mão, o Portal de Suporte carrega um trecho pronto por idioma, e a plataforma conta para você quando a área da conta é executada neste servidor.

O contrato de carga

Nada aqui é opcional, qualquer que seja o exemplo parcial que possa sugerir.

site_key

O nível superior deve ser igual à chave do local da solicitação, ou o símbolo é recusado.

- Não, não.

Exp deve ser no futuro e depois de iat, um símbolo mais do que um minuto no futuro é recusado.

autenticado: verdadeiro

O nível superior, além da exp.

plataforma

Um projétil curto que nomeia a origem, recomendado e permite que o provedor de identidade do conector diga suas próprias fichas de outra plataforma.

administrador ou cliente

Um objeto que nomeie o sujeito deve ter um id não vazio, e um nome de usuário ou um e-mail, o portão de acesso por administrador combina com eles.

Minta, verbatim da ponte Botble
$payload = [
    'site_key'      => $cfgSiteKey,
    'iat'           => time(),
    'exp'           => time() + 6 * 3600,
    'authenticated' => true,
    'platform'      => 'yourplatform',
    /* 'admin' or 'customer' — OpsIQ stamps the matching session identity
     * from whichever key is present. */
    $opsiqSubject   => $subjectPayload,
];
$payload64     = rtrim(strtr(base64_encode(json_encode($payload, JSON_UNESCAPED_SLASHES)), '+/', '-_'), '=');
$identityToken = $payload64 . '.' . hash_hmac('sha256', $payload64, $cfgSecret);

Os dois verificadores, e a falha que eles causam

OpsIQSabendo que isso te poupa uma tarde, porque o sintoma não se parece com a causa.

O widget de administração tem seu próprio verificador.

opsiqA lista de conversas, o histórico e tudo não lido passam por isso, então eles autenticam bem.

O verificador compartilhado é mais rigoroso.

opsiqInclui/cliente/identidade_token_verify.php senta atrás do fluxo de bate-papo e o núcleo AJAXAPIPrecisou historicamente da bandeira no nível TOP.

O sintoma

Cada bate-papo responde "Acender o login do administrador" e é exatamente como um bug de sessão, mas não é: falta a bandeira de topo.

O que o núcleo atual faz

Agora aceita a bandeira no nível superior, ou dentro do assunto, então o contrato é uniforme, os núcleos mais velhos só lêem o nível superior.

Qualquer arquivo no seu pacote que menta fichas de identidade é estaticamente digitalizado contra o contrato, e uma carga útil a plataforma recusaria falhas na conformidade com o arquivo exato e linha.

Clientes assinados em bate-papo de clientes.

O núcleo deve carimbar o cliente verificado, e seu conector deve apresentá-lo.

1
Sua ponte ou ponto final menta um símbolo de cliente

Se a sua plataforma der sinal para os clientes em um guarda diferente dos administradores, leia o guarda que você quer e nunca se afaste dos assuntos.

2
O núcleo verifica e sela.

Em um símbolo válido, o núcleo carimba o sujeito verificado na sessão.

3
Sua identidade, Provider apresenta-o.

DetectarCustomer() retorna a forma OpsIQ. Deve implementar OpsIQ\Platform\IdentityProviderInterface, ou o registro silenciosamente pula-lo - a mesma armadilha que o provedor de contexto.

4
Suas ações com o cliente aceitam um cliente.

E...OpsIQO modelo não pode fornecê-lo.

IdentityProvider.php - leia a identidade comprovada, apresente-a emOpsIQA forma do corpo.
use OpsIQ\Platform\IdentityProviderInterface;

final class IdentityProvider implements IdentityProviderInterface
{
    public function slug(): string  { return 'yourplatform_identity'; }
    public function label(): string { return 'Your Platform identity (bridge-signed identity_token)'; }
    public function priority(): int { return 25; }   // ahead of the generic session provider

    public function isAvailable(): bool
    {
        try {
            $s = \OpsIQ\Connectors\ConnectorRegistry::getSettings('yourplatform') ?: [];
            return trim((string)($s['base_url'] ?? '')) !== '';
        } catch (\Throwable $e) { return false; }
    }

    public function detectAdmin(): ?array
    {
        $row = $this->sessionRowFor('_opsiq_admin_identity');
        if (!$row || !$this->isOurs($row)) return null;
        return [
            'id'       => (int)($row['id'] ?? 0),
            'name'     => $this->displayName($row, 'Admin'),
            'email'    => (string)($row['email'] ?? ''),
            'username' => (string)($row['username'] ?? ''),
            'role'     => (string)($row['role'] ?? ''),
            'platform' => 'yourplatform',
            'source'   => 'yourplatform_identity_token',
        ];
    }

    public function detectCustomer(): ?array
    {
        $row = $this->sessionRowFor('_opsiq_customer_identity');
        if (!$row || !$this->isOurs($row)) return null;
        return [
            'id'       => (int)($row['id'] ?? 0),
            'name'     => $this->displayName($row, 'Customer'),
            'email'    => (string)($row['email'] ?? ''),
            'phone'    => (string)($row['phone'] ?? ''),
            'platform' => 'yourplatform',
            'source'   => 'yourplatform_identity_token',
        ];
    }

    /* A session identity stamped by ANOTHER platform's token must not be
     * claimed here. An empty platform is accepted because older bridges did
     * not stamp one, and the site key already scoped the token. */
    private function isOurs(array $row): bool
    {
        $p = strtolower(trim((string)($row['platform'] ?? '')));
        return $p === '' || $p === 'yourplatform' || $p === 'remote';
    }

    private function sessionRowFor(string $key): ?array
    {
        if (session_status() !== PHP_SESSION_ACTIVE) return null;
        $row = $_SESSION[$key] ?? null;
        return (is_array($row) && (int)($row['id'] ?? 0) > 0) ? $row : null;
    }
}

Ações de cliente: duas fechaduras, ambas necessárias.

O modelo nunca deve escolher os dados que lê.OpsIQUma fechadura está longe de um vazamento, duas fechaduras são um contrato.

Bloqueio.1 — OpsIQSobrepõe os parâmetros de identidade

Antes de uma ação cliente-chat correr, OpsIQ substitui cada parâmetro em forma de identidade com a identidade do visitante VERIFIED: client_id, clientid, user_id , userrid, customer_id.

Lock 2 — your platform re-scopes every query

Pegue a identidade que lhe foi dada e adicione-a à cláusula de onde cada leitura e cada escrita nessa superfície.

Diga seus parâmetros, então tranque.1pode encontrá-los.

Chame de cliente, não de cliente ou árbitro.OpsIQNão reconhece é um parâmetro que não pode bloquear.

⚠️
Give the signed-in customer surface its OWN operations, separate from the admin ones, even when the SQL looks similar. Two surfaces with different rules stay honest; one surface with a flag becomes a leak the day someone edits the wrong branch.

Fiação de página zero: a sonda declarada pelo conector.

You can spare the operator all page wiring. Add an admin_identity_probe_url setting (https only) pointing at your identity endpoint. The plain admin-widget loader from Remote Sites, Codes then works with no page attributes at all: the widget discovers the endpoint through the connector, calls it with the site key and widget token, and authenticates each admin individually. A page can still override with a data-identity-endpoint attribute or window.OpsIQAdminIdentityEndpoint.

ajustes.json- o ajuste da sonda.
{
  "key": "admin_identity_probe_url",
  "label": "Admin identity probe URL",
  "type": "text",
  "placeholder": "https://your-site.com/opsiq-yourplatform-bridge.php?op=admin_identity",
  "help": "Set this to your bridge admin_identity endpoint and the plain admin-widget loader works with NO page wiring: the widget probes this URL by itself, the bridge answers with the signed identity of the CURRENTLY logged-in admin, and every admin is matched to their own OpsIQ agent. Leave empty to keep the admin embed off."
}
A sonda é chamada pelo navegador.

A autenticação é a sessão da plataforma, coloque na porta da sua chave de ponte, mantenha longe dos dados de registro e não devolva nada para um visitante que saiu.

Ela responde a uma forma fixa.

{"success":true,"authenticated":true,"admin":{...},"identity_token":"..."} — and {"success":false,"authenticated":false,"error":"..."} when nobody is signed in.

Nenhum segredo de longa data na fonte da página.

Só o sinal assinado, que expira.

As implementações completas para Laravel,WordPress, WHMCSSymfony e PHP simples, além dos detalhes de Laravel difíceis e da ordem de solução de problemas, estão na página do widget de administração.

Conectores

Editor: editar a pasta não é publicar

A maneira mais comum de perder uma tarde é editar um conector sob conexão de mercado, reinstalá-lo e não encontrar nada mudado.

Por que a edição não fez nada

marketplace_connectors/<slug>/ is the SOURCE

É onde você trabalha, nada instala.

O catálogo tem um ZIP assinado.

Uma instalação baixa o ZIP, verifica a assinatura e desfaz as malas até que você reconstrua o Zip, cada instalação fica recebendo o pacote antigo.

O Conector Builder publica em outro lugar.

It writes into /connectors/<slug>/ on this install. That is a local connector, not a marketplace release. The two paths do not overlap.

A sequência de lançamento

1
Bata a versão em dois arquivos.

ajustes.jsone contrato de conexão.jsonA conformidade os compara e falha se a lesma, a versão ou o conjunto de capacidades discordarem.

2
Re-sincronize o trecho da ponte

php tools/sync_connector_bridge_snippets.php --apply — only relevant if your package ships bridge/*.php, and mandatory if it does. Skipping it means the panel hands operators the previous bridge.

3
Re-assinalizar cada pacote

A assinatura cobre o arquivo hashes, então qualquer edição invalida-o. Assine por último, depois que cada arquivo for final.

4
Exportar a chave de assinatura, então semente

A Semeadora assina cada pacote enquanto constrói o ZIP, e ele corre em um contexto onde a chave não pode ser lida de configurações - então deve vir do ambiente.

5
Reaplicar o arquivo da ponte, se você enviar um

Reinstalar o conector atualiza o pacote, não toca na cópia que está no webroot do operador, diga-lhes, no painel e no changelog.

A liberação inteira, em ordem
# 2 — hold the panel copy identical to the shipped bridge
php tools/sync_connector_bridge_snippets.php --apply

# 3 — re-sign (do this last, after every file is final)
php tools/resign_all_connectors.php

# 4 — the seeder reads the signing key from the ENVIRONMENT only
export OPSIQ_CONNECTOR_SIGNING_KEY="$(php -r 'require "bootstrap/init.php"; echo opsiq_setting("connector_signing_key","");')"
php saas/scripts/maint/seed_marketplace_free.php --apply --only=<slug>

# verify before and after
php tools/verify_identity_contracts.php
php vendor/bin/phpunit tests/phpunit/Unit/Connectors
⚠️
Why the export is not optional: the signer looks for the key in OPSIQ_CONNECTOR_SIGNING_KEY first and the connector_signing_key setting second. The seeder runs on the SaaS bootstrap and tools/sign_connector.php boots nothing at all, so in both the settings reader does not exist — with no environment variable there is no key, and you get "No signing key available" or every package reported as signing_failed. Only tools/resign_all_connectors.php boots OpsIQ and can find the key on its own.

O que realmente navios

Só arquivos que a assinatura cobre.

O ZIP é construído a partir da própria lista de arquivos do assinante, então um arquivo perdido sentado na sua pasta não é enviado.

Extensões cobertas.

php,json, js,css, md, txt,html, sh, svg, png, jpg, jpeg, gif, webp, ico, yml, yaml - recursivamente, incluindo ponte / e testes /. assinatura.jsonEle mesmo está excluído dos hashes e então adicionado ao ZIP para que as instalações possam verificar.

Qualquer outra coisa é relatada como não embalada.

O semeador nomeia todos os arquivos que deixou para trás.

Editar qualquer arquivo coberto quebra o selo.

Incluindo um arquivo Markdown.

Arquivos necessários em um pacote distribuível.

connector.php

Devo retornar uma instância de ConnectorInterface.

settings.json

Manifesto: lesma, nome, versão, manifesto, compatibilidade, capacidades, connection_contract_version, configurações.

connector_contract.json

Seu contrato legível por máquina, sua versão e seu conjunto de capacidades devem ser idênticos às configurações.json.

LEIA-ME. MD, DEVELOPER. MD, MUDANÇA. Md

Todos os três são verificados quanto à existência e tamanho mínimo.

Um arquivo por capacidade declarada.

Cada capacidade nomeia o arquivo que espera: ContextProvider. php para contexto, IdentityProvideer. phP para identidade, GuestLookupProvideR. phpara guest_lookup, e assim por diante - a menos que o conector implemente a capacidade inline.

Nada que pareça uma credencial.

A conformidade verifica os três arquivos Markdown por valores em forma de segredo e chaves privadas, e falha em um sucesso.

Verifique antes de enviar.

A suíte completa de conformidade é a mesma que uma instalação funciona, verifica o manifesto contra o contrato canônico, que as capacidades de execução e manifestação concordam, que cada capacidade declarada tem seu arquivo e seus métodos, o contrato de identidade em cada arquivo de cunhagem, o jogo ponte-snippet, a higiene lista de convidados, a unicidade de ação e segurança de confirmação, e a assinatura do pacote.

Corra todos os quatro antes de cada lançamento.
# conformance for every marketplace package
php tools/test_marketplace_connector_conformance.php

# the identity-token contract, statically, with file:line on failure
php tools/verify_identity_contracts.php

# the connector unit suite
php vendor/bin/phpunit tests/phpunit/Unit/Connectors

# the release gate
php tools/release_gate_connectors.php
💡
Uma falha é esperada e não é um problema, a assinatura do pacote informa um aviso enquanto você ainda está editando, ele limpa o momento em que você se re-assina, e todas as outras falhas são reais.
Conectores

Pacote de conexão e referência do ciclo de vida

This is the source-level contract for building a connector that OpsIQ can discover, configure, validate, enable, execute, test, sign and distribute.

Referência do desenvolvedor
Pacote de conexão.Um pacote de conectores tem uma implementação necessária e se manifesta, com ações opcionais, receitas, conhecimento, ativos e metadados de assinatura.Pacote de conexão.developerMANIFESTv1LIFECYCLE-Conseguido.ESPAÇO DE TRABALHOEscondido.OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOconnector.phpClasse de conexão / fábricaObrigatóriosettings.jsonManifeste e configure o esquema.Obrigatórioactions.jsonDefinição de açãoOpcionalsignature.jsonMetais de assinatura do pacoteSoltem1DECLAREManifesto e capacidades2IMPLEMENTCiclo de vida e fornecedores3VALIDATETeste, sinal, pacote.
Um pacote de conectores tem uma implementação necessária e se manifesta, com ações opcionais, receitas, conhecimento, ativos e metadados de assinatura.

Pacote mínimo.

connectors/example_platform/
├── connector.php          # connector implementation / entry point
├── settings.json          # manifest + configuration schema
├── actions.json           # optional action catalogue
├── README.md              # setup, scopes, webhooks and limits
├── workflow_recipes.json  # optional reusable recipes
├── knowledge.json         # optional provider knowledge
├── profile.json           # optional connector profile
├── src/                   # optional client/provider classes
├── assets/                # optional admin assets
└── signature.json         # signed release metadata

Contrato manifesto

settings.json usa versão manifesta 1O validador espera uma lesma, nome, versão, expressão, compatibilidade, descrição e capacidades. opsiq_min e opsiq_maxO status de liberação é um dos production, beta, Previsão Ou templateOs pacotes legados podem ser normalizados com avisos, mas um novo pacote deve passar sem avisos.

Interface de conectores do núcleo

  • Identidade e configuração: slug(), name(), description(), capabilities(), settingsSchema(), testConnection().
  • Ciclo de vida: onEnable() e onDisable()A desativação deve ser não destrutiva, a purga de dados é uma operação deliberada separada.
  • Entrada / sincronização: handleWebhook(), poll(), backfill()A pesquisa trata de um trabalho incremental, o histórico das importações deve ser seguro para repetir.
  • Apoio: pushReply() onde a plataforma aceita respostas.
  • Ações: registerActions() Fornece contratos de ação executáveis.
  • Segurança: securityCapabilities(), syncBlockedIp(), removeBlockedIp(), testSecuritySync().

A base abstrata também oferece opcionais backfill, listagem de clientes, descoberta/criação de contas por e-mail, assinantes, detecção de administradores/clientes, provedores de faturamento/contexto/identidade, extração de respostas, retentando chamadas HTTP, JSON Acesso ao caminho, classificação confusa e ajudantes de paginação.

Capacidades e autenticação

Nomes de capacidade suportados incluem ações, gatilhos, contexto, identidade, vendas, faturamento, entrada_bilhete, saída_reply, sync_users, sincronia_departamentos, segurança_eventos, cliente_importação, segurança/nativo_bloco, promo_audiência, prom_feed, email_mailbox, nativa_api, ai_brain_aware e ai-tickets. API chave, portador, básico, HMAC,OAuth 2Credenciais do cliente,OAuth 2Código de autorização e modelos de autenticação personalizados.

Ciclo de vida do registro

  1. Discovery carrega o pacote e valida seu manifesto.
  2. A configuração é armazenada por espaço de trabalho, segredos são criptografados.
  3. Teste de conexão prova credenciais sem habilitar o conector.
  4. Activar chamadas onEnable()Sincroniza as definições de ação e pode iniciar o preenchimento inicial.
  5. Execução de pesquisa/webhook/subscritor sempre carrega contexto de espaço de trabalho.
  6. Desativar chamadas onDisable() e para a atividade sem excluir dados importados.
  7. Expurgar é uma operação explícita.

Regras de correção

  • Use a chave de espaço de trabalho/site em cada leitura, escrita, chave cache, chave de desduplicação e busca webhook.
  • Faça backfill, ingestão de webhook e ações de escrita idempotent.
  • Para sistemas remotos, usem seus API Nunca presuma que suas tabelas de banco de dados existem no OpsIQ Conexão.
  • Nunca exponha segredos, vestígios de provedores ou a existência de outro espaço de trabalho.
  • Declare apenas capacidades que o pacote realmente implementa. actions.json O catálogo não torna uma ação utilizável até que o conector seja instalado, habilitado, configurado e sua conexão seja válida.

Testando e soltando.

Execute o lint PHP, validation manifesto, testes de conexão, testes do esquema de ação, testes da assinatura/replay webhook, testes no espaço de trabalho, testes retrorrepeat, testes com conexão desabilitada e testes de falha/reteste. Um pacote de mercado deve ser assinado e verificado, incluir a configuração/permissões/documentação do webhooc e indicar seu verdadeiro status de liberação.

Conectores

Receitas do conector

Receitas passo a passo para configurações de conectores comuns.

Receitas
Receita do conectorA Shopify configurar a receita como uma lista de verificação: criar aplicativo, conceder escopos, colar token e teste, ativar webhooks, colocar uma ordem de teste.Receita do conectorShopifyReceita · Shopify com ganchos de teiaCriar um aplicativo personalizado em Shopify administradorAbrangendo os recursos: leituras, clientes...Pasta de domínio + token, clique em TestActivar sincronização Webhook (ordens auto-registro)Coloque uma ordem de teste → aparece nas vendas em 30s1STEP BY STEPCopiando receitas de pasta2REAL PLATFORMSShopify · WHMCS Stripe! Strike!3VERIFYA ordem de teste aparece em 30s
Cada receita é uma lista de verificação que você segue de cima a baixo, aqui, Shopify com hooks de ordem em tempo real, verificados por uma ordem de teste.

Receita: Shopify com webhooks em tempo real

Cenário:
Goal: Connect Shopify with automatic order sync and GDPR compliance.
O que fazer:

1. Create a custom app in Shopify admin (Settings > Apps > Develop apps). 2. Grant scopes: read_orders, read_customers, read_products, write_customers. 3. Copy the Admin API access token. 4. In OpsIQ Connectors > Shopify, enter store domain and token. 5. Click Test Connection. 6. Enable Webhook sync, OpsIQ registers order/customer webhooks automatically. 7. GDPR webhooks register automatically (data_request, customers/redact, shop/redact). 8. Verify: place a test order, check it appears in OpsIQ Sales within 30 seconds.

Receita: WHMCS integração

Cenário:
Goal: Connect WHMCS so AI can look up clients, services, tickets, and invoices.
O que fazer:

1. In WHMCS admin, Setup > Staff Management > Manage API Credentials. Create a key. 2. In OpsIQ Connectors > WHMCS, enter URL, API identifier, and secret. 3. Click Test Connection. 4. Install the WHMCS module addon for ticket relay. 5. Verify: ask the admin AI "Find client [email protected]". WHMCS data should appear.

Receita:StripePagamentos

Cenário:
Goal: Track Stripe payments and let AI look up transactions.
O que fazer:

1. In Stripe Dashboard > Developers > API keys, create a restricted key (read: Customers, Charges, Invoices, Subscriptions). 2. In OpsIQ Connectors > Stripe, enter the restricted key. 3. Test Connection. 4. Add webhook endpoint in Stripe: copy the webhook URL shown on the connector's own settings page. It carries a per-connector token and looks like https://your-domain.com/api/connectors.php?slug=stripe&token=THE_TOKEN A URL without the token is rejected with "Missing slug or token". 5. Select events: charge.succeeded, invoice.paid, customer.subscription.updated. 6. Copy the webhook signing secret to OpsIQ. 7. Verify: make a test payment, check it in OpsIQ Sales.

Receita: Perfil de Negócios do Google

Cenário:
Goal: Connect GBP for review management, posts, and insights.
O que fazer:

1. Create a Google Cloud project, enable Business Profile API. 2. Create OAuth 2.0 credentials (Web application). 3. Set redirect URI: copy it from the connector's own settings page. Google and Microsoft connectors share one slug-less callback: https://your-domain.com/connectors.php?oauth=callback Everything else uses https://your-domain.com/connectors.php?slug=<slug>&oauth=callback OAuth redirect URIs must match EXACTLY, and a URI missing oauth=callback is read as a webhook and answered with "Missing slug or token". 4. In OpsIQ, enter Client ID and Client Secret. 5. Click Authorize, sign in, grant access. 6. Select your business location. 7. Verify: reviews, posts, and insights should appear.

Conectores

Estenda a inteligência de CRM e Site

OpsIQOs subsistemas estão abertos para extensão.CRMou Inteligência do Site sem alterações paraOpsIQnúcleo, através do registro de capacidade da plataforma (\OpsIQDeclare a capacidade, implemente seu pequeno conjunto de métodos, envie o conector.OpsIQdescobre-o e liga-o à UI, ao Cliente.360A linha do tempo e os avisos de instalação.

Estenda CRM e SI
Capacidades da plataformaUm conector nos ônibus de alimentação esquerda (CRM, Inteligência do Site, Análise) descoberto pelo Registro de Capacidade.Capacidades da plataformaEspaço de trabalhoSeu conector.declara capacidades.CRMcalendário · enriquecimento · esign · pagamentos · caixa de correioInteligência do siteListando dados de classificação-Esquecimento.Analíticas da web: relatório e ingestãoCapabilidadeRegistrodescobre e liga a linha do tempo UI +1DECLARECapacidades, não edições do núcleo.2PLUG INCRM · SI · ônibus de análise3AUTO-WIREDUI, linha do tempo, alertas
Um conector declara capacidades (calendário, enriquecimento, dados de classificação, análise...) eOpsIQAuto-liga-los emCRMe Inteligência do Site, sem mudanças no núcleo.

Declare capacidades.

Declarativo.json)

Adicione um. <domain>_capabilities Array, melhor para conectores sem código/mercado. crm, site_intelligence.

Em código (connector. php)

Implementar crmCapabilities() / siCapabilities() retornando os mesmos descritores.

Declare um provedor de calendário CRM (settings.json)

Cenário:
Goal: make a calendar connector appear in the CRM Schedule-meeting panel.
O que fazer:

"crm_capabilities": [ { "type": "calendar", "label": "Calendar (Acme)", "actions": ["createEvent","listEvents","freeBusy"], "requires_auth": true } ]

Declare um provedor de Inteligência do Site.json)

Cenário:
Goal: feed local-listing data into Site Intelligence.
O que fazer:

"site_intelligence_capabilities": [ { "type": "local_listing", "actions": ["listLocations","listReviews","getInsights"], "requires_auth": true } ]

Autocarros de capacidade e sua superfície do método

CRM / calendário

createEvent($settings,$params) →{sucesso, evento_id, html_link, meet_link}; listEvents; freeBusyDirigido por \OpsIQ"CRM" Calendar Bridge.

-Crm/enriquecimento.

enrich($settings,$params) →Dirigido por...OpsIQ\CRM\EnrichmentBridge (também é executado automaticamente na empresa criar quando um provedor está conectado).

CRM / ESCREVER

sendForSignature($settings,$params) →Bem-sucedido, envelope, sinal de retorno.OpsIQ"CRM\EsignBridge".

Site_inteligência/lista local

listLocations, listReviews, getInsightsNaves através do conector de Perfil de Negócio Google.

SITENGENCE / ranque_data

keywordRanks($settings,$params) →Dirigido por...OpsIQPonte de dados Rank. Naves, conector SerpApi.

Analíticas/televisão

report($settings,$params) (sincronia/exportação) + ingest($settings,$events) (importação) conduzido por \OpsIQ Analíticos, Ponte de Análise. Google Analytics Conector (GA4). API Análises estão abertas para conectores como CRM + Site Intelligence (domínio analytics / analytics_capabilities).

Pagamentos / pagamento_fornecedor

listPayments, customerPayments, createPaymentLinkDirigido por \OpsIQMostrar os pagamentos de um cliente na linha do tempo do CRM + enviar um link de pagamento em um acordo.StripeConector de pagamentos. payments / payments_capabilities.

caixa de correio / e-mail _sync

listMessages + sendMessageDirigido por \OpsIQ"Caixa de e-mail" "Bridge", um cliente que usa os e-mails do cliente.360Timeline + envie e-mail de um acordo.Gmail+ Outlook / Microsoft365Conectores, domínio. mailbox / mailbox_capabilities.

Compartilhado. OAuth App + um redirecionamento

Todos os conectores do Google compartilham um aplicativo via \OpsIQ\OAuth\SharedGoogleApp. google_oauth_client_id/_secret Uma vez e calendário, análise, perfil de negócios + Gmail todos funcionam (os campos "(opcional)" por conexão são substituídos). URI, <site>/connectors.php?oauth=callback Porque o Google expõe não API para adicionar redirecionamento de URIs a um aplicativo; OpsIQ Recupera o conector do sinal. OAuth state Nonce, registre esse single. URI Uma vez e cada conector do Google (presente + futuro) autoriza sem mais configurações de console. SharedGoogleApp::resolve(...)De redirect_uri de sua oauthParams()Os conectores da Microsoft fazem o mesmo via \OpsIQ\OAuth\SharedMicrosoftApp (microsoft_oauth_*).

Os botões de importação estão ligados.

O Importar (recuperação histórica) e Importar clientes. Os botões mostram apenas para conectores que realmente os implementam, detectados pela reflexão, então não há nenhuma bandeira a declarar. backfill() Ou backfillChunk() Para ganhar o botão Importar; sobrepor listCustomers() (Retorno de email, nome próprio, páginas) para ganhar clientes Importação. AbstractConnector Não, o botão fica escondido, então a UI nunca oferece uma importação que um conector não possa executar.

Al através de ônibus

O agente de CRM propõe e marca reuniões fora de sinais de acordo (\OpsIQ\CRM\MeetingProposer → CalendarBridge), e auto-enriquece novas contas, o "AI opera o ciclo de CRM", executado em ônibus conectores.

Procura de ingressos para clientes.fetchTicket())

Duas camadas, sem mudanças no núcleo.

Quando um visitante faz referência a um número de ingresso na conversa do cliente ("Qual é o status do T-000123?"), OpsIQ Resolve em dois níveis. Tier1 lê o compartilhado OpsIQ Loja de ingressos, cada conector com inbound_ticket Os ingressos sincronizados funcionam para todos os conectores com código zero por conexão. Tier2 É um retorno ao vivo para ingressos antigos que nunca foram espelhados: core chama de OPTIONAL fetchTicket() Em cada conector habilitado que o implementa. duck-typed (descoberto por method_exists(), como contextProviders()/audienceCatalog()), assim que o assinado ConnectorInterface é intocado e conectores que não precisam (fontes de email/chat que criam tickets nativamente) simplesmente omitem.

⚠️
A propriedade é obrigatória e sua obrigação. fetchTicket() recebe a identidade de visitante VERIFIED em $ctx (client_id + client_emailResolva o cliente da plataforma a partir dessa identidade e consulte somente os ingressos do cliente, então verifique novamente a propriedade no registro de detalhes. null em qualquer erro, falta ou erro, nunca os dados de outro cliente. null Degrada graciosamente "não consegui encontrar o bilhete".
Connector. php, o contrato de fetchTicket () (referência: conectores/whmcs e conectores /zendesk)
<?php
// connector.php — OPTIONAL universal client-chat ticket resolver (Tier 2).
// Only add it if your platform keeps its OWN ticket store that may hold tickets
// not yet mirrored into OpsIQ. Return the normalised array below, or null.
//
// $ref      = ['mode' => 'id'|'tid', 'value' => string]  (from extract_ticket_ref)
// $ctx      = ['client_id' => int, 'client_email' => string]  (VERIFIED visitor)
// $settings = your connector settings
public function fetchTicket(array $ref, array $ctx, array $settings): ?array
{
    try {
        $email = trim((string)($ctx['client_email'] ?? ''));
        $cid   = (int)($ctx['client_id'] ?? 0);
        if ($cid <= 0 && $email === '') return null;            // no verified identity → refuse

        // 1) Resolve THIS visitor on your platform (by verified email/id).
        // 2) List ONLY their tickets and match $ref against the ticket number/id.
        // 3) Re-confirm ownership on the detail record before returning.
        //    On any miss/mismatch/error → return null (never leak).

        return [
            'tid'        => 'T-000123',     // the customer-facing reference
            'id'         => 123,            // your internal id
            'status'     => 'open',
            'subject'    => '…',
            'department' => 'Billing',     // '' if your platform has none
            'priority'   => 'high',
            'opened_at'  => '2026-06-29 10:00:00',
            'last_reply' => '2026-06-29 12:00:00',
            'message'    => 'opening message text',
            'replies'    => [               // oldest → newest; opening message may be first
                ['who' => 'You',   'date' => '…', 'message' => '…'],
                ['who' => 'Staff', 'date' => '…', 'message' => '…'],
            ],
        ];
    } catch (\Throwable $e) {
        error_log('[yourslug][fetchTicket] ' . $e->getMessage());
        return null;                                             // graceful degrade
    }
}

Como a plataforma usa

Descoberta

CapabilityRegistry::providers($domain,$type) Lista fornecedores com status instalado/ habilitado/pronto (baseado em arquivos; DB apenas para a bandeira ativada).

Seleção

CapabilityRegistry::active($domain,$type) As pontes chamam isso em vez de balas de codificação.

Notifique-a-instalar

Onde uma funcionalidade precisa de uma capacidade que ainda não está conectada, a UI mostra um clique para conectar/instalar o prompt, nunca um controle morto.

Guia completo.

Veja. connectors/PLATFORM_CONNECTORS.md (CRM + Inteligência do Site) e connectors/CRM_CONNECTORS.md no pacote.

Conectores

Procuras e reembolsos de autoatendimento do cliente (construir seu conector para o bate-papo do cliente)

Os clientes podem perguntar ao cliente sobre a sua própria conta ("meu saldo", "meus pedidos", "apoiei meu bilhete") e, se o negócio permitir, pedir reembolsos. OpsIQ A IA chama suas buscas como ferramentas nativas (não pode inventar uma), a identidade está bloqueada do lado do servidor para o cliente verificado, e os resultados são automaticamente cortados para a IA.

Declare uma procura de clientes.

Em seu actions.jsonUma ação somente leitura torna-se acessível ao cliente com todos os três: "scope":"client", "requires_confirmation":false, "is_destructive":falseUse "scope":"both" O vocabulário completo é que o mesmo olhar também deve ser chamado pela sua equipe na IA Admin. admin, client, both e system (system Não alcança nenhuma IA...APIQualquer outra coisa é rejeitada, a validação do pacote falha e a ação não se instala. writing O assistente de redação é servido ao admin Ação definida.

A regra de identidade (obrigatório)

Nomeie seu parâmetro de identidade do conjunto padrão. client_id, clientid, customer_id, user_id, userid, account_idTravado nesse id como uma corda: client_identifier, customer_identifier, account_identifierTravado no e-mail verificado: email, client_email, customer_email, user_email. OpsIQ A IA nunca vê ou escolhe a identidade.

O que deve ficar apenas administrador

Qualquer coisa não examinada por essa identidade:order_id/ticket_id Eles são vazamentos de clientes em qualquer plataforma. "scope":"admin".

Formação de resultados (chaves para responder)

Os resultados da pesquisa são estruturalmente aparados antes de atingirem a IA: chaves em forma secretas são derrubadas, cordas longas e listas são tapadas, campos em branco são podados, e um mapa plano mais largo do que o boné mantém seu Primeiro, as chaves que carregam respostas., dinheiro (credit, balance, amount, total, due, paid), identidade (email, *name, phone, company), estado (status, active, expir*, renew*), datas, plano/produto/domínio/serviço/assinatura/pedido/fatura/título campos, moeda, conta e stats/summary/totalsGuia prático: nomeie seus campos com esse vocabulário padrão e devolva os campos que respondem à pergunta do cliente ao invés de um bruto100Um campo chamado fora do vocabulário compete pelos assentos sobrando e pode ser aparado de cargas muito largas.

Reembolsos · o que seu conector fornece

Duas operações brutas, sem políticas:1Uma verificação de pagamento filtrada por identidade e uma referência de transação. API Deve E os filtros), por exemplo. whmcs_get_transactions; (2) um reembolso executar ação (scope:"admin", requires_confirmation:true, is_destructive:true, nunca exposto ao cliente), por exemplo. whmcs_refund_orderO negócio escolhe as duas chaves em Configurações.→Conversa de clientes;OpsIQVerifica o lado do servidor de pagamento, aplica a caixa de política do negócio (capa de montagem, janela de idade, limite mensal), problemas dentro da caixa, e registra um ticket de revisão para tudo mais.

Construtor sem código

O editor de ação do Connector Builder tem os mesmos controles: definir "Quem pode usá-lo" para clientes com sessão, deixar as caixas de seleção desativadas e usar um nome padrão de parâmetro de identidade.

Implementação de referência

O "Auto-serviço ao Cliente" entra em connectors/whmcs/actions.json, woocommerce/actions.json, oscommerce/actions.json- O contrato completo. connectors/README.md §8.1–8.2 e ConnectorInterface::registerActions().

Conectores

Procura de hóspedes - deixe os visitantes rastrear uma reserva, envio ou ordem sem se inscrever (convidado)

Hotéis, correios e muitas plataformas comerciais servem clientes que têm uma referência mas sem login: um hóspede com confirmação de reserva, um destinatário com número de rastreamento. guest_lookup Capacitação (Connector Contract, modo: gerado) permite que seu conector sirva aqueles visitantes no chat do cliente AI - nãoOpsIQSeu conector declara o que prova direito e quais campos são visíveis.OpsIQForça os interruptores, o acelerador e o uniforme negam.

O modelo de confiança

Referência + prova, nunca identidade

O visitante fornece a referência de registro (conforme o regex que você declara) mais a prova que você escolhe — normalmente o e-mail no registro. Sua ação de busca recupera o registro SERVER-SIDE por referência; OpsIQ provedor gerado compara a prova com o registro FETCHED. A entrada do visitante nunca é confiável, e nenhuma identidade verificada é criada: o jogo dá ao visitante direito aos campos autorizados desse registro, nada mais.

Negação uniforme (sem oráculo de enumeração)

A IA é explicitamente instruída a nunca confirmar se existe uma referência e nunca inventar detalhes de registro.IPAntes que seu conector seja consultado.

Opte-in duplo, ambos padrão desligado

Nada serve os hóspedes até que o negócio permita ambos os interruptores: o controle de espaço de trabalho em Configurações→Segurança.→"Pesquisas de registro de clientes em bate-papo com cliente" (permissão e sempre confirmadas por senha, mesmo quando o reforço opcional está desligado), e seu conector próprio guest_lookup_enabled Instalar ou habilitar um conector sozinho nunca abre a superfície do hóspede.

A superfície dedicada de convidados

O provedor gerado registra no guest superfície do contexto, estruturalmente separada de admin e customerO CTX que recebe carrega a mensagem de chat, o id do tópico e o email pré-consultado (inverificado) do visitante como um candidato à prova - sem campos de identidade.

Declarando no Construtor

1
Defina a ação de busca.

No passo Ações, adicione uma ação somente leitura que devolve um registro por sua referência (por exemplo. GET /bookings/{booking_number}) e mapear seus campos de resposta com nomes falsos: status, chegada, partida, tipo de quarto, cliente_email...

2
Tique "Pesquisas de convidados"

Na etapa de capacidade, habilitar guest_lookupUm painel dedicado aparece: escolha a ação de busca, nomeie o parâmetro de referência, dê o padrão de referência (um corpo regex como \bBK-[0-9]{4,10}\b), nomeie o registro ("reserva"), e escolha a prova - e-mail no registro (recomendado) ou nenhum (referência apenas para status somente de rastreamento de correio).

3
Allowlist os campos visíveis

O construtor recusa campos em forma de PII (e-mail, telefone, endereço, pagamento...) na lista de permissões e a suíte de conformidade da porta de lançamento re-checa a mesma regra antes de publicar, então uma especificação escrita à mão não pode entrar escondida.

4
Publicar e ativar

O Construtor emite GuestLookupProvider.php - a implementação canônica endurecida, idêntica para cada pacote gerado - e acrescenta o guest_lookup_enabled O negócio arma os dois interruptores e o bate-papo IA começa a oferecer a busca quando um visitante pergunta sobre seu tipo de registro.

Regras contratuais

Apenas campos em forma de status

Pense "o que um mensageiro imprimiria na página de rastreamento público": status, datas, categoria de quarto ou serviço, conta.

A IA responde apenas do bloco.

O provedor gerado termina sua saída com uma instrução para responder apenas dos campos listados e para oferecer um ticket para qualquer outra coisa.

Seguimentos continuam trabalhando.

O provedor re-deriva a referência das mensagens recentes do visitante na mesma conversa, então "e quando é o check-out?" funciona sem re-tipagem da referência.

Pacotes de autoria manual

Um pacote de mercado pode enviar o seu próprio GuestLookupProvider.php implementing ContextProviderInterface com surfaces(): ['guest']Siga o contrato do modelo gerado exatamente - buscar por referência, prova-companheiro servidor-lado, uniforme negar, allowlist-somente saída - e declarar guest_lookup in capabilitiesA conformidade verifica a superfície do hóspede e escaneia a lista de permissão para PII.

💡
As buscas de clientes são apenas contexto para o chat AI. Eles nunca executam ações, nunca criam identidades, e nunca desbloqueiam o caminho de ação do cliente auto-serviço acima - esse caminho ainda requer um cliente com a plataforma verificada como registrado.
Conectores

Público de promoção segmentando (promoção)

Qualquer conector (pré-instalado, mercado, ou um que você construir) se junta implementando dois pequenos métodos. OpsIQ Seu conector aparece como uma plataforma na guia de alvo do estúdio com sua própria lista de fatos, e vários conectores podem ser ativados lado a lado.

Público de promoção
Público de promoção segmentandoUma identidade verificada passou para um público de conexão que chama de Flags produzindo fatos que dirigem uma regra de alvo, com uma nota fechada.Público de promoção segmentandoEspaço de trabalhoEntraram no sistema.Identidade verificada-Audiência, Flags.Seu conector.FATOSunpaid_invoices = 2REGULARFaturas não pagas 1Campanha mostraFalha fechada: cliente desconhecido ou qualquer erro → a campanha permanece escondida.1TWO METHODSPúblicoCatálogo + Bandeiras2LIVE STATENão pago, pendente, status3FAIL-SAFENunca aparece para pessoa errada.
Seu conector responde os fatos ao vivo para o visitante conectado, o estúdio tem alvos neles e falha em fechar para que uma oferta de faturamento nunca chegue à pessoa errada.

Como funciona

1
Declare seus fatos.

Implemente o públicoCatalog () em sua classe de conectores, devolve uma etiqueta e a lista de chaves que sua plataforma pode responder, cada chave aparece no estúdio sob seu nome.

2
Responda para um cliente.

Implement audienceFlags(array $identity). OpsIQ calls it at delivery time with the VERIFIED logged-in visitor identity (from the widget identity token, the same identity the client chat AI uses). Return a flat key => value map.

3
Feito.

A guia Promotion Studio Targeting tem uma seção de "Cliente e faturamento" listando sua plataforma; administradores constroem regras como "faturas não pagas >= 1", cada fato também se torna uma variável de personalização como {unpaid_invoices}.

Connector. php, o contrato de promoção completa
public function audienceCatalog(): array
{
    return ['label' => 'My Billing Platform', 'keys' => [
        ['key' => 'unpaid_invoices', 'label' => 'Unpaid invoices (count)', 'type' => 'number'],
        ['key' => 'pending_orders',  'label' => 'Pending orders (count)',  'type' => 'number'],
        ['key' => 'client_status',   'label' => 'Client status',           'type' => 'text'],
    ]];
}

public function audienceFlags(array $identity): array
{
    // $identity = verified token payload: ['email' => ..., 'id' => ..., 'name' => ...]
    $email = strtolower(trim((string)($identity['email'] ?? '')));
    if ($email === '') return [];
    $client = $this->api('GetClient', ['email' => $email]); // your platform call
    if (!$client) return []; // unknown client -> return [] (fails CLOSED)
    return [
        'unpaid_invoices' => (int)$client['unpaid_count'],
        'pending_orders'  => (int)$client['pending_orders'],
        'client_status'   => (string)$client['status'],
    ];
}

Regras contratuais

Anuncie a capacidade.

Adicionar 'promo_audience' Para o seu conector. capabilities() A pré-instalada é uma das mais importantes fontes de energia do mundo, que é a rede de distribuição e o mercado. connectors/whmcs Conector é a implementação completa de referência.

Nome da chave

Caso de cobra minúscula, 2-60 Tipos: número, texto, bool.

A identidade é verificada.

The $identity array comes from the signed widget identity token issued by the customer site at login, never from client-supplied fields. If your platform cannot resolve the identity, return an empty array.

Falhar fechado. Sempre

EM QUALQUER Erro (API Uma regra cujo fato está faltando não faz a campanha aparecer, uma popup direcionada para faturar nunca deve chegar à pessoa errada. OpsIQ Faz isso no jogo de regras também.

Desempenho

Os visitantes anônimos custam zero chamadas. 1-2 API Chamadas; OpsIQ Memoiza dentro do pedido.

Operadores fornecidos de graça.

Os administradores combinam suas chaves com =, !, >, >=, <, <=, contém, está definido, está vazio, você só fornece valores.

Tokens de personalização

Cada fato duplica como uma variável na cópia da campanha: {unpaid_invoices}, {client_status}, mais os built-ins {first_name} e {client_email} Os valores são higienizados antes de renderizar.

Conectores de mercado sem código.

Fatos automáticos

Declarativo (JSON- Apenas) conectores de mercado obter promo_audiência gratuitamente: se seu conector declara clientes/usuários, faturas, pedidos ou recursos de assinaturas, OpsIQ deriva status de cliente, faturas não pagas, valor devido, pedidos pendentes, subscrições ativas e status de assinatura das ações de busca existentes.

Catálogo personalizado (settings).json)

Adicione um objeto de capacidade para o público... {"label": "Minha Plataforma", "chaves": [{"chave":"carros abertos", "label", "Cartas abertas", "tipo": número}}}, para controlar exatamente quais fatos (e rótulos) aparecem no estúdio.

Testando seu provedor.

1
Active o conector.

A plataforma deve aparecer em "Cliente & faturamento (conectores)".

2
Construir uma regra

Add: Your platform · a key · >= · 1 and set "Logged-in clients only". Save and publish.

3
Verifique as duas direções.

Entrar na sua plataforma como um cliente que corresponde à regra (o popup deve mostrar) e como alguém que não (o Popup deve ficar escondido).

Dispare uma campanha do seu próprio código (acionador personalizado)

Por quê?

Além dos gatilhos embutidos (atraso, rolagem, entrada de saída, inatividade, clique, páginas-vistas, chat / atividade ticket), você pode disparar uma campanha de qualquer lugar em seu site ou conector front-end, após um passo de sucesso checkout, quando um carrinho é abandonado, quando o seu SPA muda rota, etc.

Como

Coloque o gatilho da campanha para Personalizado. com um nome de evento (por exemplo: checkout_failed- Então chame o gancho global da sua página:

Seu site / conector front-end JS
// Any campaign whose Custom trigger event matches will be evaluated
// (it still respects targeting, frequency caps and audience rules).
window.OpsIQPromo && window.OpsIQPromo.fire('checkout_failed');
💡
A campanha ainda tem que passar por todas as regras (geo, audiência, consentimento, bonés) antes de mostrar.
O guia completo de como usar (designing, blocos, análise, A/B, publicação) vive na Central de Ajuda in-app sob Acionar → Estúdio de PromoçãoA capacidade aqui é descoberta automaticamente de qualquer conector ENABLED em conectores/ ou conectores de mercado/. Não há nada para registrar.
Conectores

Capacitação do conector de pesquisa (Contrato) 2.2)

O survey A capacidade permite que qualquer plataforma forneça adaptadores de identidade verificada, fatos do público, variáveis seguras e candidatos ao Survey Studio. promo_audience e não dá uma propriedade de conectores de pesquisas, respostas, análise ou entrega de email.

💡
A criação está completa e utilizável hoje, contrato de conexão 2.2, SurveyConnectorInterface, o painel dedicado do Construtor, gerado SurveyProvider.phpO consumo ainda não está ligado. SurveyConnectorRegistry É implementado e testado, mas nenhum Survey Runtime o chama ainda, então a saúde do provedor não aparece na interface de administração e nenhum pacote de conector publicado declara a capacidade.CRMA materialização e os primeiros mapeamentos de provedores enviados permanecem fases separadas, contra este contrato agora, esperem que o tempo de execução comece a consumi-lo em um lançamento posterior.

Responsabilidades do provedor

Catálogo de audiências e fatos

Fatos canônicos e valores de resolução são definidos apenas para um assunto verificado pelo servidor, que inclui ordem_conta, última_ordem_status, contagem_orden, cliente_criado_at, conta_subscrição, contagem/condição_de_condição e contagem_de-fatura.

Catálogo variável e valores

Anunciar cliente, conta, ordem, assinatura e variáveis de suporte com tipo, sensibilidade e contexto permitido.

Chamada de beneficiário

Opcionalmente enumeramos candidatos para CRM com IDs externos estáveis, páginas delimitadas, cursores determinísticos e metadados relacionados ao consentimento.

Identidade

Aceitar identidade apenas do portal de identidade após assinatura, validade, propósito, conector e verificação de espaço de trabalho.

Saúde na corrida

O registro do ScruftConnector foi projetado para relatar provedores compatíveis, bloqueados e indisponível sem expor configurações, caminhos, identidades brutas ou mensagens de exceção, e um provedor bloqueado nunca pode ser invocado.

Regras fechadas por falhas

Chaves não declaradas, tipos errados, valores grandes, descompassos de assunto, tempo limite de conexão e identidades desconhecidas são rejeitadas, uma regra de alvo que precisa de um fato indisponível não bate, páginas de destinatários são cobertas e auditadas, valores sensíveis nunca aparecem em pré-visualização pública ou registros.

Portão de liberação do construtor

Contract 2.2 ships the capability registry entry, interface, Survey mapping panel, generated SurveyProvider.php, capability version, README/developer reference and conformance fixtures. Commerce, helpdesk, SaaS bridge and local PHP profiles include it; Standard API connectors opt in. The static gate rejects a Survey provider that calls a Promotion namespace, table or capability.

💡
A cópia da Promoção é apenas importação, o Construtor pode traduzir mapas compatíveis de promoção uma vez, salvar uma cópia completa do Survey e registrar a procedência.
Conectores

Resposta capacidade de feedback (Contrato 2.2)

O reply_feedback A capacidade reflete as próprias audiências de uma plataforma.OpsIQ Uma estrela que um cliente dá uma resposta pessoal dentro WHMCS A área do cliente está na mesma resposta no OpsIQ A linha de administração, com o mesmo chip, crédito do agente, entrada na página de Feedback e computação da equipe e desempenho como uma classificação dada em um OpsIQ Um depósito, um chip, um oleoduto, o conector só se traduz.

O único que escreve o caminho

Há exatamente dois caminhos de entrada e uma verdade. OpsIQ Os ingressos da plataforma passam pelo conector, e o núcleo aterra todos os eventos através de ReplyFeedback::recordMirrored()As mesmas colunas, regra apenas de funcionários, semânticas de um por resposta, selo de espaço de trabalho e Voz do Cliente indexando o portal usa.

Conformou-se (quatro arquivos, em seguida, re-assinar)

1
connector_contract.json

Adicione a entrada de recursos. Reply_feedback: versão 1.0, o ReplyFeedbackConnectorInterface, métodos de respostaFeedboxCatalog e pullRepleyFeed back, implica inbound_ticket.

2
settings.json

Adicione resposta_feedback à lista de recursos.

3
spec.json

Declare resposta.

4
Aula de corrida

Implemente a interface, list reply_feedback em capacity() e então re-assine o pacote.

Responsabilidades do provedor

Catálogo

Declare modos, escala de classificação da própria plataforma (core normaliza para o nativo 1-5O catálogo deve concordar com a especificação.json.

Puxe a tradução.

ReplyFeedback retorna eventos canônicos: plataforma de identificação do ticket, id de resposta da plataforma, classificação, reação/comentário opcional, tempo de envio e um evento estável.

Idempotência

Event_id é estável por feedback SATE, então um evento repetido é um no-op e uma classificação alterada substitui (últimos vitórias, como o portal).

Disciplina do cursor

Páginas são delimitadas e determinísticas, um cursor que não avança termina a corrida.

Segurança da sonda

Sem configuração, devolva uma página vazia em vez de jogar.

Resolução fechada por falhas.

O núcleo resolve cada evento para uma resposta local pelo marcador espelho o espelho já selos (<slug>:<ticket>:reply:<reply>Um evento que não pode ser resolvido é abandonado, nunca adivinhado, feedback só se aplica às respostas da equipe, e crédito do agente sempre vem do autor existente da resposta. inbound_ticket Ou ticket_mirror.

Trabalhou como exemplo: WHMCS

WHMCS Lojas cliente-área por resposta audiência estrela em tblticketreplies.ratingO... WHMCS Conector declara o modo de votação com 1-5 escala, naves a ticket_reply_ratings Retransmissão no seu arquivo de ponte, e traduz cada linha em um evento cuja identidade corresponde ao whmcs:<ticket>:reply:<reply> Depois de atualizar o conector, copie o arquivo da ponte para o servidor WHMCS para que o novo comando exista lá.

💡
Contrato de desenvolvedor completo com a interface, formas de eventos, regras de normalização e a lista de verificação de conformidade: doc/contracts/TICKET_REPLY_FEEDBACK_CAPABILITY.md na OpsIQ Aceitação: taxar uma resposta dentro da plataforma, esperar pela votação por hora, e a mesma resposta em OpsIQ mostra o chip, a página de Feedback lista, e um evento repetido não muda nada.
Conectores

Mercado de conexões

O Marketplace permite descobrir, instalar e publicar conectores construídos pela comunidade.

Mercado
Mercado de conexõesUma rede de cartões de conexão comunitária com categorias, botões de instalação e audiências de estrelas.Mercado de conexõesEspaço de trabalhoBuscar conectores...Calendly.AgendamentoInstalar★ 4.8HubSpotCRMInstalar★ 4.6-Correio de Correio.E-mailInstalar★ 4.7Livros RápidosContabilidadeInstalar★ 4.5Twilio.SMSInstalar★ 4.9NoçãoDoutores.Instalar★ 4.41DISCOVERConectores comunitários2INSTALLUm clique3PUBLISHAssine e envie o seu.
Navegue em conectores comunitários, instale em um clique, ou assine e publique seus próprios níveis de mercado, pré-instalados e pesquisáveis.

Encontrar e instalar conectores

1
Navegar

Procurem por nome, categoria ou plataforma.

2
Revisão

Verifique a descrição, ações apoiadas e audiência.

3
Instalar

O pacote de conectores baixa e instala em marketplace_connectors/.

4
Configurar

Active em Conectores, digite API Credenciais e teste.

Publicando um conector

1
Construir e testar

Use o Connector Builder, verifique se todas as ações funcionam.

2
Pacote

Gerar perfil.json, ações.json, conhecimento.json, e arquivos PHP.

3
Assine.

Run php tools/sign_connector.php <slug> to sign ONE package (it also accepts a path). It does not boot OpsIQ, so give it the key: either --key=<secret> or the OPSIQ_CONNECTOR_SIGNING_KEY environment variable, otherwise it stops with "No signing key available". tools/resign_all_connectors.php re-signs EVERY package on the install and reads the key from settings by itself, but it can also mint a NEW install-wide signing key, so reach for it only when that is what you want.

4
Submeter

Envie o fluxo de submissão para revisão.

Dois níveis de conectores.

Conectores/- o que realmente funciona

Tudo aqui está ao vivo: os conectores que enviam com OpsIQ, qualquer coisa instalada do mercado, e tudo o que o Connector Builder publica nesta instalação.

- Onde os pacotes são de autoria

A fonte de publicação para pacotes de mercado de primeira parte não é uma raiz descoberta, nada aqui é ao vivo até que seja empacotado, assinado, semeado no catálogo e instalado, em que uma cópia pousa em conectores /.

💡
Olhe em ambos os lugares, um pacote que você criou sob o marketplace_connectors/ não é a cópia que executa, instalando cópias em conectores/, e somente essa cópia é descoberta em tempo de execução.Stripe, BigCommerce, Magento2, PrestaShop, OpenCart, Amazon SES, Postmark e Reenviar são todos pacotes de mercado: instalar um antes de esperar encontrá-lo em Conectores.
Desenvolvimento

API e construtor webhook

O API e Webhook Builder permite que você crie customizado API Endpoints e ouvintes de webhook dentro OpsIQ sem escrever PHP bruto.

API Construtor
API e construtor webhookUm construtor escolhe um tipo de gatilho (inbound webhook, agenda, evento, manual) que se alimenta em uma ação configurável.API Construtor de webhookEspaço de trabalhoGASTOS- O que está fazendo?Agenda (Cron)OpsIQ eventoManualAção.Mapa dos campos de chegada →criar ticket / notifique / chame APIEconomize o ponto final.1FACTORES DE DESCATEWebhook · agenda · evento · manual2NO RAW PHPConstruído na UI3ACÇÃOMapear campos, então correr
Construir terminais sem PHP bruto: escolher um gatilho (inbound webhook, agenda, evento ou manual), em seguida, mapear campos para uma ação.

Gatilhos

Evento

Corra quando algo acontecer. OpsIQ, ou quando um sistema externo posta um evento correspondente para o seu webhook URL Digite o nome do evento, por exemplo ticket.criado.

Agendar

Use um dos eventos de intervalo embutidos como o nome do evento: cron. minutos, cron-hora ou cron, diariamente.

Frase

Corra quando um administrador pedir a IA em linguagem simples, adicione a frase que deve corresponder, por exemplo, encontre o cliente.

- O que está fazendo?

Um sistema externo envia um HTTP POST para o seu OpsIQ Webhook URL Qualquer gatilho ouvindo o incêndio.

Só o executo às vezes: condições.

Um gatilho de evento pode carregar condições, então só funciona quando os dados chegam, sem condições que ele executa toda vez que o evento dispara.

Campo

Use um ponto para os valores aninhados, por exemplo customer. email.

Combinar tudo ou qualquer coisa

Escolha se cada regra deve ser igual, ou apenas uma delas.

Testes de texto.

A combinação ignora capitais.

Testes de números.

Números escritos como texto ainda se comparam corretamente.

Testes de presença

está presente, está faltando, está vazio, não está vazio.

Só chame o engenheiro de plantão para passagens urgentes.

Cenário:
Event ticket.created, with one rule: priority equals urgent.
O que fazer:

A ação é feita por ingressos urgentes e não é necessária para tudo o resto.

💡
Se deixar as regras em branco, o gatilho é executado em todos os eventos correspondentes, que são o mesmo comportamento que antes das condições existiam.

Ações

Enviem o webhook

Envie HTTP POST para um exterior URL com uma carga personalizada.

Criar ticket

Crie um ticket de suporte com departamento, assunto e mensagem específicos.

Envie e-mail

Envie um e-mail com um modelo personalizado.

Atualizar registro

Atualizar um cliente, passagem ou registro de CRM.

Acione o conector.

Execute uma ação registrada de um conector habilitado com sua permissão e regras de confirmação.

Corra. OpsIQ Geral. API Ação!

Procure o catálogo completo chamado Geral API _. Campos, escopos, permissões, confirmação, indemnidade e suporte de corrida a seco vêm do contrato de ação ao vivo; o fluxo de trabalho executa dentro de seu espaço de trabalho salvo e contexto administrador.

Enviar pedido de provedor-nativo API

Use um conector nativo.API Leia ou confirmei Nativo.API Escreva a ação quando o terminal do provedor não tem nenhuma ação com curadoria.

O construtor Actions & Triggers, /api/v1.php, OpenAPI e Postman usam o mesmo ActionContract Registry, então uma ação selecionável não pode sair da documentação de execução.
Desenvolvimento

Ativa o livro de receitas.

Pronto para usar receitas de ação para automações comuns.

Como funciona
Ativa o livro de receitas.Um fluxo de receita: um tempo livre.Slack.uptime.downMonitore o webhookSe eu forfilterCriar um bilhete urgente.Notifique Slack #ops
Ativa o livro de receitas.

Auto-criar bilhete de monitoramento

Cenário:
Monitoring system sends POST when server goes down.
O que fazer:

Trigger: Inbound webhook Condition: payload.status = "down" Action: Create ticket · Dept: Technical, Subject: "Server {{payload.hostname}} down", Priority: Urgent

SlackNotificação sobre grandes ordens.

Cenário:
Slack message every time a customer places an order over $100.
O que fazer:

Trigger: Event (order.completed) Condition: order.amount > 100 Action: Send webhook to Slack incoming webhook URL with order details

E-mail semanal de digerir

Cenário:
Summary email to management every Monday at 9am.
O que fazer:

Trigger: Schedule (Monday 09:00) Action: Send email with last week's stats pulled from the REST API

Escadadas de multas velhas

Cenário:
If a ticket has no reply for 24 hours, assign to team lead.
O que fazer:

Trigger: Schedule (every hour) Condition: ticket.status = "Open" AND ticket.last_reply_age > 86400 Action: Assign to team-lead, add internal note

Desenvolvimento

Construindo sua primeira ação.

Este passeio cria uma simples ação de conector do zero.

Construindo ações.
Construindo uma açãoUm formulário de definição de ação: nome, ordem, um pedido GET para /orders/{id}, um parâmetro de identificação digitada, e uma passagem 200 Teste.Nova ação.Espaço de trabalhoNova ação.Nomelookup_orderPedidoGET/orders/{id}Parâmetrosid · cadeia de caracteres200 · order found1DEFINENome, método, ponto final2PARAMSEntradas digitadas3ENSAIOViva 200 resultado
Diga, defina o método e o ponto final, declare os parâmetros digitados, e teste-os em direto. 200.

Dois tipos de ação.

Antes de começar, decida qual deles você precisa.

Chame um externo. API

A ação envia um pedido HTTP para sua plataforma. OpsIQ Precisa se aproximar e fazer algo do seu lado.

Faça uma ação de conector.

A ação é algo que um conector instalado já fornece, escolha isso quando o trabalho já estiver disponível e você só quer acionar.

A segunda opção é como reutilizar tudo que seus conectores já podem fazer sem construir nada disso de novo: ler um tópico de ticket, procurar um cliente, importar contatos, e assim por diante.
1
Planeje a ação.

Procure um produto pelo nome, preço de retorno, estoque e descrição.

2
Defina em ações.json

Adicione a definição de ação:

Ações.json- a verdadeira forma manifesta
{
  "actions": [
    {
      "action_id": "lookup_product",
      "label": "Look up a product",
      "category": "Catalogue",
      "description": "Find a product by name and return price, stock and description.",
      "scope": "admin",
      "requires_confirmation": false,
      "is_destructive": false,
      "delivery_type": "http",
      "http_method": "GET",
      "http_url": "/api/products/search",
      "parameters": [
        { "name": "name", "type": "string", "required": true, "in": "query",
          "description": "Product name to search for" }
      ],
      "returns": [
        { "alias": "id",          "path": "data.id",             "type": "string" },
        { "alias": "name",        "path": "data.name",           "type": "string" },
        { "alias": "price",       "path": "data.price",          "type": "number" },
        { "alias": "stock",       "path": "data.stock_quantity", "type": "number" }
      ]
    }
  ]
}
⚠️
Três coisas que fazem uma ação não se registrarem. Action_id é REQUIRIDA e deve ser 2 para 100 caracteres de letras minúsculas, dígitos e sublinhados — uma entrada sem uma é rejeitada diretamente. O manifesto é um objeto com uma LISTA "ações", não um mapa chaveado pelo nome da ação. E mapeamento de resposta é "retorno" com caminhos DOTTED (data. id), não JSONPath ($. data,id) — não há "resposta_mapping", "método", "endpoint" ou "params" em qualquer lugar no registro.
3
Teste com corrida a seco.

Na etapa de revisão do Conector Builder, pressione Dry Run, ele executa a verificação completa de conformidade com seu pacote e, quando você fornece credenciais, faz um teste real de conexão.

4
Verifique o uso de IA.

Pergunte ao administrador: "Procurar produto Widget Pro." A IA deve encontrar e executar a ação.

⚠️
Adicionando uma ação às ações.jsonNão cria uma rota AJAX, então não há nada para regenerar.OpsIQQuando o conector está ativado ou suas configurações são salvas: re-salve o conector e a nova ação aparece. tools/gen_route_registry.php cobre o despacho do administrador AJAX e não tem relação com as ações do conector.
Desenvolvimento

Eventos de aproximação

Endpoints de entrada aceito assinado. JSON de outro sistema e transformá-lo em atividade de contato desduplicada que pode alimentar linhas de tempo, pontuação e fluxos de trabalho.

Tela de produto
Endpoints de entradaCada fonte de entrada tem sua própria URL, secreto, mapeamento e resultado de atividade recente.Endpoints de entradaEspaço de trabalhoFONTES5ACCEPTED12.4kREJECTED18OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOPlataforma de faturamentoeventos de assinaturaSaudável.App do produtoInscrição e eventos de usoSaudável.ID do eventoprovider_event_idDedupe.AssinaturaX-OpsIQ-Assinatura de entradaHMAC1CREATE SOURCEURL e secreto.2MAP PAYLOADE-mail, evento e identificação.3VERIFYHMAC, então ingere.
Cada fonte de entrada tem sua própria URL, secreto, mapeamento e resultado de atividade recente.

Crie uma fonte por sistema de envio. OpsIQ gera um URL- Token e segredo. JSON com Content-Type: application/json E assinar o corpo cru exato usando HMAC-SHA256:

X-OpsIQ-Inbound-Signature: sha256=<hex hmac>

Map JSON paths for the contact email, event name and optional event ID. The event ID is the preferred deduplication key. Accepted activity enters the contact timeline and can affect lead scoring, segments, lifecycle rules and workflows.

Rejeite assinaturas inválidas antes de analisar dados comerciais, gire um segredo atualizando os dois lados dentro de uma janela controlada, não registre o segredo.

Desenvolvimento

Operações de saída da webhook

A administração de ganchos de saída cria assinaturas assinadas, testes e controles assíncronos de entrega e saúde.

Tela de produto
Anzóis de saídaA página de saída da web lista os pontos de encontro do HTTPS, assinaturas de eventos, saúde da entrega e um teste assinado com um clique.Anzóis de saídaEspaço de trabalhoENDPOINTS7SUCCESS99.2%RETIRANDO4OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOEspelho de CRMContato.* e acordo.*Saudável.- O ônibus de apoio.- Bilhete. - E bate-papo.Saudável.Depósito de dados.*Tentando novamenteEntrega de testes.Carga de amostra assinada.Pronto.1SUBSCRIBEHTTPS URL and events2AUTHENTICATEAssinatura HMAC3OBSERVEEntrega de trilhos e retries
A página de saída da web lista os pontos de encontro do HTTPS, assinaturas de eventos, saúde da entrega e um teste assinado com um clique.

Administradores completos criam um ponto de encontro HTTPS, escolhem eventos específicos ou o wildcard, armazenam o segredo com segurança e enviam um teste. OpsIQ Assina a carga crua com HMAC-SHA256:

X-OpsIQ-Signature: sha256=<hex hmac>

A entrega é assíncrona e automaticamente tentada após aproximadamente 3 horas de duração. 1Um minuto, 5 minutos, 30 minutos,2horas e... 12 horas.Use o trilho de entrega recente para inspecionar status, código de resposta e tentativa de contagem.

Seu receptor deve ser indempotente porque qualquer sistema assíncrono pode redistribuir.

Desenvolvimento

Webhooks

Webhooks deixar sistemas externos notificar OpsIQ Quando algo acontece (inbound), e deixe OpsIQ Notificar sistemas externos quando algo acontece internamente (excluído).

Webhooks
Anzóis de saídaA tela de saída dos hooks: uma tabela de terminais com nome, eventos assinados, pontos recentes de status de entrega e um botão de Send-Test.Anzóis de saídaEspaço de trabalhoPontos finais+ Salvar o ponto finalNOMEAcontecimentosENTREGASSlack #sales-alerts - Ajudahttps://hooks.slack.com/…Lead. criado, vendaTesteEspelho de CRMhttps://api.acme.com/hookContato.*, bilhete. criadoTesteZapier.https://hooks.zapier.com/…chat.startedTeste1ENDPOINTSNome, eventos, URL2SIGNEDHMAC + auto-retirada3SEND TESTVerifique as entregas.
A verdadeira tela de saída: cada ponto final com seus eventos, saúde recente da entrega, e um clique para enviar o teste, assinado e repetido.

Anzóis de saída

Subscrição

Vá para Configurações > Webhooks. Adicione um ponto final URL e selecionar eventos para receber.

Eventos

ticket. criado, bilhete. replicado, chat. iniciado, chat, mensagem, ordem. completado, crm. deal. stage_changed, crc. contact. created, etc.

Retentar

Entregas falhadas tentam novamente com recuo exponencial. 15 Falhas consecutivas, o ponto final é desativado automaticamente.

Assinando

Cada pedido inclui uma assinatura HMAC em X-OpsIQ-Assinatura.

Proteção SSRF

OpsIQ Não enviaremos para privado/interno. IPs (127.X, 10.X, 172.16.X, 192.168.X, 169.254.169.254).

Entrega Assincronizada

Os hooks são entregues através da fila de trabalho, não bloqueando. OpsIQ Operações.

ID de evento estável

Cada evento tem um evento único que permanece o mesmo em todas as tentativas de desduplicação.

Verificando assinaturas de webhook

PHP · verificar assinatura webhook
<?php
$payload   = file_get_contents("php://input");
$signature = $_SERVER["HTTP_X_OPSIQ_SIGNATURE"] ?? "";
$secret    = "opsiq_whsec_your_secret";

$expected = hash_hmac("sha256", $payload, $secret);
if (!hash_equals($expected, $signature)) {
    http_response_code(401);
    exit(json_encode(["error" => "Invalid signature"]));
}

$event = json_decode($payload, true);
// Process the event...
http_response_code(200);
echo json_encode(["received" => true]);
Node. Js, verifique a assinatura do webhook
const crypto = require("crypto");

app.post("/opsiq-webhook", (req, res) => {
    const payload  = JSON.stringify(req.body);
    const sig      = req.headers["x-opsiq-signature"];
    const expected = crypto.createHmac("sha256", "opsiq_whsec_xxx")
        .update(payload).digest("hex");

    if (!crypto.timingSafeEqual(Buffer.from(expected), Buffer.from(sig || "")))
        return res.status(401).json({ error: "Invalid signature" });

    console.log("Webhook:", req.body);
    res.json({ received: true });
});
Como faço para testar webhooks localmente?+

Use o Ngrok para expor seu servidor local. URL.

E se meu ponto final estiver temporariamente para baixo?+

OpsIQ Se seu ponto final se recuperar dentro da janela de repetição, nenhum evento será perdido.

Desenvolvimento

Chaves de API

API Chaves autenticam pedidos para o OpsIQ RESTAURAÇÃO API Cada chave tem permissão.

Chaves de API
Chaves de APIO API Tela de chaves: um painel de problemas com chips de nível de acesso e escopo, ao lado de uma lista de chaves mascaradas existentes com botões de revogação.Chaves de APIEspaço de trabalhoEmita uma chave.AcessoLeia somenteRestringidoEscopocontacts.readtickets.readevents.writeChave de ediçãoSuas chaves.Integração ZapierOpq_•••4f2aRevogarAplicativo móvelOpq_•••91c7RevogarExportação de análiseOpq_•••2db0Revogar1SCOPEDApenas leitura ou restrição2PER-ACTIONEscolham exatamente os escopos.3REVOCABLERodar a qualquer hora
O verdadeiro. API Tecla de chaves: emitir uma chave escopo, somente leitura ou restrita escolhendo escopos exatos, e revogar qualquer chave a qualquer momento.

Criando um API chave

1
Go to Settings > API Keys

Navegar para API Gestão de chaves.

2
Clique em Criar chave

Dê-lhe um nome descritivo.

3
Selecione os escopos.

Os escopos vêm em leitura e escrevem pares por área, para que uma integração de relatórios possa ser concedida.

-Amigo disponível.

Escolha o mais estreito que faz o trabalho. admin satisfaz todos os escopos abaixo, então use-os apenas quando você realmente precisar de acesso amplo.

CRM. read / cRM. write

Contatos, empresas, negócios, atividades, segmentos, divulgação, conversões, ciclo de vida e webhooks CRM.

tickets. read / tickets. write - Como fazer?

Listar e ler os tickets e suas mensagens; responder, atualizar, abrir e executar operações de fila.

Conversas. Leia / conversa.

Leia conversas ao vivo e histórico de mensagens, envie mensagens, atribua e mude o status.

KB. read / KB, write

Entradas da base de conhecimento.

chat. read/pat. write

Templates de resposta salvos.

connectors.read

Veja quais conectores são instalados, o que podem fazer e teste suas credenciais.

automations.read

Veja suas ações, gatilhos e o histórico deles.

departments.read

Departamentos disponíveis para encaminhamento.

notifications.read

Notificações para uma operadora.

analytics.read

Seções de relatórios, CSV Exportações e definições de relatórios programados.

Site_intelligence. read

Monitorados sites e seus relatórios de SEO.

files.read

Links assinados para download de anexos.

status.write

Componentes de página de status e incidentes.

writing

AI escrevendo ajudantes: rascunho, resumo, tradução, reescrita, composição, análise.

administrador

Tudo, incluindo um pequeno número de ações sensíveis que não são acessíveis por qualquer escopo restrito: apagar um contato, mudar configurações de privacidade e ler o registro de acesso.

💡
Ligue para meta-ações com sua chave para ver quais ações pode executar em sua instalação.

Níveis de acesso

Todos.

A chave pode chamar de qualquer coisa que seus escopos permitam.

Leia somente

Cada escrita é recusada, seja qual for o escopo, a escolha mais segura para reportar, painéis e qualquer coisa que nunca deveria mudar de dados.

Restringido

Você lista as ações exatas que a chave pode chamar, qualquer outra coisa é recusada, mesmo dentro de um escopo permitido.

4
Copia a chave.

Mostrado uma vez, começa com "opq_".

🚫
Nunca compartilhe. API chaves em código público, lado cliente. JavaScript Use variáveis de ambiente.
Desenvolvimento

Conecte seu site.

O OpsIQ widget é um JavaScript Um trecho que você adiciona ao seu site para rastrear, conversar com IA, criar ingressos e identificar o cliente.

Como funciona
Conecte seu site.Uma tag de script na esquerda e, à direita, uma página com o OpsIQ Bubble de bate-papo aparecendo no canto.<!-- paste before </body> --><script src="https://cdn.opsiq.io/w.js" data-site="ws_8a2f" async></script>
Conecte seu site.

Instalação básica.

Excerto básico do widget
<script src="https://your-opsiq-domain.com/widget.php"
  data-site-key="site_abc123"
  async></script>

Paste before the closing </body> tag. The script loads asynchronously and does not block page rendering.

Atributos de configuração

data-site-key

Sua chave do site dos Sites Conectados.

data-mode

Opcional. "Conversa" (padrão), "bilhetes", ou "ambos".

data-position

Opcional. "Baise-direita" (padrão) ou "Baixo-esquerda".

data-color

Código de cor primária do feitiço.

data-greeting

Mensagem inicial de saudação.

data-language

Língua de UI: "en", "es", "fr", "de", "pt", "ar", etc.

data-identity-token

Opcional, símbolo de identidade assinado pelo servidor.

Suporte SPA

Rastreamento manual de rota SPA
// Manually notify OpsIQ of a route change (for custom routers)
window.OpsIQ = window.OpsIQ || [];
window.OpsIQ.push(["pageview", {
  url: window.location.href,
  title: document.title,
}]);

Regras do CSP

Regras CSP para widget
script-src 'self' https://your-opsiq-domain.com;
connect-src 'self' https://your-opsiq-domain.com;
frame-src https://your-opsiq-domain.com;
O widget atrasa meu site?+

Não, debaixo. 15 KB Gzipped, carrega assincronia após conteúdo da página.

Posso personalizar a aparência?+

Use a cor dos dados para a cor primária. CSS Opções de substituição.

Desenvolvimento

Widget instalar receitas

Guias de instalação específicos da plataforma.

Como funciona
Widget instalar receitasPlataforma instalar cartões para WordPress, Shopify e Google Tag Manager, cada dizendo onde adicionar o widget.WPWordPressInstale o plugin, digiteA chave do seu site, salve.LojaShopifyColar o trecho emTema. Líquido antes /body.GTMGerente de etiquetasPersonalizado. HTML Tag, todas as páginas.
Instalar receitas

WordPress

Cenário:
Add to all pages of a WordPress site.
O que fazer:

Option 1: Edit theme footer.php, paste snippet before </body>. Option 2: Use "Insert Headers and Footers" plugin > Scripts in Footer. Option 3: Use a child theme footer.php to survive theme updates.

Shopify

Cenário:
Add to your Shopify store.
O que fazer:

Online Store > Themes > Edit Code > Layout > theme.liquid. Paste before </body>. Save.

Reagir / Próximo. Js

Cenário:
Add to a React or Next.js app.
O que fazer:

In Next.js, use next/script in app/layout.tsx: import Script from "next/script"; <Script src="https://your-opsiq.com/widget.php" data-site-key="site_abc" strategy="lazyOnload" />

WHMCS

Cenário:
Add to your WHMCS client area.
O que fazer:

Configuração > Configurações gerais > Outro > Conteúdo Global de Rodapé. Colar o trecho.

Google Tag Manager

Cenário:
Add via GTM.
O que fazer:

Criar Personalizado HTML Todas as páginas, publique.

Desenvolvimento

Elemento de administração em sua infraestrutura (um contrato, qualquer plataforma)

Embed the OpsIQ admin assistant — admin chat, ticket inbox and AI Writing — inside YOUR OWN platform's admin panel, so your team never leaves their tools. Like visitor identity and portal SSO, this is ONE generic contract implemented in ~15 lines of your platform's server code — the same pattern Zendesk, Intercom and Discourse use for SSO. There is no per-platform plugin to wait for: any stack that can compute an HMAC can do this today.

Passo 1 - a linha de incorporação

De Sites Remotos→Seu site.→Códigos, copie a linha do carregador e adicione-a às páginas do seu painel de administração (footer include, layout template, ou uma caixa de administrador só personalizado-JS):

A incorporação de uma linha
<script async src="https://YOUR-OPSIQ/opsiq/embed/admin_widget.php?site_key=SITE_KEY&identity_token=TOKEN_FROM_STEP_2"></script>

Passo2- Diga.OpsIQque está logado (servidor-assinado)

Seu servidor gera um símbolo assinado de curta duração da sua sessão, exatamente como o símbolo de identidade do visitante, assinado com o mesmo site webhook secreto:

PHP · assina a identidade do administrador da sua sessão
<?php
$secret  = "opsiq_whsec_your_site_secret";   // Remote Sites → Codes
$payload = json_encode([
    "site_key"      => "SITE_KEY",
    "iat"           => time(),
    "exp"           => time() + 6 * 3600,
    "authenticated" => true,          // REQUIRED, top level — see note below
    "platform"      => "your-platform",
    "admin"    => [
        "id"            => (string)$admin->id,      // from YOUR session
        "name"          => $admin->name,
        "username"      => $admin->username,
        "email"         => $admin->email,
        "role"          => $admin->role,
        "authenticated" => true,
    ],
]);
$payload64 = rtrim(strtr(base64_encode($payload), "+/", "-_"), "=");
$identityToken = $payload64 . "." . hash_hmac("sha256", $payload64, $secret);
// Put $identityToken into the embed line (identity_token=…), or expose it as
// window.OpsIQAdminIdentityToken before the loader script.
Acesso por administração, automaticamente.

Cada administrador que entra em sua plataforma é compatível individualmente:OpsIQO portal de acesso por administrador resolve o nome do token + e-mail contra um.OpsIQAgente (página da equipe; use a lista de "e-mails de correspondência" do agente quando os e-mails da plataforma diferem) e aplique as permissões de trabalho, departamento e caixa de entrada do agente.OpsIQNão há mudanças de incorporação.

Roles andam junto

Qualquer papel que sua plataforma enviar é mostrado noOpsIQO lado da atribuição, a autorização sempre vem doOpsIQRegistro de agente, nunca do papel declarado.

Por que não ler nosso cookie de login?

Navegadores nunca enviam seu cookie para outra origem, nenhum fornecedor pode "detectar" seu domínio cruzado de login, todo produto sério resolve isso da mesma forma: seu servidor garante, assinado.

Modo simples (lojas de administração única)

Saltar passo.2E use o símbolo estático de Sites Remotos.→Códigos na linha do carregador (token=... em vez de identity_token =...) O widget funciona com a identidade compartilhada do espaço de trabalho; o portão per-admin pode ser aplicado mais tarde quando a equipe crescer.

O authenticated Bandeira, coloque-a no nível TOP.

This flag is your server's assertion that a human is really logged in, and OpsIQ refuses any token without it. Put "authenticated" => true beside site_key/iat/exp, NÃO só dentro do admin object. Current OpsIQ accepts it in either position, but older releases only read the top level — and the failure is deceptive: conversation list, history and unread all authenticate fine while every chat turn answers "O login do administrador é necessário"Se você vê exatamente essa divisão, verifique esta bandeira primeiro.

Higiene do token

Assine apenas no servidor, nunca no navegador.JavaScriptMantenha exp curto (minutos a horas);OpsIQRejeita fichas expiradas e futuras, e a assinatura liga o token à chave do seu site.

Implementação de referência

OWHMCSO módulo faz isso automaticamente a partir doWHMCSSessão de administração, o arquivo de ponte do Botble Hotel faz isso da sessão Laravel (op=admin_identity), ambos são apenas este contrato no dialeto da plataforma deles.

Fiação de página zero (probe declarada pelo conector)

Quando o seuOpsIQConector armazena seu ponto final de identidade em seu admin_identity_probe_url A página ainda pode ser substituída com um código de acesso. data-identity-endpoint atributo ou window.OpsIQAdminIdentityEndpoint.

Implementação do objetivo de identidade em Laravel (notas difíceis de ganhar)

Se sua plataforma é Laravel (Botble, Bagisto, aplicativos personalizados) e seu ponto final é um arquivo independente que inicia o framework para ler o administrador logado, três específicos vão economizar horas - cada um produziu uma falha de produção real antes de ser aprendido:

Amarre o pedido antes de iniciar

Seus prestadores de serviços podem resolver request O próprio ciclo de vida de Laravel liga o pedido capturado logo dentro. Kernel::handle() - Mirror essa ordem: $app->instance('request', Request::capture()) ANTES $kernel->bootstrap(), ou você começa "A classe do alvo não existe".

O prefixo de sessão-cookie é HMAC-keyed

Prefixos Laravel modernos valores de cookie com umHMACComputado com a chave APP (CookieValuePrefix- Uma planície. sha1(name."v2") Não pode combiná-lo. CookieValuePrefix::validate($name, $decrypted, $keys), com um retrocesso estrutural (40Hex chars + | na posição40Diga: uma sessão de identificação maior que40Chars (81= prefixo ainda anexado) e uma sessão que carrega apenas com _token - Não, não.

Onde o login mora

O selo de autorização é login_<guard>_<sha1(guard class)> - para o guarda padrão: 'login_web_' . sha1(Illuminate\Auth\SessionGuard::class)Analisar qualquer login_* Chave numérica como um retorno para guardas personalizados.

Depurar como a ponte faz

Navio a debug=1 A ponte Botble (de v1.0.7_) é a referência: marcadores de passo no kernel/bind/bootstrap/decrypt/session/auth/db.

Laravel, ponto final de identidade completo.
<?php
/* identity endpoint · LARAVEL (Botble, Bagisto, any Laravel admin)
 * Drop this in your PUBLIC web root, e.g. /opsiq-identity.php
 * Answers: {"success":true,"authenticated":true,"admin":{...},"identity_token":"..."} */
define("OPSIQ_SITE_KEY", "SITE_KEY");
define("OPSIQ_SITE_SECRET", "opsiq_whsec_your_site_secret");   // Remote Sites → Codes

header("Content-Type: application/json");
$step = "boot";
try {
    require __DIR__ . "/../vendor/autoload.php";
    $app = require_once __DIR__ . "/../bootstrap/app.php";

    $step = "bind";
    // ORDER MATTERS: bind the request BEFORE bootstrapping, or providers that
    // resolve "request" during boot throw "Target class [request] does not exist".
    $request = Illuminate\Http\Request::capture();
    $app->instance("request", $request);

    $step = "bootstrap";
    $kernel = $app->make(Illuminate\Contracts\Http\Kernel::class);
    $kernel->bootstrap();

    $step = "session";
    $app["session"]->driver()->setId($request->cookie(config("session.cookie")));
    $app["session"]->driver()->start();

    $step = "auth";
    $user = auth()->guard("web")->user();   // use YOUR admin guard name
    if (!$user) {
        echo json_encode(["success" => false, "authenticated" => false, "error" => "no admin session"]);
        exit;
    }

    $step = "sign";
    $admin = [
        "id"            => (string)$user->id,
        "name"          => (string)($user->name ?? $user->username),
        "username"      => (string)($user->username ?? $user->email),
        "email"         => (string)$user->email,
        "role"          => (string)optional($user->roles->first())->name,
        "authenticated" => true,
    ];
    $payload = json_encode([
        "site_key"      => OPSIQ_SITE_KEY,
        "iat"           => time(),
        "exp"           => time() + 6 * 3600,
        "authenticated" => true,          // TOP LEVEL — required
        "platform"      => "laravel",
        "admin"         => $admin,
    ], JSON_UNESCAPED_SLASHES);
    $p64   = rtrim(strtr(base64_encode($payload), "+/", "-_"), "=");
    $token = $p64 . "." . hash_hmac("sha256", $p64, OPSIQ_SITE_SECRET);

    echo json_encode(["success" => true, "authenticated" => true,
                      "admin" => $admin, "identity_token" => $token]);
} catch (\Throwable $e) {
    // debug=1 names the failing STEP — never ship a blind catch-all
    $err = ($_GET["debug"] ?? "") === "1"
        ? get_class($e) . " at [" . $step . "]: " . $e->getMessage()
        : "identity unavailable";
    echo json_encode(["success" => false, "authenticated" => false, "error" => $err]);
}

O mesmo ponto final em outras pilhas.

Apenas as mudanças de linha "quem está logado?", o bloco de assinatura é idêntico em todo lugar.JavaScript.

WordPress · WHMCSSymfony - PHP simples - troque o olhar, mantenha o sinal
<?php
/* The ONE helper every platform shares. Keep it verbatim. */
function opsiq_identity_token(array $admin, string $siteKey, string $secret, string $platform): string {
    $payload = json_encode([
        "site_key"      => $siteKey,
        "iat"           => time(),
        "exp"           => time() + 6 * 3600,
        "authenticated" => true,          // TOP LEVEL — OpsIQ refuses the token without it
        "platform"      => $platform,
        "admin"         => $admin + ["authenticated" => true],
    ], JSON_UNESCAPED_SLASHES);
    $p64 = rtrim(strtr(base64_encode($payload), "+/", "-_"), "=");
    return $p64 . "." . hash_hmac("sha256", $p64, $secret);
}

/* ── WORDPRESS ─────────────────────────────────────────────────────────── */
require_once ABSPATH . "wp-load.php";
if (!current_user_can("manage_options")) { /* not an admin → refuse */ }
$u = wp_get_current_user();
$admin = ["id" => (string)$u->ID, "name" => $u->display_name,
          "username" => $u->user_login, "email" => $u->user_email,
          "role" => implode(",", $u->roles)];

/* ── WHMCS (inside an addon/hook, admin area) ──────────────────────────── */
$aid = (int)($_SESSION["adminid"] ?? 0);
if ($aid <= 0) { /* not an admin → refuse */ }
$row = Capsule::table("tbladmins")->where("id", $aid)->first();
$admin = ["id" => (string)$row->id, "name" => trim($row->firstname . " " . $row->lastname),
          "username" => $row->username, "email" => $row->email, "role" => "administrator"];

/* ── SYMFONY ───────────────────────────────────────────────────────────── */
$u = $security->getUser();                    // Symfony\Bundle\SecurityBundle\Security
if (!$u) { /* not an admin → refuse */ }
$admin = ["id" => (string)$u->getId(), "name" => $u->getName(),
          "username" => $u->getUserIdentifier(), "email" => $u->getEmail(),
          "role" => implode(",", $u->getRoles())];

/* ── PLAIN PHP / your own app ──────────────────────────────────────────── */
session_start();
if (empty($_SESSION["admin_id"])) { /* not an admin → refuse */ }
$admin = ["id" => (string)$_SESSION["admin_id"], "name" => $_SESSION["admin_name"] ?? "",
          "username" => $_SESSION["admin_username"] ?? "", "email" => $_SESSION["admin_email"] ?? "",
          "role" => $_SESSION["admin_role"] ?? ""];

/* ── then, on EVERY stack ──────────────────────────────────────────────── */
$token = opsiq_identity_token($admin, "SITE_KEY", "opsiq_whsec_your_site_secret", "wordpress");
echo json_encode(["success" => true, "authenticated" => true,
                  "admin" => $admin, "identity_token" => $token]);

Quando não funciona, diagnostica nesta ordem.

O elemento nunca aparece, o console diz "O símbolo de identidade do administrador é necessário"

Seu ponto final voltou não. identity_tokenAbra o ponto final.URLdiretamente no navegador de administração com &debug=1 Em Laravel, este é quase sempre o item de ligação ou prefixo de biscoitos acima.

História e conversas funcionam, mas cada bate-papo diz: "O login do administrador é necessário"

A divisão clássica. authenticated O próprio parâmetro do widget aceita o token, o verificador compartilhado por trás do fluxo de bate-papo recusa. "authenticated" => true beside exp.

"administrado não provido emOpsIQ" (HTTP401)

O token foi verificado, mas seu nome de usuário + e-mail não corresponde.OpsIQAgente, adicione o agente.OpsIQ →Equipe, ou adicione o e-mail da plataforma na lista de correspondências do agente quando difere dos seusOpsIQE-mail.

Tudo.403sdo navegador, mas trabalha com cacho.

Um pré-voo do CORS está rejeitando um dos seus cabeçalhos de pedido. OPTIONS e ecoam a origem solicitante, ou simplesmente evitem cabeçalhos personalizados. O widget só precisa do cookie.

Trabalhou ontem, falhou hoje.

Cheque. expO widget re-sonda automaticamente, então isso geralmente significa que o ponto final parou de ver a sessão - uma rotação da chave do aplicativo, uma mudança no driver de sessão, ou uma mudança de domínio de cookies.

💡
O widget de administração fica escondido até que a identidade se resolva, e cada bate-papo/caixa de entrada/chamada de dados é forçada ao lado do servidor contra o correspondente.OpsIQO símbolo destranca a UI, as permissões sempre vêm deOpsIQ.
Desenvolvimento

Identidade do visitante

Identidade conecta visitantes anônimos a clientes conhecidos. OpsIQ Links histórico de navegação, bate-papos e ingressos para o perfil do cliente.

Como funciona
Identidade do visitanteUm fluxo: um usuário faz login em seu site, você emite uma ficha de identidade assinada, e OpsIQ unifica suas sessões, conversas e tickets em um perfil.O usuário entra.em seu siteSinal assinadotoken_de_identidade (HMAC)Um perfil.sessions+ bate-papos+ ingressos
Identidade do visitante

Dois níveis de identidade, e quando cada um é suficiente

Level 1 — an unsigned hint

Você diz ao widget quem é o visitante com uma planícieJavaScriptEle preenche o e-mail e a identidade do cliente no registro de visitantes, então seu painel mostra tráfego e sessões se juntam.OpsIQNunca libera dados de conta sobre a força disso.

Nível.2- um símbolo de identidade assinado.

Seu servidor assina um token de curta duração com o segredo do Webhook.OpsIQEste é o nível que desbloqueia as respostas da conta no bate-papo do cliente e buscas de conectores.

⚠️
Nível.1é uma conveniência de exibição.2Se uma pergunta só pode ser respondida para o titular da conta real, você precisa de nível.2.

Level 1 — the unsigned hint

Defina o objeto ANTES do script widget, ou ligue para o IDident() mais tarde quando seu aplicativo souber quem está conectado.

JavaScript· os dois formulários suportados
<!-- Form A: set the global before the loader -->
<script>
  window.OpsIQClient = {
    id:    "cust_1001",
    email: "[email protected]",
    name:  "Jane Smith",
    plan:  "pro"
  };
</script>
<script async src="https://YOUR-OPSIQ/widget.php?site_key=YOUR_SITE_KEY"></script>

<!-- Form B: identify later, e.g. after a client-side login -->
<script>
  window.opsiq.identify({
    id:    "cust_1001",
    email: "[email protected]",
    name:  "Jane Smith",
    plan:  "pro"
  });
</script>
⚠️
Only these forms are read: the window.OpsIQClient global, window.opsiqConfig.user, and window.opsiq.identify(). There is no OpsIQ.push(['identify', ...]) queue and no OpsIQClientSignature global — if you find either in an old note, it does nothing.

Level 2 — the server-signed identity token

Exatamente o mesmo contrato que o widget de administração, com um customer sujeito em vez de um admin Dois detalhes decidem se verifica, e ambos são fáceis de errar.

OHMACcobre a corda BASE64URL, não oJSON

Assine. $payload64Não, não. $payloadAssinando o cruJSONproduz um símbolo que parece certo e é rejeitado toda vez com uma assinatura descompasso.

Base64url, desacolchoada.

Traduzir +/ para -_ e tirar a = A base 64 sobrevive hoje, a Base 64url é o contrato.OpsIQVerificador e conector de referência emitem.

Autenticação vai ao nível TOP

Ao lado site_key, iat e expÉ sua afirmação que um humano de verdade está conectado, eOpsIQrecusa o símbolo sem ele.

cliente. id é obrigatório.

Um token que carrega apenas um e-mail verifica como uma assinatura e é então silenciosamente deixado cair.

Mantenha a exp curta.

O símbolo é uma afirmação de sessão, não um crédito para guardar.

PHP - assine um token de identidade do cliente (este código exato verifica)
<?php
/* Server-signed customer identity. Runnable as-is: set the two constants. */
$siteKey = "YOUR_SITE_KEY";                        // Remote Sites -> Codes
$secret  = "opsiq_whsec_your_site_secret";         // Remote Sites -> Codes

$payload = json_encode([
    "site_key"      => $siteKey,
    "iat"           => time(),
    "exp"           => time() + 3600,
    "authenticated" => true,                       // TOP LEVEL - required
    "platform"      => "your-platform",
    "customer"      => [
        "id"            => (string)$user->id,      // REQUIRED
        "email"         => (string)$user->email,   // REQUIRED
        "name"          => (string)$user->name,
        "plan"          => (string)($user->plan ?? ""),
        "authenticated" => true,
    ],
], JSON_UNESCAPED_SLASHES);

/* base64url(payload) . "." . hex HMAC-SHA256 OF THAT STRING. */
$payload64 = rtrim(strtr(base64_encode($payload), "+/", "-_"), "=");
$token     = $payload64 . "." . hash_hmac("sha256", $payload64, $secret);

/* Hand it to the widget either way: */
printf(
    '<script async src="https://YOUR-OPSIQ/widget.php?site_key=%s&identity_token=%s"></script>',
    rawurlencode($siteKey),
    rawurlencode($token)
);
// or, if the loader is already on the page:
// echo '<script>window.opsiqConfig = window.opsiqConfig || {}; '
//    . 'window.opsiqConfig.identityToken = ' . json_encode($token) . ';</script>';
🚫
Assine apenas no servidor, um símbolo cunhado no navegador.JavaScriptsignifica enviar o site secreto para cada visitante, que dá a qualquer um a capacidade de se passar por qualquer cliente.

O mesmo contrato, três superfícies.

Conversa de clientes em seu site.

Assunto do cliente, passado como identidade para widget. php. Coberto acima.

Conversa de administrador dentro da sua infraestrutura

Assunto de administração, passado para opsiq/embed/admin_widget. php. Mesma assinatura, chave de assunto diferente.

Suporte ao portal de links profundos.

Uma variante mais rigorosa: as mesmas reivindicações mais jti e single_use: true, and a120-segunda vida, porque o símbolo viaja em umURLO Portal de Suporte tem um trecho pronto para o seu idioma, e a plataforma menta-o para você quando sua área de conta é executada neste servidor.

E se um visitante limpar os biscoitos?+

Ficam anônimos até serem identificados novamente.OpsIQliga o novo registro anônimo ao perfil do cliente no momento em que uma dica ou um símbolo chega.

Por que meu cartão confirma o registro de visitas, mas não as perguntas de contas?+

Esse é o Nível.1- Level2Uma dica não assinada preenche o registro de visitas e nada mais.

Desenvolvimento

Plugins e SDKs

OpsIQ Providências SDK Pacotes e plugins para plataformas comuns.

Como funciona
Plugins e SDKsQuatro pacotes: PHP SDK Node.js SDK, WordPress plugin e WHMCS Módulo, cada um com seu comando de instalação.PHPPHP SDKO compositor precisa. opsiq/sdkJSNode.jsSDKNpm i @opsiq/sdkWPWordPress pluginUm clique para instalar e conectarWHWHMCS moduleAddon para cobrança + passagem retransmissão
Plugins e SDKs
PHP SDK

Composer package: identity token generation, action API helpers, webhook signature verification.

JavaScript SDK

Lado do navegador: rastreamento, identidade, eventos personalizados, controle de bate-papo.

WordPress plugin

Injecção de elementos, identidade das sessões de usuários da WP, WooCommerce Sincronização.

WHMCS module

Integração completa: widget, passagem de identidade, IA do administrador.

Shopify theme extension

Aplicativo incorporado com identidade automática de cliente.

PHP SDK quick start

PHP SDK example
composer require opsiq/sdk

use OpsIQ\SDK\Identity;
$token = Identity::createToken(
    siteKey: "site_abc123",
    secret:  "opsiq_whsec_your_secret",
    customer: ["id" => "cust_1001", "email" => "[email protected]", "name" => "Jane"]
);

// Call any catalog action over the action API
$ch = curl_init("https://your-opsiq.com/api/v1.php");
curl_setopt_array($ch, [
    CURLOPT_POST => true,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_HTTPHEADER => [
        "Authorization: Bearer opq_your_key",
        "Content-Type: application/json",
    ],
    CURLOPT_POSTFIELDS => json_encode([
        "action" => "crm.contacts.list",
        "status" => "lead",
        "limit"  => 25,
    ]),
]);
$contacts = json_decode(curl_exec($ch), true);
Desenvolvimento

Pesquisa. API, eventos e automação sem conectores

Survey Studio foi projetado para usar o mesmo tipo Geral API, executor interno, barramento de eventos e operações webhook como o resto de OpsIQ. Isso permite que os desenvolvedores se integrem fim a fim sem construir um conector empacotado.

⚠️
Situação de implementação: o catálogo ao vivo atualmente expõe apenas platform.get.survey.config e platform.save.survey.configO surveys.* e feedback.* Famílias abaixo estão no contrato de alvo aprovado e devem retornar. unknown_action até o registro.

Famílias de ação alvo

Tipos, modelos e lançamento rápido

surveys.types.*, surveys.templates.* e surveys.quick_launch.* Lista, pré-visualização, instanciar e validar entradas completas.

Pesquisas e versões

surveys.create|get|list|update|archive|duplicate mais versão imutável, validação e publicação de ações.

Implantações e alvos

surveys.deployments.*, surveys.links.*, surveys.audiences.*, surveys.triggers.* e surveys.variables.*.

Esforço e respostas

surveys.invitations.*, surveys.campaigns.*, surveys.recipients.*, surveys.responses.*Exportações, redação e análise.

Webhooks, importação e feedback

surveys.webhooks.*, surveys.imports.*, feedback.items.*, feedback.analytics.*, feedback.sources.* e feedback.analysis.*.

Fluxo livre de conectores

1
Crie e publique através do General. API

Escreve declara permissão, risco, confirmação, indemnidade e comportamento de corrida a seco.

2
Receba seu evento de negócios.

Envie um evento assinado para um webhook, por exemplo, cancelamento de pedido ou completada etapa de integração.

3
Mapeie em Ações e Gatilhos

Escolha um. OpsIQ Geral. API Ações como emitir um convite de pesquisa ou preparar uma campanha, e mapear campos da carga do gatilho verificado.

4
Subscreva-se nos eventos da pesquisa.

Entregue o registro documentado de segurança comercial. Subconjunto do ciclo de vida para seu ponto final com assinatura, filtro, retentar, registrar e repetir autorizado.

Alvo de evento canônico

O catálogo compartilhado cobrirá pesquisa/deployment publicará estado, público e desencadear decisões, convites, render/start/parcial/resume/completo/abandono, resposta de redação, estado da campanha e falhas de entrega.

Um conector é opcional, acrescenta descoberta de plataforma reutilizável, identidade verificada, fatos, variáveis e enumeração do destinatário. API mais Ações e gatilhos / webhooks continua a ser o caminho de integração completa para desenvolvedores que não precisam de um conector empacotado.
Desenvolvimento

RESTAURAÇÃO API

O OpsIQ RESTAURAÇÃO API permite acessar programaticamente todos os recursos da plataforma.

Como funciona
RESTAURAÇÃO APIUm terminal mostrando um POST para o OpsIQ API com a chave do portador, listando ingressos abertos, e o paged JSON Resposta.$ curl -X POST https://your-domain.com/api/v1.php \-H "Authorization: Bearer opq_..."200 Está bem.{ "data": [{ "id": 4192, "ticket_number": "T-4192","subject": "Card declined", "status": "open" },... more tickets ...], "page": 1, "per_page": 50, "has_more": true }
RESTAURAÇÃO API

Pedido de formato

Envie a chave como Authorization: Bearer opq_... Ou X-OpsIQ-Key: opq_...Use um cabeçalho de autenticação, não ambos.

API formatação de solicitação
POST https://your-opsiq-domain.com/api/v1.php
Authorization: Bearer opq_your_api_key
# Alternative header: X-OpsIQ-Key: opq_your_api_key
Content-Type: application/json

{
  "action": "endpoint.name",
  "site_key": "site_abc123"
}

Ações comuns

The API is action-based: send an action Todos os administradores registrados JSON A operação tem uma ação estável. {"action":"meta.actions"} (sem chave necessária) para a autoritária, por instalação lista, contrato de solicitação, metadados de risco e escopo. platform.routes.* A ponte permanece apenas para integrações mais antigas.

crm.contacts.list

Listar contatos CRM (CPM. read).

crm.contacts.upsert

Resolver ou criar um contato (CPM. Escrita de telescópio).

crm.deals.list

Listar acordos de CRM (scope crm. read).

crm.activities.record

Gravar um ciclo de vida/atividade comercial para um contato (CPM. Write).

crm.conversions.record

Params: contato ou e-mail, tipo de conversão, valor, moeda.

crm.events.list

Procure o fluxo de eventos CRM (CORM. read).

tickets.list

Params: página, per_page, ordenação, ordem, status, prioridade, departamento_id, atributed_admin_id. cliente_email, busca.

tickets.get

Um ticket e suas mensagens (bilhetes de escopo. leia).

tickets.reply

Postar uma resposta para um ticket (bilhetes de escopo. escrita).

tickets.update

Atualizar um ticket (bilhetes de escopo. escrita).

tickets.open

Params: cliente_email, nome do cliente, assunto, corpo, prioridade.

tickets.bulk

Faça uma operação de filas em massa (comissões. escritas).

conversations.list

Listar conversas ao vivo (conversas de escopo. leia).

conversations.get

Uma conversa e suas mensagens (conversas de escopo. leia).

conversations.messages

"Antecedentes de mensagens" (conversas de escopo. leia).

conversations.send

Enviar uma mensagem para uma conversação (conversas de escopo. escritas).

conversations.update

Atribuir, re-estatuir ou re-titular uma conversação (conversas de escopo. escritas).

Conectores. Lista.

Veja quais conectores são instalados, o que cada um pode fazer, e se suas credenciais funcionam (conectores de telescópio. leia).

automations.actions.list

As ações que seu construtor de Ações executará (commações de telescópios. lead).

automations.triggers.list

O que vai disparar e em quais condições (automações de telescópios.

automations.runs.list

Histórico de execução para depuração de uma integração (automações de escopo. lead).

departments.list

Departamentos que você pode encaminhar uma passagem para (departamentos de telescópio. leu).

notifications.list

Notificações para um operador (notificações de escopo. leia).

analytics.export

Uma seção de relatório como CSV (análise do escopo. leia).

Site_intelligence. sites. list/. relatórios. list

Sites monitorados e seus relatórios de SEO (scope site_intelligence. read).

files.get

Um link assinado de curta duração para um anexo (arquivos de escopo. lede).

security.check

Pergunte se um...IP ou o e-mail está bloqueado ou suspeito aqui (Segurança do telescópio.IP firewall, a lista de spam e o veredito secreto da IA de segurança. ip, e-mail.

security.report

Relatório de abuso do seu sistema observado (Segurança de Escopo. ip, e-mail, gentileza, razão, fonte.

- Segurança. Lista de bloqueios.

Gerencie as regras de spam que o pipeline obriga (segurança do escopo.escrita / segurança.leia).ip), valor, razão, expira horas.

💡
Meta-actions é sempre autoritária, devolve todas as ações disponíveis na instalação com o escopo que cada uma precisa, então você nunca tem que adivinhar ou codificar esta lista.

Chamando, filtrando e separando

Cada ação de lista usa os mesmos parâmetros, então você aprende uma vez.

Página / Per_page

Número da página começando em 1, e tamanho da página. 50, máximo 200 Limite e compensação também são aceitos se você preferir.

ordenar / encomendar

Cada ação aceita um conjunto fixo de campos de sorte, qualquer outra coisa é ignorada em vez de erro.

filters

Envie filtros como um objeto, ou passe um filtro como um parâmetro de nível superior.

O que volta

Itens, página, conta, total e hasmore.

Página, filtrado, pedido de lista ordenada
POST /api/v1.php
Authorization: Bearer opq_your_api_key

{
  "action": "tickets.list",
  "status": "open",
  "priority": "urgent",
  "sort": "created_at",
  "order": "desc",
  "page": 1,
  "per_page": 50
}

Erros

Cada falha retorna a mesma forma, com um estábulo code Não combinem com o legível para humanos. error texto, que pode ser reformulado.

Resposta de erro.
{
  "success": false,
  "code": "missing_scope",
  "error": "API key missing required scope. Needed one of: tickets.read, admin",
  "request_id": "req_8f2c1a9d4b7e"
}
Faltando a chave, inválido api_key

Nenhuma chave foi enviada, ou a chave está errada ou expirada. 401.

missing_scope

A chave é válida, mas não tem o escopo que esta ação precisa. 403.

Tradução:

A chave é somente leitura, ou esta ação não está em sua lista de permissão. 403.

unknown_action

Chame meta-ações para a lista atual. 400.

Parâmetro ausente / parâmetro inválido

Um parâmetro necessário está ausente, ou um valor não é aceito. 400.

not_found

O registro não existe, ou não está no espaço de trabalho que esta chave pode ver. 404.

rate_limited

O limite de hora para esta chave é usado. 429.

server_error

Algo falhou do nosso lado. 500.

Retiradas seguras

Se um tempo de escrita for revelado, não se sabe se ele pousou. idempotency_key E uma repetição da mesma chamada retorna o resultado original em vez de fazer o trabalho duas vezes.

Escreve com idempotência
{
  "action": "tickets.reply",
  "ticket_id": 4192,
  "body": "Thanks, that is now fixed.",
  "idempotency_key": "your-unique-id-for-this-attempt"
}
Quanto tempo dura?

Uma chave é lembrada por 24 horas contra a mesma ação e API Chave.

O que você tem de volta

A resposta original, mais idempotent_replay: verdade para que você possa dizer que foi uma repetição.

Falhas continuam sendo retrítulos.

Se uma ligação falhar, enviá-la de novo com a mesma chave, é o que você quer.

Leia.

As leituras ignoram a chave, repetir uma leitura é inofensivo.

Teste sem mudar nada.

Adicionar dry_run: true Suas chaves, escopos e parâmetros são verificados exatamente como normal, então a chamada para antes de qualquer coisa ser criada ou alterada.

Corrida: verifique credenciais e carga segura.
{
  "action": "tickets.update",
  "ticket_id": 4192,
  "status": "closed",
  "dry_run": true
}

{
  "success": true,
  "dry_run": true,
  "would_execute": true,
  "message": "Authorised and validated. No write was performed because dry_run was set."
}
É a maneira mais rápida de confirmar que uma chave tem o escopo certo e sua carga é moldada corretamente, sem criar dados de teste que você precisa limpar.

Limites de taxa

Limite de por-chave

Um limite de hora configurável por API Chave (padrão) 1000 Coloque-o por chave em configurações,API Chaves.

Quando excedido

HTTP 429 with code rate_limited, plus a Retry-After header telling you how many seconds to wait. The limit resets at the top of the next clock hour.

Sabendo onde você está

Cada resposta carrega limite-limite de frequência X, limite-retenção X e limite-resposta X (um timestamp Unix).

Contando 429 De 401

A 429 significa esperar e tentar novamente. 401 Significa que a chave está errada ou expirada, então tentar de novo não ajudará até consertar a chave.

Guarda de força bruta pré-auth

Repetidas tentativas falhadas de uma.IPChaves válidas nunca tropeçam nisso.

Melhor prática.

Afaste-se quando o resto descer, e honre Retry-Depois de um 429 em vez de tentar novamente imediatamente.

Versões e estabilidade

Versão atual

V1. Cada resposta leva X...OpsIQ-API-Versão e X...OpsIQ-API Status para que possa confirmar o que está falando.

Como você será avisado

Se uma versão for aposentada, as respostas ganham os cabeçalhos padrão de Deprecação e Sunset, e meta-ações reportam o que está sendo ultrapassado e o que é pôr do sol.

O que não vai mudar

Novos campos opcionais podem ser adicionados a qualquer momento, então ignore os campos que não reconhece ao invés de falhar neles.

Uma completa integração, do começo ao fim.

Este é o ciclo todo: encontrar trabalho, lê-lo, agir sobre ele, e confirmar o que você fez.

Fluxo de trabalho completo sobre o API
# 1. Discover what this install offers and what each action needs.
POST /api/v1.php
{"action":"meta.actions"}

# 2. Find the urgent open tickets.
POST /api/v1.php
Authorization: Bearer opq_your_api_key
{"action":"tickets.list","status":"open","priority":"urgent","per_page":25}

# 3. Read one, including its conversation history.
{"action":"tickets.get","ticket_id":4192}

# 4. Reply, safely enough to retry if the network drops.
{"action":"tickets.reply","ticket_id":4192,
 "body":"We have issued the refund.","idempotency_key":"reply-4192-attempt-1"}

# 5. Close it.
{"action":"tickets.update","ticket_id":4192,"status":"closed"}

# 6. Page through anything larger: keep going until has_more is false.
{"action":"tickets.list","page":2,"per_page":50}
💡
Tudo acima funciona da mesma forma para conversas: conversations. list, conversations. get, conversation. send e conversations, atualizar seguem o mesmo padrão, parâmetros e resposta de forma.

Cada ação, com o escopo que precisa

Essa lista é gerada a partir do catálogo em execução, então sempre corresponde à versão que você está. meta.actions retorna a mesma informação que JSON.

1758 named actions: 590 reads, 1168 writes and 62 scopes. Every registered administrator JSON operation has a stable named action. OpenAPI: /api/v1/openapi.php. Postman: /api/v1/postman.php. Contract quality: declared_dynamic: 399; explicit: 92; route_inferred: 1151; source_inferred: 116.

administration (25)

administration.2fa.disable

Write. Scope: administration.write, admin. Contract: route_inferred. Admin 2fa Disable

administration.2fa.enable

Write. Scope: administration.write, admin. Contract: route_inferred. Admin 2fa Enable

administration.2fa.recovery.regenerate

Write. Scope: administration.write, admin. Contract: route_inferred. Admin 2fa Recovery Regenerate

administration.2fa.setup

Read. Scope: administration.read, admin. Contract: declared_dynamic. Admin 2fa Setup

administration.2fa.status

Read. Scope: administration.read, admin. Contract: declared_dynamic. Admin 2fa Status

administration.ai.train.from.reply

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Ai Train From Reply

administration.brain.cancel

Write. Scope: administration.write, admin. Contract: declared_dynamic. Admin Brain Cancel

administration.brain.view

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Brain View

administration.chat.access.check

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Chat Access Check

administration.chat.create.ticket.on.behalf

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Chat Create Ticket On Behalf

administration.chat.draft.ticket.from.thread

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Chat Draft Ticket From Thread

administration.conv.delete

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv Delete

administration.conv.get

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv Get

administration.conv.list

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv List

administration.conv.new

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv New

administration.conv.save

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Conv Save

administration.notification.prefs.get

Read. Scope: administration.read, admin. Contract: declared_dynamic. Admin Notification Prefs Get

administration.notification.prefs.save

Write. Scope: administration.write, admin. Contract: declared_dynamic. Admin Notification Prefs Save

administration.notifications.list

Read. Scope: administration.read, admin. Contract: route_inferred. Admin Notifications List

administration.notifications.mark.all.read

Read. Scope: administration.read, admin. Contract: declared_dynamic. Admin Notifications Mark All Read

administration.notifications.mark.read

Read. Scope: administration.read, admin. Contract: route_inferred. Admin Notifications Mark Read

administration.notifications.pulse

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Notifications Pulse

administration.online.list

Read. Scope: administration.read, admin. Contract: declared_dynamic. Admin Online List

administration.presence.ping

Write. Scope: administration.write, admin. Contract: declared_dynamic. Admin Presence Ping

administration.realtime.token

Write. Scope: administration.write, admin. Contract: route_inferred. Admin Realtime Token

analytics (43)

analytics.add.widget

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Add Widget

analytics.analytics.connectors.catalog

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Analytics Connectors Catalog

analytics.analytics.data

Read. Scope: analytics.read, admin. Contract: route_inferred. Analytics Data

analytics.analytics.export

Read. Scope: analytics.read, admin. Contract: route_inferred. Analytics Export

analytics.analytics.export.csv

Read. Scope: analytics.read, admin. Contract: route_inferred. Analytics Export Csv

analytics.analytics.import

Write. Scope: analytics.write, admin. Contract: route_inferred. Analytics Import

analytics.analytics.report

Write. Scope: analytics.write, admin. Contract: route_inferred. Analytics Report

analytics.analytics.segments.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Analytics Segments Delete

analytics.analytics.segments.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Analytics Segments List

analytics.analytics.segments.save

Write. Scope: analytics.write, admin. Contract: route_inferred. Analytics Segments Save

analytics.analytics.status

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Analytics Status

analytics.clear.all

Write. Scope: analytics.write, admin. Contract: declared_dynamic. Replay Clear All

analytics.compute

Read. Scope: analytics.read, admin. Contract: route_inferred. Funnels Compute

analytics.create

Write. Scope: analytics.write, admin. Contract: route_inferred. Ab Test Create

analytics.create.route.dashboard.create

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Create

analytics.create.route.report.create

Write. Scope: analytics.write, admin. Contract: route_inferred. Report Create

analytics.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Ab Test Delete

analytics.delete.route.dashboard.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Delete

analytics.delete.route.funnels.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Funnels Delete

analytics.delete.route.report.delete

Write. Scope: analytics.write, admin. Contract: route_inferred. Report Delete

analytics.events

Read. Scope: analytics.read, admin. Contract: route_inferred. Replay Events

analytics.export

Read. Scope: analytics.read, admin. Contract: source_inferred. Analytics Export

analytics.get

Read. Scope: analytics.read, admin. Contract: route_inferred. Dashboard Get

analytics.layout.get

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Dashboard Layout Get

analytics.layout.save

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Layout Save

analytics.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Ab Test List

analytics.list.route.dashboard.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Dashboard List

analytics.list.route.funnels.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Funnels List

analytics.list.route.report.list

Read. Scope: analytics.read, admin. Contract: declared_dynamic. Report List

analytics.remove.widget

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Remove Widget

analytics.rename

Read. Scope: analytics.read, admin. Contract: route_inferred. Dashboard Rename

analytics.results

Read. Scope: analytics.read, admin. Contract: route_inferred. Ab Test Results

analytics.save

Write. Scope: analytics.write, admin. Contract: route_inferred. Funnels Save

analytics.scheduled.list

Read. Scope: analytics.read, admin. Contract: explicit. List scheduled analytics reports for an operator Required fields: admin_id.

analytics.sections.list

Read. Scope: analytics.read, admin. Contract: explicit. List analytics report sections and date presets

analytics.send.now

Write. Scope: analytics.write, admin. Contract: route_inferred. Report Send Now

analytics.sessions

Read. Scope: analytics.read, admin. Contract: route_inferred. Replay Sessions

analytics.step.visitors

Read. Scope: analytics.read, admin. Contract: route_inferred. Funnels Step Visitors

analytics.timeline

Read. Scope: analytics.read, admin. Contract: route_inferred. Replay Timeline

analytics.toggle.shared

Write. Scope: analytics.write, admin. Contract: route_inferred. Dashboard Toggle Shared

analytics.update

Write. Scope: analytics.write, admin. Contract: route_inferred. Ab Test Update

analytics.update.route.report.update

Write. Scope: analytics.write, admin. Contract: route_inferred. Report Update

analytics.widget.data

Read. Scope: analytics.read, admin. Contract: route_inferred. Dashboard Widget Data

automations (6)

automations.actions.list

Read. Scope: automations.read, admin. Contract: explicit. List integration actions

automations.delete

Write. Scope: automations.write, admin. Contract: route_inferred. Workflow Delete

automations.list

Read. Scope: automations.read, admin. Contract: route_inferred. Workflow List

automations.runs.list

Read. Scope: automations.read, admin. Contract: explicit. List automation execution history

automations.save

Write. Scope: automations.write, admin. Contract: route_inferred. Workflow Save

automations.triggers.list

Read. Scope: automations.read, admin. Contract: explicit. List integration triggers

Conversar (34)

chat.call.start

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Call Start

chat.cobrowse.send

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Cobrowse Send

chat.feedback

Read. Scope: chat.read, admin. Contract: route_inferred. Chat Feedback

chat.feedback.digest

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Feedback Digest

chat.form.delete

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Form Delete

chat.form.get

Read. Scope: chat.read, admin. Contract: route_inferred. Chat Form Get

chat.form.list

Read. Scope: chat.read, admin. Contract: declared_dynamic. Chat Form List

chat.form.save

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Form Save

chat.form.set.default

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Form Set Default

chat.online.admins

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Online Admins

chat.permissions.list

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Permissions List

chat.permissions.revoke

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Permissions Revoke

chat.permissions.save

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Permissions Save

chat.permissions.upload.avatar

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Permissions Upload Avatar

chat.reaction.toggle

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Reaction Toggle

chat.saved_replies.add

Write. Scope: chat.write, admin. Contract: source_inferred. Chat Saved Replies Add Retry-safe with idempotency_key.

chat.saved_replies.list

Read. Scope: chat.read, admin. Contract: explicit. List workspace and personal saved replies

chat.saved_replies.save

Write. Scope: chat.write, admin. Contract: source_inferred. Chat Saved Replies Save Retry-safe with idempotency_key.

chat.set.persona

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Set Persona

chat.snooze.clear

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Snooze Clear

chat.snooze.set

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Snooze Set

chat.transfer.thread

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Transfer Thread

chat.transfer.unread

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Transfer Unread

chat.typing.preview

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Typing Preview

chat.whisper.ai.summary

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Ai Summary

chat.whisper.controls

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Whisper Controls

chat.whisper.delete.room

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Delete Room

chat.whisper.list

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper List

chat.whisper.mentions

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Whisper Mentions

chat.whisper.rooms

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Whisper Rooms

chat.whisper.save.controls

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Save Controls

chat.whisper.send

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Send

chat.whisper.targets

Write. Scope: chat.write, admin. Contract: declared_dynamic. Chat Whisper Targets

chat.whisper.unread

Write. Scope: chat.write, admin. Contract: route_inferred. Chat Whisper Unread

communications (21)

communications.auth.check

Read. Scope: communications.read, admin. Contract: route_inferred. Email Auth Check

communications.campaign.delete

Write. Scope: communications.write, admin. Contract: route_inferred. Push Campaign Delete

communications.campaign.save

Write. Scope: communications.write, admin. Contract: route_inferred. Push Campaign Save

communications.campaign.send

Write. Scope: communications.write, admin. Contract: route_inferred. Push Campaign Send

communications.campaigns.list

Read. Scope: communications.read, admin. Contract: declared_dynamic. Push Campaigns List

communications.drafts.delete

Write. Scope: communications.write, admin. Contract: route_inferred. Email Drafts Delete

communications.drafts.list

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Drafts List

communications.drafts.save

Write. Scope: communications.write, admin. Contract: route_inferred. Email Drafts Save

communications.drafts.send

Write. Scope: communications.write, admin. Contract: route_inferred. Email Drafts Send

communications.mailboxes.delete

Write. Scope: communications.write, admin. Contract: route_inferred. Email Mailboxes Delete

communications.mailboxes.list

Read. Scope: communications.read, admin. Contract: route_inferred. Email Mailboxes List

communications.mailboxes.poll

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Mailboxes Poll

communications.mailboxes.save

Write. Scope: communications.write, admin. Contract: route_inferred. Email Mailboxes Save

communications.mailboxes.test

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Mailboxes Test

communications.pipe.regen.token

Write. Scope: communications.write, admin. Contract: declared_dynamic. Email Pipe Regen Token

communications.platform.list

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Platform List

communications.platform.send

Write. Scope: communications.write, admin. Contract: route_inferred. Email Platform Send

communications.settings.get

Read. Scope: communications.read, admin. Contract: declared_dynamic. Email Settings Get

communications.settings.save

Write. Scope: communications.write, admin. Contract: route_inferred. Email Settings Save

communications.settings.test

Read. Scope: communications.read, admin. Contract: route_inferred. Email Settings Test

communications.vapid.generate

Write. Scope: communications.write, admin. Contract: declared_dynamic. Push Vapid Generate

connector_builder (11)

connector_builder.export

Read. Scope: connector_builder.read, admin. Contract: explicit. Export a generated connector Required fields: slug.

connector_builder.generate

Write. Scope: connector_builder.write, admin. Contract: explicit. Generate a connector package Required fields: spec. Retry-safe with idempotency_key.

connector_builder.get

Read. Scope: connector_builder.read, admin. Contract: explicit. Load a Builder specification Required fields: slug.

connector_builder.import.curl

Write. Scope: connector_builder.write, admin. Contract: explicit. Import cURL into Connector Builder Retry-safe with idempotency_key.

connector_builder.import.openapi

Write. Scope: connector_builder.write, admin. Contract: explicit. Import OpenAPI into Connector Builder Retry-safe with idempotency_key.

connector_builder.import.postman

Write. Scope: connector_builder.write, admin. Contract: explicit. Import Postman into Connector Builder Retry-safe with idempotency_key.

connector_builder.list

Read. Scope: connector_builder.read, admin. Contract: explicit. List Builder connectors

connector_builder.profiles

Read. Scope: connector_builder.read, connectors.read, admin. Contract: source_inferred. List Connector Builder profiles and capability contracts

connector_builder.test

Write. Scope: connector_builder.write, admin. Contract: explicit. Run Builder conformance tests Required fields: slug. Retry-safe with idempotency_key.

connector_builder.update

Write. Scope: connector_builder.write, admin. Contract: explicit. Update a generated connector Required fields: slug, spec. Retry-safe with idempotency_key.

connector_builder.validate

Read. Scope: connector_builder.read, admin. Contract: explicit. Validate a Builder specification Required fields: spec.

connectors (49)

connectors.action

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Action

connectors.backfill

Write. Scope: connectors.write, admin. Contract: explicit. Start connector backfill Required fields: slug. Retry-safe with idempotency_key.

connectors.backfill.route.connectors.backfill

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Backfill

connectors.backfill.status

Read. Scope: connectors.read, admin. Contract: explicit. Read connector backfill status Required fields: slug.

connectors.backfill.status.route.connectors.backfill.status

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Backfill Status

connectors.builder.ai.actions

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Ai Actions

connectors.builder.ai.handler

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Ai Handler

connectors.builder.ai.map

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Ai Map

connectors.builder.delete

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Delete

connectors.builder.dry.run

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Dry Run

connectors.builder.generate

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Generate

connectors.builder.import.curl

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Import Curl

connectors.builder.import.openapi

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Import Openapi

connectors.builder.import.postman

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Import Postman

connectors.builder.list

Read. Scope: connectors.read, admin. Contract: declared_dynamic. Connectors Builder List

connectors.builder.load

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Load

connectors.builder.marketplace.apply

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Marketplace Apply

connectors.builder.marketplace.link

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Marketplace Link

connectors.builder.marketplace.status

Read. Scope: connectors.read, admin. Contract: declared_dynamic. Connectors Builder Marketplace Status

connectors.builder.marketplace.submit

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Marketplace Submit

connectors.builder.test

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Test

connectors.builder.test.action

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Test Action

connectors.builder.update

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Builder Update

connectors.builder.validate

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Builder Validate

connectors.contacts.import

Write. Scope: connectors.write, admin. Contract: route_inferred. Connector Contacts Import

connectors.contract

Read. Scope: connectors.read, connector_builder.read, admin. Contract: source_inferred. Read the canonical connector capability contract

connectors.customers.sync

Write. Scope: connectors.write, admin. Contract: explicit. Synchronize connector customers Required fields: slug. Retry-safe with idempotency_key.

connectors.disable

Write. Scope: connectors.write, admin. Contract: explicit. Disable a connector Required fields: slug. Retry-safe with idempotency_key.

connectors.disable.route.connectors.disable

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Disable

connectors.email.account.department

Read. Scope: connectors.read, admin. Contract: route_inferred. Connector Email Account Department

connectors.email.account.remove

Write. Scope: connectors.write, admin. Contract: route_inferred. Connector Email Account Remove

connectors.email.account.routing

Read. Scope: connectors.read, admin. Contract: route_inferred. Connector Email Account Routing

connectors.enable

Write. Scope: connectors.write, admin. Contract: explicit. Enable a connector Required fields: slug. Retry-safe with idempotency_key.

connectors.enable.route.connectors.enable

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Enable

connectors.get

Read. Scope: connectors.read, admin. Contract: source_inferred. Connectors Get

connectors.get.route.connectors.get

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Get

connectors.install

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Install

connectors.integrity.scan

Read. Scope: connectors.read, admin. Contract: declared_dynamic. Connector Integrity Scan

connectors.list

Read. Scope: connectors.read, admin. Contract: explicit. List installed connectors and capabilities

connectors.list.route.connectors.list

Read. Scope: connectors.read, admin. Contract: declared_dynamic. Connectors List

connectors.oauth.start

Write. Scope: connectors.write, admin. Contract: route_inferred. Connector Oauth Start

connectors.settings.get

Read. Scope: connectors.read, admin. Contract: explicit. Read connector settings Required fields: slug.

connectors.settings.save

Write. Scope: connectors.write, admin. Contract: explicit. Save connector settings Required fields: slug, settings. Retry-safe with idempotency_key.

connectors.shared.oauth.delete

Write. Scope: connectors.write, admin. Contract: route_inferred. Connector Shared Oauth Delete

connectors.sync.customers

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Sync Customers

connectors.test

Read. Scope: connectors.read, admin. Contract: source_inferred. Connectors Test

connectors.test.route.connectors.test

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Test

connectors.uninstall

Write. Scope: connectors.write, admin. Contract: route_inferred. Connectors Uninstall

connectors.workflow.recipes

Read. Scope: connectors.read, admin. Contract: route_inferred. Connectors Workflow Recipes

conversations (37)

conversations.ai.draft

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Ai Draft

conversations.ai.rewrite

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Ai Rewrite

conversations.archive

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Archive

conversations.assign

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Assign

conversations.assignees

Write. Scope: conversations.write, admin. Contract: declared_dynamic. Admin Client Chat Assignees

conversations.bulk

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Bulk

conversations.clear

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Clear

conversations.clear.all

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Clear All

conversations.customer.tickets

Write. Scope: conversations.write, admin. Contract: declared_dynamic. Admin Client Chat Customer Tickets

conversations.decline

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Decline

conversations.delete

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Delete

conversations.delete.last

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Delete Last

conversations.edit.last

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Edit Last

conversations.export

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Export

conversations.forget.visitor

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Forget Visitor

conversations.get

Read. Scope: conversations.read, admin. Contract: source_inferred. Conversations Get

conversations.history

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat History

conversations.list

Read. Scope: conversations.read, admin. Contract: source_inferred. Conversations List

conversations.messages

Read. Scope: conversations.read, admin. Contract: source_inferred. Conversations Messages

conversations.resolve

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Resolve

conversations.saved.replies

Write. Scope: conversations.write, admin. Contract: declared_dynamic. Admin Client Chat Saved Replies

conversations.saved.reply.add

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Saved Reply Add

conversations.saved.reply.ai.generate

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Saved Reply Ai Generate

conversations.saved.reply.delete

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Saved Reply Delete

conversations.saved.reply.save

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Saved Reply Save

conversations.send

Write. Scope: conversations.write, admin. Contract: source_inferred. Conversations Send Retry-safe with idempotency_key.

conversations.send.route.admin.client.chat.send

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Send

conversations.tags.set

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Tags Set

conversations.thread

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Thread

conversations.threads

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Threads

conversations.toggle

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Toggle

conversations.toggle.attachments

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Toggle Attachments

conversations.toggle.call.button

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Toggle Call Button

conversations.typing

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Typing

conversations.unarchive

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Unarchive

conversations.update

Write. Scope: conversations.write, admin. Contract: explicit. Update a conversation status, assignment or subject Retry-safe with idempotency_key.

conversations.upload

Write. Scope: conversations.write, admin. Contract: route_inferred. Admin Client Chat Upload

crm (260)

crm.ab.results

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Ab Results

crm.access.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Access Set

crm.access_log.list

Read. Scope: admin. Contract: source_inferred. Crm Access Log List

crm.account.health

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Account Health

crm.account.health.board

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Account Health Board

crm.account.health.refresh

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Account Health Refresh

crm.account.plan.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Account Plan Get

crm.account.plan.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Account Plan Save

crm.account.plans.due

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Account Plans Due

crm.account.timeline

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Account Timeline

crm.activities.list

Read. Scope: crm.read. Contract: explicit. List CRM contact activities

crm.activities.record

Write. Scope: crm.write. Contract: explicit. Record a CRM contact activity Required fields: contact_id, activity_type. Retry-safe with idempotency_key.

crm.activity.feed

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Activity Feed

crm.agent.toggle

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Agent Toggle

crm.ai.policy.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Ai Policy Get

crm.ai.policy.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Ai Policy Save

crm.ai.policy.simulate

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Ai Policy Simulate

crm.ai.trace

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Ai Trace

crm.approval.decide

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Decide

crm.approval.delegate.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Delegate Set

crm.approval.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Approval List

crm.approval.policy.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Policy Get

crm.approval.policy.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Policy Save

crm.approval.settings

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Approval Settings

crm.approve.apply

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Approve Apply

crm.approve.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Approve List

crm.approve.reject

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Approve Reject

crm.approve.update

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Approve Update

crm.ask

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Ask

crm.assign.owner

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Assign Owner

crm.assignment.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Assignment Get

crm.assignment.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Assignment Save

crm.attachment.delete

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Attachment Delete

crm.attachment.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Attachment List

crm.attachment.upload

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Attachment Upload

crm.autobook.meeting

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Autobook Meeting

crm.autodeal.mode

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Autodeal Mode

crm.book.meeting

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Book Meeting

crm.booking.link.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Booking Link Save

crm.booking.links.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Booking Links List

crm.build.apply

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Build Apply

crm.build.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Build Get

crm.build.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Build List

crm.build.plan

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Build Plan

crm.build.rollback

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Build Rollback

crm.bulk

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Bulk

crm.bundle.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Bundle Set

crm.calendar.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Calendar Status

crm.capture.status

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Capture Status

crm.comm.policy.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Comm Policy Get

crm.comm.policy.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Comm Policy Save

crm.command.snapshot

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Command Snapshot

crm.companies.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Companies List

crm.company.hierarchy

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Company Hierarchy

crm.company.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Company Save

crm.company.set.parent

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Company Set Parent

crm.company.suggest.related

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Company Suggest Related

crm.connectors.catalog

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Connectors Catalog

crm.consent_log.list

Read. Scope: crm.read. Contract: source_inferred. Crm Consent Log List

crm.contact.churn

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Contact Churn

crm.contact.draft.email

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contact Draft Email

crm.contact.enrich

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contact Enrich

crm.contact.propose.email

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contact Propose Email

crm.contacts.detail

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts Detail

crm.contacts.erase

Write. Scope: admin. Contract: source_inferred. Crm Contacts Erase Retry-safe with idempotency_key.

crm.contacts.export

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts Export

crm.contacts.import.list

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts Import List

crm.contacts.import.run

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Import Run Retry-safe with idempotency_key.

crm.contacts.list

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts List

crm.contacts.next_action

Read. Scope: crm.read. Contract: source_inferred. Crm Contacts Next Action

crm.contacts.open_chat

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Open Chat Retry-safe with idempotency_key.

crm.contacts.open_ticket

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Open Ticket Retry-safe with idempotency_key.

crm.contacts.resync

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Resync Retry-safe with idempotency_key.

crm.contacts.save

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Save Retry-safe with idempotency_key.

crm.contacts.send_email

Write. Scope: crm.write. Contract: source_inferred. Crm Contacts Send Email Retry-safe with idempotency_key.

crm.contacts.upsert

Write. Scope: crm.write. Contract: explicit. Crm Contacts Upsert Required fields: email. Retry-safe with idempotency_key.

crm.contract.amend

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contract Amend

crm.contract.price.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contract Price Set

crm.contract.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contract Save

crm.contract.usage

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contract Usage

crm.contracts.list

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Contracts List

crm.conversation.intel

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Conversation Intel

crm.conversions.goals.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Conversions Goals Delete Retry-safe with idempotency_key.

crm.conversions.goals.list

Read. Scope: crm.read. Contract: source_inferred. Crm Conversions Goals List

crm.conversions.goals.save

Write. Scope: crm.write. Contract: source_inferred. Crm Conversions Goals Save Retry-safe with idempotency_key.

crm.conversions.list

Read. Scope: crm.read. Contract: source_inferred. Crm Conversions List

crm.conversions.record

Write. Scope: crm.write. Contract: source_inferred. Crm Conversions Record Retry-safe with idempotency_key.

crm.create.video.meeting

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Create Video Meeting

crm.customer.auto.sync

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Customer Auto Sync

crm.customer.auto.sync.status

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Customer Auto Sync Status

crm.customer.emails

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Customer Emails

crm.customer.payments

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Customer Payments

crm.data.steward.bulk.propose

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Data Steward Bulk Propose

crm.data.steward.inbox

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Data Steward Inbox

crm.data.steward.propose

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Data Steward Propose

crm.deal.advance

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Deal Advance

crm.deal.coach

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Deal Coach

crm.deal.coach.action

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Deal Coach Action

crm.deal.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Deal Get

crm.deal.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Deal Save

crm.deal.splits.get

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Deal Splits Get

crm.deal.splits.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Deal Splits Set

crm.deals.advance

Write. Scope: crm.write. Contract: explicit. Advance a CRM deal to another stage Required fields: deal_id, stage_id. Retry-safe with idempotency_key.

crm.deals.create

Write. Scope: crm.write. Contract: explicit. Create a CRM deal Required fields: title. Retry-safe with idempotency_key.

crm.deals.detail

Read. Scope: crm.read. Contract: explicit. Get one CRM deal Required fields: deal_id.

crm.deals.list

Read. Scope: crm.read. Contract: explicit. List CRM deals

crm.deals.list.route.crm.deals.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Deals List

crm.deals.update

Write. Scope: crm.write. Contract: explicit. Update a CRM deal Required fields: deal_id. Retry-safe with idempotency_key.

crm.detail

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Detail

crm.draft.outreach

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Draft Outreach

crm.enrich.account

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Enrich Account

crm.erase

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Erase

crm.events.catalog

Read. Scope: crm.read. Contract: explicit. List subscribable CRM domain events

crm.events.list

Read. Scope: crm.read. Contract: explicit. List durable CRM domain events

crm.export

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Export

crm.export.all

Read. Scope: crm.read, admin. Contract: route_inferred. Contact Export All

crm.field.add

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Field Add

crm.field.policy.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Field Policy Get

crm.field.policy.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Field Policy Save

crm.field.remove

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Field Remove

crm.fields.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Fields List

crm.forecast.board

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Forecast Board

crm.forecast.snapshot

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Forecast Snapshot

crm.form.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Form Save

crm.forms.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Forms List

crm.health.repair.catalog

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Health Repair Catalog

crm.health.smoke

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Health Smoke

crm.health.snapshot

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Health Snapshot

crm.home.persona.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Home Persona Set

crm.identity.rules.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Identity Rules Get

crm.identity.rules.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Identity Rules Save

crm.import.list

Read. Scope: crm.read, admin. Contract: route_inferred. Contact Import List

crm.import.run

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Import Run

crm.inbound.activity

Read. Scope: crm.read. Contract: source_inferred. Crm Inbound Activity

crm.inbound.endpoints.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Inbound Endpoints Delete Retry-safe with idempotency_key.

crm.inbound.endpoints.list

Read. Scope: crm.read. Contract: source_inferred. Crm Inbound Endpoints List

crm.inbound.endpoints.save

Write. Scope: crm.write. Contract: source_inferred. Crm Inbound Endpoints Save Retry-safe with idempotency_key.

crm.inbound.endpoints.test

Write. Scope: crm.write. Contract: source_inferred. Crm Inbound Endpoints Test Retry-safe with idempotency_key.

crm.leaderboard

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Leaderboard

crm.lifecycle.evaluate

Write. Scope: crm.write. Contract: source_inferred. Crm Lifecycle Evaluate Retry-safe with idempotency_key.

crm.lifecycle.rules.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Lifecycle Rules Delete Retry-safe with idempotency_key.

crm.lifecycle.rules.list

Read. Scope: crm.read. Contract: source_inferred. Crm Lifecycle Rules List

crm.lifecycle.rules.save

Write. Scope: crm.write. Contract: source_inferred. Crm Lifecycle Rules Save Retry-safe with idempotency_key.

crm.list

Read. Scope: crm.read, admin. Contract: route_inferred. Contacts List

crm.mailbox.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Mailbox Status

crm.meeting.book

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Meeting Book

crm.meeting.cancel

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Meeting Cancel

crm.meeting.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Meeting List

crm.meeting.reschedule.accept

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Meeting Reschedule Accept

crm.meeting.reschedule.reject

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Meeting Reschedule Reject

crm.merge

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Merge

crm.message.send

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Message Send

crm.messaging.provider.delete

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Messaging Provider Delete

crm.messaging.provider.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Messaging Provider Save

crm.messaging.provider.test

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Messaging Provider Test

crm.messaging.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Messaging Status

crm.next.action

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Next Action

crm.object.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Object Save

crm.objects.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Objects List

crm.offline.pull

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Offline Pull

crm.offline.push

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Offline Push

crm.open.chat

Read. Scope: crm.read, admin. Contract: route_inferred. Contact Open Chat

crm.open.ticket

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Open Ticket

crm.outreach.campaigns.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Campaigns Delete Retry-safe with idempotency_key.

crm.outreach.campaigns.list

Read. Scope: crm.read. Contract: source_inferred. Crm Outreach Campaigns List

crm.outreach.campaigns.save

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Campaigns Save Retry-safe with idempotency_key.

crm.outreach.campaigns.send

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Campaigns Send Retry-safe with idempotency_key.

crm.outreach.send

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Send Retry-safe with idempotency_key.

crm.outreach.templates.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Templates Delete Retry-safe with idempotency_key.

crm.outreach.templates.list

Read. Scope: crm.read. Contract: source_inferred. Crm Outreach Templates List

crm.outreach.templates.preview

Read. Scope: crm.read. Contract: source_inferred. Crm Outreach Templates Preview

crm.outreach.templates.save

Write. Scope: crm.write. Contract: source_inferred. Crm Outreach Templates Save Retry-safe with idempotency_key.

crm.payments.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Payments Status

crm.pipeline.data

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Pipeline Data

crm.price.resolve

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Price Resolve

crm.pricebook.entry.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Pricebook Entry Set

crm.pricebook.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Pricebook Save

crm.pricebooks.list

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Pricebooks List

crm.privacy_settings.get

Read. Scope: crm.read. Contract: source_inferred. Crm Privacy Settings Get

crm.privacy_settings.save

Write. Scope: admin. Contract: source_inferred. Crm Privacy Settings Save Retry-safe with idempotency_key.

crm.product.archive

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Product Archive

crm.product.revenue

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Product Revenue

crm.product.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Product Save

crm.products.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Products List

crm.propose.meeting

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Propose Meeting

crm.propose.outreach

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Propose Outreach

crm.prospecting.dashboard

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Prospecting Dashboard

crm.prospecting.icp.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Prospecting Icp Save

crm.prospecting.import

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Prospecting Import

crm.prospecting.research

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Prospecting Research

crm.prospecting.score

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Prospecting Score

crm.prospecting.sequence

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Prospecting Sequence

crm.qualification.checklist.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Qualification Checklist Get

crm.qualification.checklist.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Qualification Checklist Save

crm.quota.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Quota Save

crm.quote.get

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Quote Get

crm.quote.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Quote Save

crm.quotes.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Quotes List

crm.record.delete

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Delete

crm.record.fields.get

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Record Fields Get

crm.record.fields.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Fields Save

crm.record.get

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Record Get

crm.record.history

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Record History

crm.record.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Save

crm.record.share.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Share Set

crm.record.share.unset

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Share Unset

crm.record.shares

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Record Shares

crm.records.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Records List

crm.restore.email.consent

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Restore Email Consent

crm.resync.from.platform

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Resync From Platform

crm.retention.catalog

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Retention Catalog

crm.revert

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Revert

crm.runtime.policy.get

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Runtime Policy Get

crm.runtime.policy.remote.wipe

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Runtime Policy Remote Wipe

crm.runtime.policy.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Runtime Policy Save

crm.save

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Save

crm.scoring.rule.ai

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Scoring Rule Ai

crm.scoring.rule.delete

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Scoring Rule Delete

crm.scoring.rule.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Scoring Rule List

crm.scoring.rule.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Scoring Rule Save

crm.segments.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Segments Delete Retry-safe with idempotency_key.

crm.segments.list

Read. Scope: crm.read. Contract: source_inferred. Crm Segments List

crm.segments.members

Read. Scope: crm.read. Contract: source_inferred. Crm Segments Members

crm.segments.preview

Read. Scope: crm.read. Contract: source_inferred. Crm Segments Preview

crm.segments.save

Write. Scope: crm.write. Contract: source_inferred. Crm Segments Save Retry-safe with idempotency_key.

crm.segments.suggestions.accept

Write. Scope: crm.write. Contract: source_inferred. Crm Segments Suggestions Accept Retry-safe with idempotency_key.

crm.segments.suggestions.dismiss

Write. Scope: crm.write. Contract: source_inferred. Crm Segments Suggestions Dismiss Retry-safe with idempotency_key.

crm.segments.suggestions.list

Read. Scope: crm.read. Contract: source_inferred. Crm Segments Suggestions List

crm.semantic.search

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Semantic Search

crm.send.email

Write. Scope: crm.write, admin. Contract: route_inferred. Contact Send Email

crm.send.email.route.crm.send.email

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Send Email

crm.send.for.signature

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Send For Signature

crm.send.payment.link

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Send Payment Link

crm.sequence.action

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Sequence Action

crm.sequence.runs

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Sequence Runs

crm.setup.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Setup Status

crm.sharing.rules.get

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Sharing Rules Get

crm.sharing.rules.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Sharing Rules Save

crm.subject.registry

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Subject Registry

crm.subscriptions.list

Read. Scope: crm.read, admin. Contract: route_inferred. Crm Subscriptions List

crm.subscriptions.rollup

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Subscriptions Rollup

crm.subscriptions.sync

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Subscriptions Sync

crm.task.create

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Task Create

crm.tasks.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Tasks List

crm.team.parent.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Team Parent Set

crm.team.rules.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Team Rules Set

crm.team.save

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Team Save

crm.teams.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Teams List

crm.territory.set

Write. Scope: crm.write, admin. Contract: route_inferred. Crm Territory Set

crm.video.status

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Video Status

crm.views.delete

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Views Delete

crm.views.list

Read. Scope: crm.read, admin. Contract: declared_dynamic. Crm Views List

crm.views.save

Write. Scope: crm.write, admin. Contract: declared_dynamic. Crm Views Save

crm.webhooks.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Webhooks Delete Retry-safe with idempotency_key.

crm.webhooks.list

Read. Scope: crm.read. Contract: explicit. List CRM outbound webhook endpoints and recent deliveries

crm.webhooks.save

Write. Scope: crm.write. Contract: source_inferred. Crm Webhooks Save Retry-safe with idempotency_key.

crm.webhooks.test

Write. Scope: crm.write. Contract: source_inferred. Crm Webhooks Test Retry-safe with idempotency_key.

crm.workflows.delete

Write. Scope: crm.write. Contract: source_inferred. Crm Workflows Delete Retry-safe with idempotency_key.

crm.workflows.list

Read. Scope: crm.read. Contract: source_inferred. Crm Workflows List

crm.workflows.save

Write. Scope: crm.write. Contract: source_inferred. Crm Workflows Save Retry-safe with idempotency_key.

Clientes (44)

customers.analyze

Write. Scope: customers.write, journey.write, admin. Contract: explicit. Analyze a customer journey with AI Required fields: client_id. Retry-safe with idempotency_key.

customers.behaviour

Read. Scope: customers.read, admin. Contract: route_inferred. Cdp Behaviour

customers.behaviour.analyze

Write. Scope: customers.write, admin. Contract: route_inferred. Cdp Behaviour Analyze

customers.chat.embed.backfill

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Embed Backfill

customers.chat.embed.status

Read. Scope: customers.read, admin. Contract: declared_dynamic. Client Chat Embed Status

customers.chat.faq.ai.generate

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Ai Generate

customers.chat.faq.approve.all

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Approve All

customers.chat.faq.delete

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Delete

customers.chat.faq.delete.all

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Faq Delete All

customers.chat.faq.export

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Faq Export

customers.chat.faq.generate

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Generate

customers.chat.faq.import

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Import

customers.chat.faq.list

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq List

customers.chat.faq.save

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Save

customers.chat.faq.set.help

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Set Help

customers.chat.faq.set.help.all

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Set Help All

customers.chat.faq.status

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Faq Status

customers.chat.grant.upload

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Grant Upload

customers.chat.help.set.slug

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Help Set Slug

customers.chat.knowledge.crawl.step

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Crawl Step

customers.chat.knowledge.delete

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Delete

customers.chat.knowledge.delete.all

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Knowledge Delete All

customers.chat.knowledge.delete.duplicates

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Knowledge Delete Duplicates

customers.chat.knowledge.duplicates

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Knowledge Duplicates

customers.chat.knowledge.export.json

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Knowledge Export Json

customers.chat.knowledge.import.json

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Import Json

customers.chat.knowledge.preview

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Preview

customers.chat.knowledge.recrawl

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Recrawl

customers.chat.knowledge.test.url

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Knowledge Test Url

customers.chat.revoke.upload

Write. Scope: customers.write, admin. Contract: route_inferred. Client Chat Revoke Upload

customers.chat.upload.agent.avatar

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Upload Agent Avatar

customers.chat.upload.ai.avatar

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Upload Ai Avatar

customers.chat.upload.icon

Write. Scope: customers.write, admin. Contract: declared_dynamic. Client Chat Upload Icon

customers.client.analyze

Write. Scope: customers.write, admin. Contract: route_inferred. Cdp Client Analyze

customers.client.delete

Write. Scope: customers.write, admin. Contract: route_inferred. Cdp Client Delete

customers.client.export

Write. Scope: customers.write, admin. Contract: route_inferred. Cdp Client Export

customers.client.journey

Read. Scope: customers.read, admin. Contract: route_inferred. Cdp Client Journey

customers.client.prepare.outreach

Write. Scope: customers.write, admin. Contract: route_inferred. Cdp Client Prepare Outreach

customers.clients.list

Read. Scope: customers.read, admin. Contract: route_inferred. Cdp Clients List

customers.detail

Read. Scope: customers.read, admin. Contract: route_inferred. Client Detail

customers.get

Read. Scope: customers.read, crm.read, admin. Contract: explicit. Get a customer profile Required fields: client_id.

customers.journey

Read. Scope: customers.read, journey.read, admin. Contract: explicit. Get a complete customer journey Required fields: client_id.

customers.list

Read. Scope: customers.read, crm.read, admin. Contract: explicit. List known customers

customers.outreach.prepare

Write. Scope: customers.write, crm.write, admin. Contract: explicit. Prepare CRM outreach for a customer Required fields: client_id. Retry-safe with idempotency_key.

departments (1)

departments.list

Read. Scope: departments.read, admin. Contract: source_inferred. Departments List

engagement (164)

engagement.ab.autowinner

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ab Autowinner

engagement.ab.bandit

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ab Bandit

engagement.address.get

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Address Get

engagement.address.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Address Save

engagement.ai.agent

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Agent

engagement.ai.analyze

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Analyze

engagement.ai.compile.profile

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Compile Profile

engagement.ai.copy

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Copy

engagement.ai.critique

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Critique

engagement.ai.decide

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Decide

engagement.ai.design

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Design

engagement.ai.edit

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Edit

engagement.ai.generate

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Generate

engagement.ai.ideas

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Ideas

engagement.ai.image

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Image

engagement.ai.image.edit

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Image Edit

engagement.ai.localize

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Localize

engagement.ai.logo

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Logo

engagement.ai.media.jobs

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Media Jobs

engagement.ai.narrative

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Narrative

engagement.ai.responsive

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Ai Responsive

engagement.ai.variants

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Ai Variants

engagement.ai.video.start

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Video Start

engagement.ai.video.status

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Ai Video Status

engagement.approval.decide

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Approval Decide

engagement.approval.request

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Approval Request

engagement.approvals.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Approvals List

engagement.asset.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Asset Delete

engagement.asset.upload

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Asset Upload

engagement.assets.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Assets List

engagement.audience.materialize

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Audience Materialize

engagement.audience.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Audience Save

engagement.audience.test

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Audience Test

engagement.audit.export

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Audit Export

engagement.autoresponder.get

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Autoresponder Get

engagement.autoresponder.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Autoresponder Save

engagement.bank.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Bank Delete

engagement.bank.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Bank List

engagement.bank.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Bank Save

engagement.bank.used

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Bank Used

engagement.blackouts.get

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Blackouts Get

engagement.blackouts.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Blackouts Save

engagement.brand.kit.bootstrap

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Brand Kit Bootstrap

engagement.brand.kit.font.upload

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Brand Kit Font Upload

engagement.brand.kit.get

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Brand Kit Get

engagement.brand.kit.get.route.survey.brand.kit.get

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Brand Kit Get

engagement.brand.kit.save

Write. Scope: engagement.write, admin. Contract: declared_dynamic. Promo Brand Kit Save

engagement.brand.kit.save.route.survey.brand.kit.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Brand Kit Save

engagement.campaign.archive

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Archive

engagement.campaign.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Delete

engagement.campaign.duplicate

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Duplicate

engagement.campaign.get

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Get

engagement.campaign.launch

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Campaign Launch

engagement.campaign.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign List

engagement.campaign.pause

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Pause

engagement.campaign.preview

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Preview

engagement.campaign.publish

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Publish

engagement.campaign.rollback

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Rollback

engagement.campaign.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Save

engagement.campaign.save.route.survey.campaign.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Campaign Save

engagement.campaign.toggle

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Campaign Toggle

engagement.campaign.versions

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Campaign Versions

engagement.comment.add

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Comment Add

engagement.comments.add

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Comments Add

engagement.comments.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Comments Delete

engagement.comments.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Comments List

engagement.comments.list.route.survey.comments.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Comments List

engagement.comments.resolve

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Comments Resolve

engagement.connectors.catalog

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Connectors Catalog

engagement.coupon.providers

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Coupon Providers

engagement.coupons.clear

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Coupons Clear

engagement.coupons.stats

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Coupons Stats

engagement.coupons.upload

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Coupons Upload

engagement.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Announcement Delete

engagement.delete.route.tour.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Tour Delete

engagement.delivery.analytics

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Delivery Analytics

engagement.delivery.dashboard

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Delivery Dashboard

engagement.deployment.ab.promote

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Deployment Ab Promote

engagement.deployment.ab.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Deployment Ab Save

engagement.deployment.publish

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Deployment Publish

engagement.deployment.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Deployment Save

engagement.deployment.status

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Deployment Status

engagement.detail

Read. Scope: engagement.read, admin. Contract: route_inferred. Campaign Detail

engagement.digest.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Digest Save

engagement.feed.catalog

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Feed Catalog

engagement.feed.items

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Feed Items

engagement.geo.preview

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Geo Preview

engagement.idle.cron.set

Write. Scope: engagement.write, admin. Contract: route_inferred. Proactive Idle Cron Set

engagement.import.create

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Import Create

engagement.import.replay

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Import Replay

engagement.leads.export

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Leads Export

engagement.leads.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Leads List

engagement.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Announcements List

engagement.list.route.tours.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Tours List

engagement.module.set.ai.live

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Module Set Ai Live

engagement.module.set.custom.html

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Module Set Custom Html

engagement.module.set.enabled

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Module Set Enabled

engagement.module.status

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Module Status

engagement.onsite.preview

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Onsite Preview

engagement.pause.all

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Promo Pause All

engagement.presence

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Presence

engagement.preview.share

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Preview Share

engagement.push.draft

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Push Draft

engagement.recipients.issue

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Recipients Issue

engagement.recipients.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Recipients List

engagement.recipients.revoke

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Recipients Revoke

engagement.response.detail

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Response Detail

engagement.responses.browse

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Responses Browse

engagement.rule.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Proactive Rule Delete

engagement.rule.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Proactive Rule Save

engagement.rule.stats

Read. Scope: engagement.read, admin. Contract: route_inferred. Proactive Rule Stats

engagement.rule.test

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Rule Test

engagement.rule.toggle

Write. Scope: engagement.write, admin. Contract: route_inferred. Proactive Rule Toggle

engagement.rules.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Proactive Rules List

engagement.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Announcement Save

engagement.save.route.tour.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Tour Save

engagement.stats

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Stats

engagement.stats.route.tour.stats

Read. Scope: engagement.read, admin. Contract: route_inferred. Tour Stats

engagement.studio.a11y

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio A11y

engagement.studio.ai.generate

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Ai Generate

engagement.studio.ai.insights

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Ai Insights

engagement.studio.ai.target

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Ai Target

engagement.studio.archive

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Archive

engagement.studio.assets

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Studio Assets

engagement.studio.create

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Create

engagement.studio.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Delete

engagement.studio.duplicate

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Duplicate

engagement.studio.event

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Studio Event

engagement.studio.get

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Studio Get

engagement.studio.governance

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Governance

engagement.studio.list

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Survey Studio List

engagement.studio.preview

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Studio Preview

engagement.studio.preview.link

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Studio Preview Link

engagement.studio.publish

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Publish

engagement.studio.rename

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Rename

engagement.studio.revert

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Revert

engagement.studio.save.draft

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Save Draft

engagement.studio.save.targeting

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Save Targeting

engagement.studio.set.active

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Set Active

engagement.studio.set.status

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Set Status

engagement.studio.template.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Template Delete

engagement.studio.template.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Template Save

engagement.studio.tpl.preview

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Tpl Preview

engagement.studio.upload

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Upload

engagement.studio.webhook

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Studio Webhook

engagement.targeting.simulate

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Targeting Simulate

engagement.template.apply

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Template Apply

engagement.template.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Template List

engagement.template.save.custom

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Template Save Custom

engagement.toggle

Write. Scope: engagement.write, admin. Contract: route_inferred. Announcement Toggle

engagement.toggle.route.tour.toggle

Write. Scope: engagement.write, admin. Contract: route_inferred. Tour Toggle

engagement.trigger.set.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Trigger Set Save

engagement.variant.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Variant Delete

engagement.variant.list

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Variant List

engagement.variant.promote

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Variant Promote

engagement.variant.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Promo Variant Save

engagement.version.compare

Read. Scope: engagement.read, admin. Contract: route_inferred. Survey Version Compare

engagement.version.get

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Version Get

engagement.version.label

Read. Scope: engagement.read, admin. Contract: route_inferred. Promo Version Label

engagement.webhook.delete

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Webhook Delete

engagement.webhook.replay

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Webhook Replay

engagement.webhook.run

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Webhook Run

engagement.webhook.save

Write. Scope: engagement.write, admin. Contract: route_inferred. Survey Webhook Save

engagement.widget.data

Read. Scope: engagement.read, admin. Contract: declared_dynamic. Tour Widget Data

feedback (8)

feedback.analytics

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback Analytics

feedback.detractors

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback Detractors

feedback.get

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback Get

feedback.ingest

Write. Scope: feedback.write, admin. Contract: explicit. Ingest a feedback record or external review

feedback.list

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback List

feedback.overview

Read. Scope: feedback.read, admin. Contract: source_inferred. Feedback Overview

feedback.sources.list

Read. Scope: feedback.read, admin. Contract: explicit. List Voice of Customer feedback sources

feedback.update

Write. Scope: feedback.write, admin. Contract: source_inferred. Feedback Update Retry-safe with idempotency_key.

files (1)

files.get

Read. Scope: files.read, admin. Contract: source_inferred. Files Get

intent (6)

intent.clear

Write. Scope: intent.write, admin. Contract: declared_dynamic. Intent Clear

intent.funnel

Read. Scope: intent.read, analytics.read, admin. Contract: explicit. Read the intent funnel

intent.funnel.aggregate

Read. Scope: intent.read, admin. Contract: route_inferred. Intent Funnel Aggregate

intent.funnel.route.intent.funnel

Read. Scope: intent.read, admin. Contract: route_inferred. Intent Funnel

intent.summary

Read. Scope: intent.read, analytics.read, admin. Contract: explicit. Read intent summaries

intent.summary.route.intent.summary

Read. Scope: intent.read, admin. Contract: route_inferred. Intent Summary

kb (6)

kb.faq.delete

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Delete Retry-safe with idempotency_key.

kb.faq.generate

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Generate Retry-safe with idempotency_key.

kb.faq.import

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Import Retry-safe with idempotency_key.

kb.faq.list

Read. Scope: kb.read, read, admin. Contract: source_inferred. Kb Faq List

kb.faq.save

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Save Retry-safe with idempotency_key.

kb.faq.set_status

Write. Scope: kb.write, admin. Contract: source_inferred. Kb Faq Set Status Retry-safe with idempotency_key.

knowledge (80)

knowledge.analytics.get

Read. Scope: kb.read, admin. Contract: route_inferred. Help Analytics Get

knowledge.analytics.toggle

Write. Scope: kb.write, admin. Contract: route_inferred. Help Analytics Toggle

knowledge.article.ai.refine

Read. Scope: kb.read, admin. Contract: route_inferred. Help Article Ai Refine

knowledge.article.class.bulk

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Class Bulk

knowledge.article.delete

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Delete

knowledge.article.publish

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Publish

knowledge.article.save

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Save

knowledge.article.set.category

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Set Category

knowledge.article.set.public

Write. Scope: kb.write, admin. Contract: route_inferred. Help Article Set Public

knowledge.articles.ai.generate

Write. Scope: kb.write, admin. Contract: route_inferred. Help Articles Ai Generate

knowledge.articles.bulk.delete

Write. Scope: kb.write, admin. Contract: route_inferred. Help Articles Bulk Delete

knowledge.articles.count

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Articles Count

knowledge.articles.ids

Read. Scope: kb.read, admin. Contract: route_inferred. Help Articles Ids

knowledge.articles.list

Read. Scope: kb.read, admin. Contract: route_inferred. Help Articles List

knowledge.articles.set.public.all

Write. Scope: kb.write, admin. Contract: route_inferred. Help Articles Set Public All

knowledge.categories.ai.merge

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Categories Ai Merge

knowledge.categories.bulk.delete

Write. Scope: kb.write, admin. Contract: route_inferred. Help Categories Bulk Delete

knowledge.categories.list

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Categories List

knowledge.categories.merge.dupes

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Categories Merge Dupes

knowledge.category.delete

Write. Scope: kb.write, admin. Contract: route_inferred. Help Category Delete

knowledge.category.get

Read. Scope: kb.read, admin. Contract: route_inferred. Help Category Get

knowledge.category.save

Write. Scope: kb.write, admin. Contract: route_inferred. Help Category Save

knowledge.center.article.image.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Article Image Upload

knowledge.center.favicon.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Favicon Upload

knowledge.center.hero.dark.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Hero Dark Upload

knowledge.center.hero.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Hero Upload

knowledge.center.logo.dark.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Logo Dark Upload

knowledge.center.logo.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Logo Upload

knowledge.center.og.image.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Og Image Upload

knowledge.center.settings.get

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Center Settings Get

knowledge.center.settings.save

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Settings Save

knowledge.center.subhero.dark.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Subhero Dark Upload

knowledge.center.subhero.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Subhero Upload

knowledge.center.translate.estimate

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Translate Estimate

knowledge.center.translate.run

Write. Scope: kb.write, admin. Contract: route_inferred. Help Center Translate Run

knowledge.center.translate.status

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Center Translate Status

knowledge.center.translate.stop

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Translate Stop

knowledge.center.widget.icon.upload

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Center Widget Icon Upload

knowledge.comments.deliver.notifications

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Comments Deliver Notifications

knowledge.comments.maintenance

Write. Scope: kb.write, admin. Contract: route_inferred. Help Comments Maintenance

knowledge.comments.moderate

Write. Scope: kb.write, admin. Contract: route_inferred. Help Comments Moderate

knowledge.comments.moderate.route.kb.comments.moderate

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Comments Moderate

knowledge.comments.moderation.list

Read. Scope: kb.read, admin. Contract: route_inferred. Help Comments Moderation List

knowledge.comments.moderation.list.route.kb.comments.moderation.list

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Comments Moderation List

knowledge.comments.notification.run

Write. Scope: kb.write, admin. Contract: route_inferred. Help Comments Notification Run

knowledge.import.batches

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Batches

knowledge.import.connectors

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Import Connectors

knowledge.import.csv.preview

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Import Csv Preview

knowledge.import.preview

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Preview

knowledge.import.resync

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Resync

knowledge.import.run

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Run

knowledge.import.undo

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Import Undo

knowledge.insights.generate

Write. Scope: kb.write, admin. Contract: route_inferred. Help Insights Generate

knowledge.insights.get

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Insights Get

knowledge.mark.reviewed

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Mark Reviewed

knowledge.missed.dismiss

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Missed Dismiss

knowledge.missed.draft.article

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Missed Draft Article

knowledge.missed.list

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Missed List

knowledge.missed.mark.published

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Missed Mark Published

knowledge.missed.refresh

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Missed Refresh

knowledge.organize.descriptions

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Organize Descriptions

knowledge.organize.status

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Organize Status

knowledge.organize.step

Write. Scope: kb.write, admin. Contract: route_inferred. Help Organize Step

knowledge.publish

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Publish

knowledge.reformat.revert

Write. Scope: kb.write, admin. Contract: declared_dynamic. Help Reformat Revert

knowledge.reformat.status

Read. Scope: kb.read, admin. Contract: declared_dynamic. Help Reformat Status

knowledge.reformat.step

Write. Scope: kb.write, admin. Contract: route_inferred. Help Reformat Step

knowledge.review.queue

Read. Scope: kb.read, admin. Contract: declared_dynamic. Kb Review Queue

knowledge.search.gaps

Read. Scope: kb.read, admin. Contract: declared_dynamic. Kb Search Gaps

knowledge.set.featured

Write. Scope: kb.write, admin. Contract: route_inferred. Help Set Featured

knowledge.set.visibility

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Set Visibility

knowledge.subdomain.allocate

Write. Scope: kb.write, admin. Contract: route_inferred. Help Subdomain Allocate

knowledge.subdomain.check

Read. Scope: kb.read, admin. Contract: route_inferred. Help Subdomain Check

knowledge.subdomain.release

Write. Scope: kb.write, admin. Contract: route_inferred. Help Subdomain Release

knowledge.taxonomy.organize

Write. Scope: kb.write, admin. Contract: declared_dynamic. Kb Taxonomy Organize

knowledge.taxonomy.status

Read. Scope: kb.read, admin. Contract: declared_dynamic. Kb Taxonomy Status

knowledge.taxonomy.step

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Taxonomy Step

knowledge.widget.categories

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Widget Categories

knowledge.widget.publish

Write. Scope: kb.write, admin. Contract: route_inferred. Kb Widget Publish

knowledge.widget.targets

Read. Scope: kb.read, admin. Contract: route_inferred. Kb Widget Targets

leads (6)

leads.delete

Write. Scope: leads.write, crm.write, admin. Contract: explicit. Delete a lead Required fields: lead_id. Retry-safe with idempotency_key.

leads.delete.route.lead.delete

Write. Scope: leads.write, admin. Contract: route_inferred. Lead Delete

leads.list

Read. Scope: leads.read, crm.read, admin. Contract: explicit. List leads

leads.stats

Read. Scope: leads.read, analytics.read, admin. Contract: explicit. Get lead statistics

leads.stats.route.leads.stats

Read. Scope: leads.read, admin. Contract: declared_dynamic. Leads Stats

leads.update

Write. Scope: leads.write, crm.write, admin. Contract: explicit. Update a lead Required fields: lead_id, status. Retry-safe with idempotency_key.

Meta (4)

meta.action

Read. Scope: none. Contract: explicit. Get one General API action contract Required fields: name.

meta.actions

Read. Scope: none. Contract: explicit. List the complete General API contract

meta.me

Read. Scope: none. Contract: explicit. Describe the authenticated API key and active workspace

meta.scopes

Read. Scope: none. Contract: explicit. List API scopes and the actions protected by each scope

notifications (1)

notifications.list

Read. Scope: notifications.read, admin. Contract: source_inferred. Notifications List

plataforma (355)

platform.add.announcement

Write. Scope: platform.write, admin. Contract: declared_dynamic. Add Announcement

platform.add.kb.article

Write. Scope: platform.write, admin. Contract: route_inferred. Add Kb Article

platform.add.todo.item

Write. Scope: platform.write, admin. Contract: route_inferred. Add Todo Item

platform.ai.action.lookup

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Action Lookup

platform.ai.anomaly.detect

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Anomaly Detect

platform.ai.brain.add

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Add

platform.ai.brain.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Delete

platform.ai.brain.edit

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Edit

platform.ai.brain.list

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain List

platform.ai.brain.pin

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Pin

platform.ai.brain.status

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Brain Status

platform.ai.chat

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Chat

platform.ai.confidence.stats

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Confidence Stats

platform.ai.context.lookup

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Context Lookup

platform.ai.daily.brief

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Daily Brief

platform.ai.daily.brief.check

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Daily Brief Check

platform.ai.daily.brief.dismiss

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Daily Brief Dismiss

platform.ai.daily.brief.fetch

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Daily Brief Fetch

platform.ai.eval.control.summary

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Control Summary

platform.ai.eval.feedback.queue

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Feedback Queue

platform.ai.eval.kb.gap.queue

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Kb Gap Queue

platform.ai.eval.load

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Load

platform.ai.eval.replay.history

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Eval Replay History

platform.ai.eval.run

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Eval Run

platform.ai.eval.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Eval Save

platform.ai.eval.score.answer

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Eval Score Answer

platform.ai.eval.simulate

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Eval Simulate

platform.ai.feedback.analysis

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Feedback Analysis

platform.ai.feedback.stats

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Feedback Stats

platform.ai.history.archive

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Archive

platform.ai.history.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Clear All

platform.ai.history.delete

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Delete

platform.ai.history.export.csv

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Export Csv

platform.ai.history.get

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Get

platform.ai.history.list

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History List

platform.ai.history.stats

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai History Stats

platform.ai.insight.clear

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Insight Clear

platform.ai.insight.history

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Insight History

platform.ai.insight.report.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Insight Report Delete

platform.ai.insight.report.get

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Insight Report Get

platform.ai.instructions.compress

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Instructions Compress

platform.ai.instructions.connector.templates

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Instructions Connector Templates

platform.ai.instructions.example

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Instructions Example

platform.ai.instructions.load

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Instructions Load

platform.ai.instructions.preview

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Instructions Preview

platform.ai.instructions.reset

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Instructions Reset

platform.ai.instructions.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Ai Instructions Save

platform.ai.page.insights

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Page Insights

platform.ai.popup.regen

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Popup Regen

platform.ai.quality.view

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Quality View

platform.ai.reasoning.chain.get

Read. Scope: platform.read, admin. Contract: route_inferred. Ai Reasoning Chain Get

platform.ai.score.lead

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Score Lead

platform.ai.smart.alerts

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Smart Alerts

platform.ai.triage.accuracy

Read. Scope: platform.read, admin. Contract: declared_dynamic. Ai Triage Accuracy

platform.ai.whmcs.chat

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Whmcs Chat

platform.ai.writing

Write. Scope: platform.write, admin. Contract: route_inferred. Ai Writing

platform.api.keys.catalog

Read. Scope: platform.read, admin. Contract: declared_dynamic. Api Keys Catalog

platform.api.keys.create

Write. Scope: platform.write, admin. Contract: route_inferred. Api Keys Create

platform.api.keys.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Api Keys Delete

platform.api.keys.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Api Keys List

platform.api.keys.revoke

Write. Scope: platform.write, admin. Contract: route_inferred. Api Keys Revoke

platform.api.keys.update

Write. Scope: platform.write, admin. Contract: route_inferred. Api Keys Update

platform.audit.export

Read. Scope: platform.read, admin. Contract: route_inferred. Audit Export

platform.blocked

Write. Scope: platform.write, admin. Contract: route_inferred. Blocked

platform.campaigns

Read. Scope: platform.read, admin. Contract: declared_dynamic. Campaigns

platform.chart.browsers

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Browsers

platform.chart.countries

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Countries

platform.chart.devices

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Devices

platform.chart.hourly

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Hourly

platform.chart.new.returning

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart New Returning

platform.chart.os

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Os

platform.chart.sources

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chart Sources

platform.chart.visitors

Read. Scope: platform.read, admin. Contract: route_inferred. Chart Visitors

platform.chatbot.flow.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Flow Delete

platform.chatbot.flow.get

Read. Scope: platform.read, admin. Contract: route_inferred. Chatbot Flow Get

platform.chatbot.flow.save

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Flow Save

platform.chatbot.flow.stats

Read. Scope: platform.read, admin. Contract: route_inferred. Chatbot Flow Stats

platform.chatbot.flow.test.advance

Read. Scope: platform.read, admin. Contract: route_inferred. Chatbot Flow Test Advance

platform.chatbot.flow.test.start

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Flow Test Start

platform.chatbot.flow.toggle

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Flow Toggle

platform.chatbot.flows.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chatbot Flows List

platform.chatbot.flows.widget.data

Read. Scope: platform.read, admin. Contract: declared_dynamic. Chatbot Flows Widget Data

platform.chatbot.node.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Node Delete

platform.chatbot.node.save

Write. Scope: platform.write, admin. Contract: route_inferred. Chatbot Node Save

platform.chatbot.nodes.list

Read. Scope: platform.read, admin. Contract: route_inferred. Chatbot Nodes List

platform.clear.admin.chat.history

Write. Scope: platform.write, admin. Contract: declared_dynamic. Clear Admin Chat History

platform.command.center.view

Read. Scope: platform.read, admin. Contract: declared_dynamic. Command Center View

platform.commerce.orders.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Commerce Orders List

platform.commerce.orders.transition

Write. Scope: platform.write, admin. Contract: route_inferred. Commerce Orders Transition

platform.commerce.products.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Commerce Products Delete

platform.commerce.products.image.upload

Write. Scope: platform.write, admin. Contract: route_inferred. Commerce Products Image Upload

platform.commerce.products.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Commerce Products List

platform.commerce.products.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Commerce Products Save

platform.commerce.storefront.domain.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Commerce Storefront Domain Remove

platform.commerce.storefront.domain.set

Write. Scope: platform.write, admin. Contract: route_inferred. Commerce Storefront Domain Set

platform.commerce.storefront.logo.upload

Write. Scope: platform.write, admin. Contract: declared_dynamic. Commerce Storefront Logo Upload

platform.commerce.storefront.slug.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Commerce Storefront Slug Save

platform.complete.todo.item

Write. Scope: platform.write, admin. Contract: route_inferred. Complete Todo Item

platform.consent.log.list

Read. Scope: platform.read, admin. Contract: route_inferred. Consent Log List

platform.countries

Read. Scope: platform.read, admin. Contract: declared_dynamic. Countries

platform.country.detail

Read. Scope: platform.read, admin. Contract: route_inferred. Country Detail

platform.custom.code.approve

Write. Scope: platform.write, admin. Contract: route_inferred. Custom Code Approve

platform.custom.code.disable

Write. Scope: platform.write, admin. Contract: route_inferred. Custom Code Disable

platform.custom.code.reject

Write. Scope: platform.write, admin. Contract: route_inferred. Custom Code Reject

platform.custom.code.rollback

Write. Scope: platform.write, admin. Contract: route_inferred. Custom Code Rollback

platform.custom.code.status

Read. Scope: platform.read, admin. Contract: route_inferred. Custom Code Status

platform.delete.todo.item

Write. Scope: platform.write, admin. Contract: route_inferred. Delete Todo Item

platform.devices

Read. Scope: platform.read, admin. Contract: declared_dynamic. Devices

platform.diag.check.resolutions

Read. Scope: platform.read, admin. Contract: declared_dynamic. Diag Check Resolutions

platform.diag.dismiss

Write. Scope: platform.write, admin. Contract: route_inferred. Diag Dismiss

platform.diag.recheck

Read. Scope: platform.read, admin. Contract: route_inferred. Diag Recheck

platform.diag.recheck.all

Read. Scope: platform.read, admin. Contract: declared_dynamic. Diag Recheck All

platform.diag.report

Write. Scope: platform.write, admin. Contract: route_inferred. Diag Report

platform.diag.unmute

Read. Scope: platform.read, admin. Contract: route_inferred. Diag Unmute

platform.dismiss.credit.alert

Write. Scope: platform.write, admin. Contract: route_inferred. Dismiss Credit Alert

platform.domain.knowledge.ai.generate

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge Ai Generate

platform.domain.knowledge.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge Delete

platform.domain.knowledge.list

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge List

platform.domain.knowledge.save

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge Save

platform.domain.knowledge.toggle

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Knowledge Toggle

platform.domain.verify.add

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Verify Add

platform.domain.verify.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Domain Verify List

platform.domain.verify.recheck

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Verify Recheck

platform.domain.verify.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Domain Verify Remove

platform.dynamic.action.dispatch

Write. Scope: platform.write, admin. Contract: route_inferred. Dynamic Action Dispatch

platform.events.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Events Clear All

platform.events.list

Read. Scope: platform.read, admin. Contract: route_inferred. Events List

platform.experiment.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Experiment Delete

platform.experiment.results

Read. Scope: platform.read, admin. Contract: route_inferred. Experiment Results

platform.experiment.save

Write. Scope: platform.write, admin. Contract: route_inferred. Experiment Save

platform.experiments.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Experiments Clear All

platform.experiments.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Experiments List

platform.failed.logins.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Failed Logins Clear All

platform.failed.logins.clear.history

Write. Scope: platform.write, admin. Contract: declared_dynamic. Failed Logins Clear History

platform.failed.logins.journey

Write. Scope: platform.write, admin. Contract: route_inferred. Failed Logins Journey

platform.failed.logins.list

Write. Scope: platform.write, admin. Contract: declared_dynamic. Failed Logins List

platform.failed.logins.unblock

Write. Scope: platform.write, admin. Contract: route_inferred. Failed Logins Unblock

platform.feedback.analysis.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Analysis Get

platform.feedback.analysis.run

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Analysis Run

platform.feedback.analytics.all

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics All

platform.feedback.analytics.detractors

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Detractors

platform.feedback.analytics.metrics

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Metrics

platform.feedback.analytics.overview

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Overview

platform.feedback.analytics.segments

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Segments

platform.feedback.analytics.sentiment

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Sentiment

platform.feedback.analytics.themes

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Themes

platform.feedback.analytics.trends

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Analytics Trends

platform.feedback.assignees.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Assignees List

platform.feedback.event.outbox.drain

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Event Outbox Drain

platform.feedback.exports.create

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Exports Create

platform.feedback.exports.get

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Exports Get

platform.feedback.external.review.ingest

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback External Review Ingest

platform.feedback.ingest.create

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Ingest Create

platform.feedback.items.assign

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Assign

platform.feedback.items.evidence

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Items Evidence

platform.feedback.items.follow.up.complete

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Follow Up Complete

platform.feedback.items.follow.up.set

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Follow Up Set Required fields: bool.

platform.feedback.items.get

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Items Get

platform.feedback.items.list

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback Items List

platform.feedback.items.mark.read

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Mark Read

platform.feedback.items.notes.add

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Notes Add

platform.feedback.items.set.priority

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Set Priority

platform.feedback.items.set.status

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Set Status

platform.feedback.items.tags.add

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Tags Add

platform.feedback.items.tags.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Items Tags Remove

platform.feedback.list

Read. Scope: platform.read, admin. Contract: route_inferred. Feedback List

platform.feedback.reconciliation

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Reconciliation

platform.feedback.reports.delete

Write. Scope: platform.write, admin. Contract: declared_dynamic. Feedback Reports Delete

platform.feedback.reports.email

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Reports Email

platform.feedback.reports.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Reports Get

platform.feedback.reports.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Reports List

platform.feedback.satisfaction.advice.last

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Satisfaction Advice Last

platform.feedback.satisfaction.advise

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Satisfaction Advise

platform.feedback.satisfaction.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Satisfaction Overview

platform.feedback.sources.health

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Sources Health

platform.feedback.sources.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Feedback Sources List

platform.feedback.sources.rebuild

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Sources Rebuild

platform.feedback.sources.replay

Write. Scope: platform.write, admin. Contract: route_inferred. Feedback Sources Replay

platform.feedback.stats

Write. Scope: platform.write, admin. Contract: declared_dynamic. Feedback Stats

platform.fx.refresh.now

Write. Scope: platform.write, admin. Contract: declared_dynamic. Fx Refresh Now

platform.geoip.autodetect

Read. Scope: platform.read, admin. Contract: declared_dynamic. Geoip Autodetect

platform.get.admin.chat.history

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Admin Chat History

platform.get.ai.snapshot

Write. Scope: platform.write, admin. Contract: route_inferred. Get Ai Snapshot

platform.get.campaign.groups

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Campaign Groups

platform.get.client.chat.knowledge.overview

Write. Scope: platform.write, admin. Contract: declared_dynamic. Get Client Chat Knowledge Overview

platform.get.kb.categories

Read. Scope: platform.read, admin. Contract: route_inferred. Get Kb Categories

platform.get.live.health.snapshot

Read. Scope: platform.read, admin. Contract: route_inferred. Get Live Health Snapshot

platform.get.pwa.chat.prefs

Write. Scope: platform.write, admin. Contract: declared_dynamic. Get Pwa Chat Prefs

platform.get.servers

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Servers

platform.get.survey.config

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Survey Config

platform.get.ticket.options

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Ticket Options

platform.get.ticket.thread

Read. Scope: platform.read, admin. Contract: route_inferred. Get Ticket Thread

platform.get.todo.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Todo List

platform.get.whmcs.health.snapshot

Read. Scope: platform.read, admin. Contract: declared_dynamic. Get Whmcs Health Snapshot

platform.get.widget.advanced

Read. Scope: platform.read, admin. Contract: route_inferred. Get Widget Advanced

platform.groups.create

Write. Scope: platform.write, admin. Contract: route_inferred. Groups Create

platform.groups.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Groups Delete

platform.groups.list

Write. Scope: platform.write, admin. Contract: route_inferred. Groups List

platform.groups.rename

Write. Scope: platform.write, admin. Contract: route_inferred. Groups Rename

platform.groups.set.primary

Write. Scope: platform.write, admin. Contract: route_inferred. Groups Set Primary

platform.hc.preview.mint

Read. Scope: platform.read, admin. Contract: route_inferred. Hc Preview Mint

platform.hc.template.apply

Write. Scope: platform.write, admin. Contract: route_inferred. Hc Template Apply

platform.hc.template.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Hc Template Delete

platform.hc.template.preview

Read. Scope: platform.read, admin. Contract: route_inferred. Hc Template Preview

platform.hc.template.save

Write. Scope: platform.write, admin. Contract: route_inferred. Hc Template Save

platform.hc.templates.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hc Templates List

platform.hc.translation.review.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hc Translation Review Get

platform.hc.translation.review.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Hc Translation Review List

platform.hc.translation.review.revert

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hc Translation Review Revert

platform.hc.translation.review.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Hc Translation Review Save

platform.heatmap

Read. Scope: platform.read, admin. Contract: route_inferred. Heatmap

platform.inbound.activity.feed

Write. Scope: platform.write, admin. Contract: route_inferred. Inbound Activity Feed

platform.inbound.endpoints.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Inbound Endpoints Delete

platform.inbound.endpoints.list

Write. Scope: platform.write, admin. Contract: route_inferred. Inbound Endpoints List

platform.inbound.endpoints.save

Write. Scope: platform.write, admin. Contract: route_inferred. Inbound Endpoints Save

platform.inbound.endpoints.test

Write. Scope: platform.write, admin. Contract: route_inferred. Inbound Endpoints Test

platform.ip.classify

Read. Scope: platform.read, admin. Contract: route_inferred. Ip Classify

platform.js.errors.clear.all

Write. Scope: platform.write, admin. Contract: declared_dynamic. Js Errors Clear All

platform.js.errors.list

Read. Scope: platform.read, admin. Contract: route_inferred. Js Errors List

platform.js.issue.assign

Write. Scope: platform.write, admin. Contract: route_inferred. Js Issue Assign

platform.js.issue.update

Write. Scope: platform.write, admin. Contract: route_inferred. Js Issue Update

platform.js.sourcemap.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Js Sourcemap Delete

platform.js.sourcemap.upload

Write. Scope: platform.write, admin. Contract: route_inferred. Js Sourcemap Upload

platform.js.sourcemaps.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Js Sourcemaps List

platform.leads

Read. Scope: platform.read, admin. Contract: route_inferred. Leads

platform.license.delete

Write. Scope: platform.write, admin. Contract: declared_dynamic. License Delete

platform.license.diagnostics

Read. Scope: platform.read, admin. Contract: declared_dynamic. License Diagnostics

platform.license.force.check

Read. Scope: platform.read, admin. Contract: declared_dynamic. License Force Check

platform.license.preflight

Read. Scope: platform.read, admin. Contract: declared_dynamic. License Preflight

platform.license.save

Write. Scope: platform.write, admin. Contract: route_inferred. License Save

platform.license.status

Read. Scope: platform.read, admin. Contract: declared_dynamic. License Status

platform.license.verify.now

Write. Scope: platform.write, admin. Contract: declared_dynamic. License Verify Now

platform.lifecycle.evaluate

Read. Scope: platform.read, admin. Contract: route_inferred. Lifecycle Evaluate

platform.lifecycle.rule.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Lifecycle Rule Delete

platform.lifecycle.rule.list

Read. Scope: platform.read, admin. Contract: route_inferred. Lifecycle Rule List

platform.lifecycle.rule.save

Write. Scope: platform.write, admin. Contract: route_inferred. Lifecycle Rule Save

platform.list.assignable.sites

Read. Scope: platform.read, admin. Contract: declared_dynamic. List Assignable Sites

platform.list.network.issues

Read. Scope: platform.read, admin. Contract: declared_dynamic. List Network Issues

platform.list.sites

Read. Scope: platform.read, admin. Contract: declared_dynamic. List Sites

platform.lookup.client.full

Read. Scope: platform.read, admin. Contract: route_inferred. Lookup Client Full

platform.mark.feedback.read

Write. Scope: platform.write, admin. Contract: route_inferred. Mark Feedback Read

platform.marketplace.local.install

Write. Scope: platform.write, admin. Contract: route_inferred. Marketplace Local Install

platform.marketplace.local.uninstall

Write. Scope: platform.write, admin. Contract: route_inferred. Marketplace Local Uninstall

platform.marketplace.session.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Marketplace Session Get

platform.marketplace.session.set

Write. Scope: platform.write, admin. Contract: route_inferred. Marketplace Session Set

platform.message.contact.locale

Write. Scope: platform.write, admin. Contract: route_inferred. Message Contact Locale

platform.message.outbound.convert

Write. Scope: platform.write, admin. Contract: route_inferred. Message Outbound Convert

platform.message.translate

Write. Scope: platform.write, admin. Contract: route_inferred. Message Translate

platform.message.translation.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Message Translation Delete

platform.message.translation.save

Write. Scope: platform.write, admin. Contract: route_inferred. Message Translation Save

platform.meta.channels.disconnect

Write. Scope: platform.write, admin. Contract: declared_dynamic. Meta Channels Disconnect

platform.onboarding.action

Read. Scope: platform.read, admin. Contract: declared_dynamic. Onboarding Action

platform.onboarding.readiness

Read. Scope: platform.read, admin. Contract: declared_dynamic. Onboarding Readiness

platform.open.network.issue

Read. Scope: platform.read, admin. Contract: declared_dynamic. Open Network Issue

platform.open.ticket

Read. Scope: platform.read, admin. Contract: route_inferred. Open Ticket

platform.operator.text.translate

Write. Scope: platform.write, admin. Contract: route_inferred. Operator Text Translate

platform.opsiq.backup.export

Read. Scope: platform.read, admin. Contract: declared_dynamic. Download a full backup in one request (retired)

platform.opsiq.backup.import

Write. Scope: platform.write, admin. Contract: route_inferred. Opsiq Backup Import

platform.opsiq.backup.import.start

Write. Scope: platform.write, admin. Contract: route_inferred. Opsiq Backup Import Start

platform.opsiq.backup.job.start

Write. Scope: platform.write, admin. Contract: route_inferred. Opsiq Backup Job Start

platform.opsiq.backup.job.status

Write. Scope: platform.write, admin. Contract: route_inferred. Opsiq Backup Job Status

platform.outreach.campaign.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Campaign Delete

platform.outreach.campaign.list

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Campaign List

platform.outreach.campaign.save

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Campaign Save

platform.outreach.campaign.send

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Campaign Send

platform.outreach.compose.send

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Compose Send

platform.outreach.replies.list

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Replies List

platform.outreach.reply.ai

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Ai

platform.outreach.reply.mark

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Mark

platform.outreach.reply.pref

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Pref

platform.outreach.reply.send

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Send

platform.outreach.reply.thread

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Reply Thread

platform.outreach.template.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Template Delete

platform.outreach.template.list

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Template List

platform.outreach.template.preview

Read. Scope: platform.read, admin. Contract: route_inferred. Outreach Template Preview

platform.outreach.template.save

Write. Scope: platform.write, admin. Contract: route_inferred. Outreach Template Save

platform.overview

Read. Scope: platform.read, admin. Contract: declared_dynamic. Overview

platform.overview.hub.view

Read. Scope: platform.read, admin. Contract: route_inferred. Overview Hub View

platform.overview.intelligence.graph

Read. Scope: platform.read, admin. Contract: declared_dynamic. Overview Intelligence Graph

platform.pages

Read. Scope: platform.read, admin. Contract: route_inferred. Pages

platform.paths.data

Read. Scope: platform.read, admin. Contract: route_inferred. Paths Data

platform.profile.change.password

Write. Scope: platform.write, admin. Contract: declared_dynamic. Profile Change Password

platform.profile.get

Read. Scope: platform.read, admin. Contract: route_inferred. Profile Get

platform.profile.reward.claim

Write. Scope: platform.write, admin. Contract: route_inferred. Profile Reward Claim

platform.profile.reward.claim.cancel

Write. Scope: platform.write, admin. Contract: route_inferred. Profile Reward Claim Cancel

platform.profile.save

Write. Scope: platform.write, admin. Contract: declared_dynamic. Profile Save

platform.profile.session.revoke

Write. Scope: platform.write, admin. Contract: route_inferred. Profile Session Revoke

platform.profile.sessions.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Profile Sessions List

platform.profile.sessions.revoke.others

Write. Scope: platform.write, admin. Contract: declared_dynamic. Profile Sessions Revoke Others

platform.profile.team.dispute.file

Write. Scope: platform.write, admin. Contract: route_inferred. Profile Team Dispute File

platform.purge

Write. Scope: platform.write, admin. Contract: route_inferred. Purge

platform.purge.all

Write. Scope: platform.write, admin. Contract: route_inferred. Purge All

platform.realtime

Read. Scope: platform.read, admin. Contract: route_inferred. Realtime

platform.realtime.test

Write. Scope: platform.write, admin. Contract: route_inferred. Realtime Test

platform.retention.data

Read. Scope: platform.read, admin. Contract: route_inferred. Retention Data

platform.routes.list

Read. Scope: admin. Contract: source_inferred. List every registered OpsIQ operation

platform.routes.read

Read. Scope: admin. Contract: explicit. Execute a registered read operation Required fields: route.

platform.routes.write

Write. Scope: admin. Contract: explicit. Execute a registered write operation Required fields: route, idempotency_key. Retry-safe with idempotency_key.

platform.run.ai.analysis

Write. Scope: platform.write, admin. Contract: route_inferred. Run Ai Analysis

platform.save.admin.chat.history

Write. Scope: platform.write, admin. Contract: route_inferred. Save Admin Chat History

platform.save.pwa.chat.prefs

Write. Scope: platform.write, admin. Contract: declared_dynamic. Save Pwa Chat Prefs

platform.save.survey.config

Write. Scope: platform.write, admin. Contract: route_inferred. Save Survey Config

platform.save.widget.advanced

Write. Scope: platform.write, admin. Contract: declared_dynamic. Save Widget Advanced

platform.scim.token.issue

Read. Scope: platform.read, admin. Contract: route_inferred. Scim Token Issue

platform.scim.token.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Scim Token List

platform.scim.token.revoke

Write. Scope: platform.write, admin. Contract: route_inferred. Scim Token Revoke

platform.segment.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Segment Delete

platform.segment.list

Read. Scope: platform.read, admin. Contract: route_inferred. Segment List

platform.segment.members

Read. Scope: platform.read, admin. Contract: route_inferred. Segment Members

platform.segment.preview

Read. Scope: platform.read, admin. Contract: route_inferred. Segment Preview

platform.segment.save

Write. Scope: platform.write, admin. Contract: route_inferred. Segment Save

platform.segment.suggestion.accept

Write. Scope: platform.write, admin. Contract: route_inferred. Segment Suggestion Accept

platform.segment.suggestion.dismiss

Write. Scope: platform.write, admin. Contract: route_inferred. Segment Suggestion Dismiss

platform.segment.suggestion.list

Read. Scope: platform.read, admin. Contract: route_inferred. Segment Suggestion List

platform.send.campaign

Write. Scope: platform.write, admin. Contract: route_inferred. Send Campaign

platform.send.client.email

Write. Scope: platform.write, admin. Contract: route_inferred. Send Client Email

platform.send.ticket.reply

Write. Scope: platform.write, admin. Contract: route_inferred. Send Ticket Reply

platform.service.studio.get

Read. Scope: platform.read, admin. Contract: declared_dynamic. Service Studio Get

platform.set.active.site

Write. Scope: platform.write, admin. Contract: route_inferred. Set Active Site

platform.site.set.group

Write. Scope: platform.write, admin. Contract: route_inferred. Site Set Group

platform.sites.add

Write. Scope: platform.write, admin. Contract: route_inferred. Sites Add

platform.sites.edit

Write. Scope: platform.write, admin. Contract: route_inferred. Sites Edit

platform.sites.list

Write. Scope: platform.write, admin. Contract: route_inferred. Sites List

platform.sites.picker

Write. Scope: platform.write, admin. Contract: route_inferred. Sites Picker

platform.sites.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Sites Remove

platform.stats

Read. Scope: platform.read, admin. Contract: declared_dynamic. Stats

platform.stepup.verify

Write. Scope: platform.write, admin. Contract: declared_dynamic. Stepup Verify

platform.submit.agent.ai.feedback

Write. Scope: platform.write, admin. Contract: route_inferred. Submit Agent Ai Feedback

platform.submit.triage.feedback

Write. Scope: platform.write, admin. Contract: route_inferred. Submit Triage Feedback

platform.test.geoip

Read. Scope: platform.read, admin. Contract: route_inferred. Test Geoip

platform.top.pages

Read. Scope: platform.read, admin. Contract: route_inferred. Top Pages

platform.train.client.chat.knowledge

Write. Scope: platform.write, admin. Contract: route_inferred. Train Client Chat Knowledge

platform.triggers

Read. Scope: platform.read, admin. Contract: declared_dynamic. Triggers

platform.turn.pool.add

Write. Scope: platform.write, admin. Contract: route_inferred. Turn Pool Add

platform.turn.pool.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Turn Pool List

platform.turn.pool.pick.test

Write. Scope: platform.write, admin. Contract: route_inferred. Turn Pool Pick Test

platform.turn.pool.remove

Write. Scope: platform.write, admin. Contract: route_inferred. Turn Pool Remove

platform.turn.pool.update

Write. Scope: platform.write, admin. Contract: route_inferred. Turn Pool Update

platform.update.lead.status

Write. Scope: platform.write, admin. Contract: route_inferred. Update Lead Status

platform.wa.embedded.signup.exchange

Write. Scope: platform.write, admin. Contract: route_inferred. Wa Embedded Signup Exchange

platform.warehouse.export.run

Read. Scope: platform.read, admin. Contract: declared_dynamic. Warehouse Export Run

platform.warehouse.exports.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Warehouse Exports List

platform.webhook.deliveries.list

Read. Scope: platform.read, admin. Contract: route_inferred. Webhook Deliveries List

platform.webhook.endpoint.delete

Write. Scope: platform.write, admin. Contract: route_inferred. Webhook Endpoint Delete

platform.webhook.endpoint.list

Read. Scope: platform.read, admin. Contract: declared_dynamic. Webhook Endpoint List

platform.webhook.endpoint.save

Write. Scope: platform.write, admin. Contract: route_inferred. Webhook Endpoint Save

platform.webhook.endpoint.test

Write. Scope: platform.write, admin. Contract: route_inferred. Webhook Endpoint Test

platform.webhook.redeliver

Write. Scope: platform.write, admin. Contract: route_inferred. Webhook Redeliver

platform.weekly.digest.view

Read. Scope: platform.read, admin. Contract: route_inferred. Weekly Digest View

platform.whmcs.op.dispatch

Read. Scope: platform.read, admin. Contract: declared_dynamic. Whmcs Op Dispatch

platform.workspace.custom.domain.remove

Write. Scope: platform.write, admin. Contract: declared_dynamic. Workspace Custom Domain Remove

platform.workspace.custom.domain.set

Write. Scope: platform.write, admin. Contract: route_inferred. Workspace Custom Domain Set

platform.writing.json.knowledge.clear

Write. Scope: platform.write, admin. Contract: declared_dynamic. Writing Json Knowledge Clear

platform.writing.json.knowledge.count

Read. Scope: platform.read, admin. Contract: declared_dynamic. Writing Json Knowledge Count

platform.writing.json.knowledge.import

Write. Scope: platform.write, admin. Contract: route_inferred. Writing Json Knowledge Import

portal_studio (148)

portal_studio.add

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Domain Add

portal_studio.allocate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Subdomain Allocate

portal_studio.apply.kit

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Apply Kit

portal_studio.apply.theme

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Apply Theme

portal_studio.approval

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Approval

portal_studio.approve

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Approve

portal_studio.ask

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Ask

portal_studio.audience.explain

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Audience Explain

portal_studio.brand.generate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Brand Generate

portal_studio.brand.import

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Brand Import

portal_studio.cancel.schedule

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Design Cancel Schedule

portal_studio.certify

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Certify

portal_studio.check

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Host Check

portal_studio.check.route.portal.subdomain.check

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Subdomain Check

portal_studio.comment.add

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Comment Add

portal_studio.comment.resolve

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Comment Resolve

portal_studio.component.package.inspect

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Component Package Inspect

portal_studio.component.package.install

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Component Package Install

portal_studio.component.validate

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Component Validate

portal_studio.config

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Handoff Config

portal_studio.data.resolve

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Data Resolve

portal_studio.delete.theme

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Delete Theme

portal_studio.developer.contract

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Developer Contract

portal_studio.discovery.preview

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Studio Discovery Preview

portal_studio.discovery.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Discovery Save

portal_studio.document.load

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Load

portal_studio.document.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Save

portal_studio.form.archive

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Form Archive

portal_studio.form.catalog

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Form Catalog

portal_studio.form.create

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Create

portal_studio.form.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Delete

portal_studio.form.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Duplicate

portal_studio.form.evaluate

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Studio Form Evaluate

portal_studio.form.group.apply

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Group Apply

portal_studio.form.group.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Group Delete

portal_studio.form.group.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Group Save

portal_studio.form.publish

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Publish

portal_studio.form.restore

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Form Restore

portal_studio.form.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Save

portal_studio.form.template

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Template

portal_studio.form.test

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Studio Form Test

portal_studio.form.version.restore

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Form Version Restore

portal_studio.identity.discover

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Identity Discover

portal_studio.identity.load

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Identity Load

portal_studio.identity.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Identity Save

portal_studio.integration.activate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Activate

portal_studio.integration.install

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Install

portal_studio.integration.kill.switch

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Kill Switch

portal_studio.integration.list

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Integration List

portal_studio.integration.policy

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Integration Policy

portal_studio.integration.policy.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Integration Policy Save

portal_studio.integration.preflight

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Preflight

portal_studio.integration.revise

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Revise

portal_studio.integration.rollback

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Rollback

portal_studio.integration.transition

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Integration Transition

portal_studio.journey.archive

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Archive

portal_studio.journey.catalog

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Journey Catalog

portal_studio.journey.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Delete

portal_studio.journey.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Duplicate

portal_studio.journey.evaluate

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Studio Journey Evaluate

portal_studio.journey.instantiate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Instantiate

portal_studio.journey.restore

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Restore

portal_studio.journey.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Journey Save

portal_studio.kb.category.delete

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Kb Category Delete

portal_studio.kb.category.reorder

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Kb Category Reorder

portal_studio.kb.category.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Kb Category Save

portal_studio.kb.governance

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Governance

portal_studio.kb.governance.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Kb Governance Save

portal_studio.kb.languages

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Languages

portal_studio.kb.languages.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Kb Languages Save

portal_studio.kb.parity

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Parity

portal_studio.kb.search.tuning

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Search Tuning

portal_studio.kb.search.tuning.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Kb Search Tuning Save

portal_studio.kb.tree

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Kb Tree

portal_studio.knowledge.summary

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Knowledge Summary

portal_studio.list

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Domain List

portal_studio.load

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Analytics Load

portal_studio.load.route.portal.design.load

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Design Load

portal_studio.load.route.portal.form.load

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Form Load

portal_studio.lock

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Lock

portal_studio.migration.apply

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Apply

portal_studio.migration.approve

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Approve

portal_studio.migration.list

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Migration List

portal_studio.migration.reconcile

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Reconcile

portal_studio.migration.report

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Migration Report

portal_studio.migration.rollback

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Rollback

portal_studio.migration.rollout

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Rollout

portal_studio.migration.start

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Migration Start

portal_studio.node.add

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Add

portal_studio.node.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Delete

portal_studio.node.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Duplicate

portal_studio.node.move

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Move

portal_studio.node.update

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Node Update

portal_studio.operations.control

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Operations Control

portal_studio.operations.record

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Operations Record

portal_studio.operations.summary

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Operations Summary

portal_studio.org.context

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Org Context

portal_studio.org.member.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Org Member Save

portal_studio.org.members

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Org Members

portal_studio.org.requests

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Org Requests

portal_studio.page.archive

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Archive

portal_studio.page.create

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Create

portal_studio.page.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Delete

portal_studio.page.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Duplicate

portal_studio.page.restore

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Restore

portal_studio.page.update

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Page Update

portal_studio.parity.accept

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Parity Accept

portal_studio.parity.capture

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Parity Capture

portal_studio.parity.compare

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Parity Compare

portal_studio.parity.create

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Parity Create

portal_studio.parity.list

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Parity List

portal_studio.presence

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Presence

portal_studio.preview

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Preview

portal_studio.preview.catalog

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Preview Catalog

portal_studio.publish

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Publish

portal_studio.quality

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Quality

portal_studio.redirect.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Redirect Delete

portal_studio.redirect.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Redirect Save

portal_studio.release.publish

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Publish

portal_studio.release.rollback

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Rollback

portal_studio.release.schedule

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Schedule

portal_studio.remove

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Domain Remove

portal_studio.request.changes

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Request Changes

portal_studio.restore.published

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Restore Published

portal_studio.revert

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Design Revert

portal_studio.review

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Review

portal_studio.review.link

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Review Link

portal_studio.rollback

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Rollback

portal_studio.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Save

portal_studio.save.route.portal.form.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Form Save

portal_studio.save.theme

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Design Save Theme

portal_studio.saved.section.delete

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Saved Section Delete

portal_studio.saved.section.instantiate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Saved Section Instantiate

portal_studio.saved.section.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Saved Section Save

portal_studio.schedule

Read. Scope: portal_studio.read, admin. Contract: route_inferred. Portal Design Schedule

portal_studio.schedule.cancel

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Schedule Cancel

portal_studio.scim.config

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Scim Config

portal_studio.service.archive

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Archive

portal_studio.service.catalog

Read. Scope: portal_studio.read, admin. Contract: declared_dynamic. Portal Studio Service Catalog

portal_studio.service.duplicate

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Duplicate

portal_studio.service.reorder

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Reorder

portal_studio.service.restore

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Restore

portal_studio.service.save

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Save

portal_studio.service.template

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Studio Service Template

portal_studio.sign.in.flow.save

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Sign In Flow Save

portal_studio.test.link

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Handoff Test Link

portal_studio.unlock

Write. Scope: portal_studio.write, admin. Contract: declared_dynamic. Portal Studio Unlock

portal_studio.upload

Write. Scope: portal_studio.write, admin. Contract: route_inferred. Portal Image Upload

sales (14)

sales.ai.insight

Write. Scope: sales.write, admin. Contract: route_inferred. Sales Ai Insight

sales.analyze

Write. Scope: sales.write, analytics.write, admin. Contract: explicit. Analyze sales with AI Retry-safe with idempotency_key.

sales.chart

Write. Scope: sales.write, admin. Contract: route_inferred. Sales Chart

sales.compare

Read. Scope: sales.read, analytics.read, admin. Contract: explicit. Compare sales periods

sales.compare.route.sales.compare

Read. Scope: sales.read, admin. Contract: route_inferred. Sales Compare

sales.goal.delete

Write. Scope: sales.write, admin. Contract: route_inferred. Conversion Goal Delete

sales.goal.list

Read. Scope: sales.read, admin. Contract: route_inferred. Conversion Goal List

sales.goal.save

Write. Scope: sales.write, admin. Contract: route_inferred. Conversion Goal Save

sales.list

Read. Scope: sales.read, analytics.read, admin. Contract: explicit. List sales and conversions

sales.list.route.conversion.list

Read. Scope: sales.read, admin. Contract: route_inferred. Conversion List

sales.record

Write. Scope: sales.write, admin. Contract: route_inferred. Conversion Record

sales.stats

Read. Scope: sales.read, analytics.read, admin. Contract: explicit. Read sales statistics

sales.stats.route.sales.stats

Read. Scope: sales.read, admin. Contract: declared_dynamic. Sales Stats

sales.table

Read. Scope: sales.read, admin. Contract: route_inferred. Sales Table

Segurança (21)

security.ai.analyze

Write. Scope: security.write, admin. Contract: route_inferred. Security Ai Analyze

security.ai.ask

Write. Scope: security.write, admin. Contract: route_inferred. Security Ai Ask

security.ai.briefs

Read. Scope: security.read, admin. Contract: declared_dynamic. Security Ai Briefs

security.ai.chain.explain

Read. Scope: security.read, admin. Contract: route_inferred. Security Ai Chain Explain

security.ai.incident.action

Write. Scope: security.write, admin. Contract: route_inferred. Security Ai Incident Action

security.ai.incidents

Read. Scope: security.read, admin. Contract: route_inferred. Security Ai Incidents

security.ai.js.triage

Read. Scope: security.read, admin. Contract: route_inferred. Security Ai Js Triage

security.ai.policies

Read. Scope: security.read, admin. Contract: declared_dynamic. Security Ai Policies

security.ai.policy.action

Write. Scope: security.write, admin. Contract: route_inferred. Security Ai Policy Action

security.ai.verdicts

Read. Scope: security.read, admin. Contract: route_inferred. Security Ai Verdicts

security.blocklist.add

Write. Scope: security.write, admin. Contract: source_inferred. Add a spam rule (email, domain or IP) to the ticket blocklist Required fields: kind, value. Retry-safe with idempotency_key.

security.blocklist.list

Read. Scope: security.read, admin. Contract: explicit. List the current ticket spam rules

security.chain.reanchor

Write. Scope: security.write, admin. Contract: declared_dynamic. Security Chain Reanchor

security.check

Read. Scope: security.read, admin. Contract: source_inferred. Check an IP or email against the platform blocklists and Security AI verdicts

security.ip

Write. Scope: security.write, admin. Contract: route_inferred. Block Ip

security.ip.route.unblock.ip

Write. Scope: security.write, admin. Contract: route_inferred. Unblock Ip

security.list

Write. Scope: security.write, admin. Contract: route_inferred. Access Log List

security.overview.chains

Read. Scope: security.read, admin. Contract: declared_dynamic. Security Overview Chains

security.overview.data

Read. Scope: security.read, admin. Contract: declared_dynamic. Security Overview Data

security.report

Write. Scope: security.write, admin. Contract: source_inferred. Report abuse a connector observed (spam, login attack, scan, fraud) Retry-safe with idempotency_key.

security.visitor

Write. Scope: security.write, admin. Contract: route_inferred. Block Visitor

sessions (5)

sessions.detail

Read. Scope: sessions.read, admin. Contract: route_inferred. Session Detail

sessions.get

Read. Scope: sessions.read, analytics.read, admin. Contract: explicit. Get a session journey Required fields: session_id.

sessions.list

Read. Scope: sessions.read, analytics.read, admin. Contract: explicit. List sessions

sessions.merged

Read. Scope: sessions.read, admin. Contract: route_inferred. Sessions Merged

sessions.table

Read. Scope: sessions.read, admin. Contract: route_inferred. Sessions Table

settings (11)

settings.ai.eval.watchtower.config

Write. Scope: settings.write, admin. Contract: declared_dynamic. Ai Eval Watchtower Config

settings.get.client.chat.settings

Read. Scope: settings.read, admin. Contract: route_inferred. Get Client Chat Settings

settings.get.settings

Read. Scope: settings.read, admin. Contract: route_inferred. Get Settings

settings.opsiq.branding.clear

Write. Scope: settings.write, admin. Contract: route_inferred. Opsiq Branding Clear

settings.opsiq.branding.upload

Write. Scope: settings.write, admin. Contract: route_inferred. Opsiq Branding Upload

settings.privacy.settings.get

Read. Scope: settings.read, admin. Contract: declared_dynamic. Privacy Settings Get

settings.privacy.settings.save

Write. Scope: settings.write, admin. Contract: route_inferred. Privacy Settings Save

settings.save.ai.settings

Write. Scope: settings.write, admin. Contract: route_inferred. Save Ai Settings

settings.save.chat.widget.settings

Write. Scope: settings.write, admin. Contract: declared_dynamic. Save Chat Widget Settings

settings.save.client.chat.settings

Write. Scope: settings.write, admin. Contract: route_inferred. Save Client Chat Settings

settings.save.settings

Write. Scope: settings.write, admin. Contract: route_inferred. Save Settings

site_intelligence (221)

site_intelligence.action.audit.chain

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Action Audit Chain

site_intelligence.action.execute

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Action Execute

site_intelligence.action.preview

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Action Preview

site_intelligence.action.token

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Action Token

site_intelligence.agent.auto.bg

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Auto Bg

site_intelligence.agent.auto.bg.stop

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Auto Bg Stop

site_intelligence.agent.auto.step

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Auto Step

site_intelligence.agent.chat

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Chat

site_intelligence.agent.conn.delete

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Conn Delete

site_intelligence.agent.conn.get

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Conn Get

site_intelligence.agent.conn.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Conn Save

site_intelligence.agent.conn.test

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Conn Test

site_intelligence.agent.coverage

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Coverage

site_intelligence.agent.events

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Events

site_intelligence.agent.hosted.apply

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Apply

site_intelligence.agent.hosted.finalize

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Finalize

site_intelligence.agent.hosted.live.set

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Live Set

site_intelligence.agent.hosted.preview

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Preview

site_intelligence.agent.hosted.rollback

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Rollback

site_intelligence.agent.hosted.start

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Start

site_intelligence.agent.hosted.verify

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Hosted Verify

site_intelligence.agent.run.delete

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Delete

site_intelligence.agent.run.finalize

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Finalize

site_intelligence.agent.run.rollback

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Rollback

site_intelligence.agent.run.start

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Start

site_intelligence.agent.run.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Status

site_intelligence.agent.run.verify

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Run Verify

site_intelligence.agent.runs.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Runs List

site_intelligence.agent.set.mode

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Set Mode

site_intelligence.agent.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Status

site_intelligence.agent.step.apply

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Step Apply

site_intelligence.agent.step.skip

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Step Skip

site_intelligence.agent.turn.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Agent Turn Status

site_intelligence.ai.activity

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Ai Activity

site_intelligence.ai.alert.enrich

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Alert Enrich

site_intelligence.ai.alerts

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Alerts

site_intelligence.ai.analyst

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Analyst

site_intelligence.ai.analyst.ask

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Analyst Ask

site_intelligence.ai.analyst.email

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Analyst Email

site_intelligence.ai.analyst.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Analyst Run

site_intelligence.ai.badges

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Badges

site_intelligence.ai.badges.portfolio

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Ai Badges Portfolio

site_intelligence.ai.badges.preview

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Badges Preview

site_intelligence.ai.bl.plan

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Bl Plan

site_intelligence.ai.bl.plan.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Bl Plan Run

site_intelligence.ai.brief

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Brief

site_intelligence.ai.brief.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Brief Run

site_intelligence.ai.comp.analyse

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Comp Analyse

site_intelligence.ai.comp.analyse.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Comp Analyse Run

site_intelligence.ai.content.get

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Content Get

site_intelligence.ai.content.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Content List

site_intelligence.ai.content.publish

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Content Publish

site_intelligence.ai.content.write

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Content Write

site_intelligence.ai.daily.digest

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Daily Digest

site_intelligence.ai.discover

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Discover

site_intelligence.ai.fix.apply

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Apply

site_intelligence.ai.fix.apply.bulk

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Apply Bulk

site_intelligence.ai.fix.dismiss

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Dismiss

site_intelligence.ai.fix.dismiss.bulk

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Dismiss Bulk

site_intelligence.ai.fix.generate

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Generate

site_intelligence.ai.fix.generate.all

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix Generate All

site_intelligence.ai.fix.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Fix List

site_intelligence.ai.kw.coach

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Kw Coach

site_intelligence.ai.kw.coach.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Kw Coach Run

site_intelligence.ai.overview

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Overview

site_intelligence.ai.page.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Page Audit

site_intelligence.ai.page.audit.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Page Audit Run

site_intelligence.ai.portfolio

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Ai Portfolio

site_intelligence.ai.portfolio.history

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Ai Portfolio History

site_intelligence.ai.portfolio.run

Write. Scope: site_intelligence.write, admin. Contract: declared_dynamic. Si Ai Portfolio Run

site_intelligence.ai.probe

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Probe

site_intelligence.ai.prompt.add

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Prompt Add

site_intelligence.ai.prompt.history

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Prompt History

site_intelligence.ai.prompt.remove

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Prompt Remove

site_intelligence.ai.prompts

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Prompts

site_intelligence.ai.readiness

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Readiness

site_intelligence.ai.ready

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ai Ready

site_intelligence.alert.resolve

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Alert Resolve

site_intelligence.alerts

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Alerts

site_intelligence.alerts.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List Site Intelligence alerts

site_intelligence.alerts.resolve

Write. Scope: site_intelligence.write, admin. Contract: explicit. Resolve a Site Intelligence alert Required fields: alert_id. Retry-safe with idempotency_key.

site_intelligence.analyze

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Analyze

site_intelligence.ask

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ask

site_intelligence.audit.hint

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Audit Hint

site_intelligence.backlink.disavow

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Backlink Disavow

site_intelligence.backlinks

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Backlinks

site_intelligence.backlinks.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List backlinks

site_intelligence.backlinks.refresh

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Backlinks Refresh

site_intelligence.billing.overview

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Billing Overview

site_intelligence.brand.get

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Brand Get

site_intelligence.brand.radar

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Brand Radar

site_intelligence.brand.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Brand Save

site_intelligence.cannibalisation

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Cannibalisation

site_intelligence.compare

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Compare

site_intelligence.competitor.add

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Competitor Add

site_intelligence.competitor.refresh

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Competitor Refresh

site_intelligence.competitor.remove

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Competitor Remove

site_intelligence.competitors

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Competitors

site_intelligence.competitors.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List competitors

site_intelligence.content.brief

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Content Brief

site_intelligence.content.decay

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Content Decay

site_intelligence.content.draft

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Content Draft

site_intelligence.crawl.budget

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Crawl Budget

site_intelligence.crawl.list

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Crawl List

site_intelligence.crawl.status

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Crawl Status

site_intelligence.crawls.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List Site Intelligence crawls

site_intelligence.crawls.status

Read. Scope: site_intelligence.read, admin. Contract: explicit. Get crawl status

site_intelligence.dashboard

Read. Scope: site_intelligence.read, admin. Contract: explicit. Read the Site Intelligence dashboard

site_intelligence.dashboard.route.si.dashboard

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Dashboard

site_intelligence.dashboard.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Dashboard Save

site_intelligence.diag.backfill

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Backfill

site_intelligence.diag.compare

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Compare

site_intelligence.diag.portfolio

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Diag Portfolio

site_intelligence.diag.recs.regen

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Recs Regen

site_intelligence.diag.thresholds

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds

site_intelligence.diag.thresholds.eval

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds Eval

site_intelligence.diag.thresholds.history

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds History

site_intelligence.diag.thresholds.profile

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds Profile

site_intelligence.diag.thresholds.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diag Thresholds Save

site_intelligence.diagnostics

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Diagnostics

site_intelligence.exec.report

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Exec Report

site_intelligence.export

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Export

site_intelligence.ga4.connect

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 Connect

site_intelligence.ga4.list.properties

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 List Properties

site_intelligence.ga4.map

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 Map

site_intelligence.ga4.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 Status

site_intelligence.ga4.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Ga4 Sync

site_intelligence.gbp

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp

site_intelligence.gbp.draft.approve

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Draft Approve

site_intelligence.gbp.draft.dismiss

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Draft Dismiss

site_intelligence.gbp.draft.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Draft Sync

site_intelligence.gbp.drafts

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Drafts

site_intelligence.gbp.locations

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Gbp Locations

site_intelligence.gbp.map

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Map

site_intelligence.gbp.post.draft

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Post Draft

site_intelligence.gbp.post.publish

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Post Publish

site_intelligence.gbp.qa

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Qa

site_intelligence.gbp.qa.approve

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Qa Approve

site_intelligence.gbp.qa.dismiss

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Qa Dismiss

site_intelligence.gbp.qa.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Qa Sync

site_intelligence.gbp.site.prefs

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Site Prefs

site_intelligence.gbp.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gbp Sync

site_intelligence.google.truth.schedule.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Google Truth Schedule Save

site_intelligence.growth

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Growth

site_intelligence.gsc.connect

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Connect

site_intelligence.gsc.list.properties

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc List Properties

site_intelligence.gsc.map

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Map

site_intelligence.gsc.opportunities

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Opportunities

site_intelligence.gsc.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Status

site_intelligence.gsc.sync

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Gsc Sync

site_intelligence.image.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Image Audit

site_intelligence.internal.links

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Internal Links

site_intelligence.issue.history

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Issue History

site_intelligence.issues

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Issues

site_intelligence.issues.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List Site Intelligence issues

site_intelligence.keyword.add

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Keyword Add

site_intelligence.keyword.remove

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Keyword Remove

site_intelligence.keyword.research

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Keyword Research

site_intelligence.keywords

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Keywords

site_intelligence.keywords.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List tracked keywords

site_intelligence.local

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Local

site_intelligence.local.grid

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Local Grid

site_intelligence.local.grid.scan

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Local Grid Scan

site_intelligence.log.ingest

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Log Ingest

site_intelligence.log.summary

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Log Summary

site_intelligence.metadata.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Metadata Audit

site_intelligence.overview

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Overview

site_intelligence.page

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Page

site_intelligence.page.experience

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Page Experience

site_intelligence.page.optimize

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Page Optimize

site_intelligence.pages

Read. Scope: site_intelligence.read, admin. Contract: route_inferred. Si Pages

site_intelligence.pages.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List Site Intelligence pages

site_intelligence.pagespeed.bridge.status

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Pagespeed Bridge Status

site_intelligence.portfolio.export

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Portfolio Export

site_intelligence.provider.health

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Provider Health

site_intelligence.rank.check

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Rank Check

site_intelligence.rec.action

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Rec Action

site_intelligence.recommendations

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Recommendations

site_intelligence.redirect.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Redirect Audit

site_intelligence.report

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Report

site_intelligence.report.generate

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Report Generate

site_intelligence.reports

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Reports

site_intelligence.reports.list

Read. Scope: site_intelligence.read, admin. Contract: source_inferred. Site Intelligence Reports List

site_intelligence.reset.google.oauth

Write. Scope: site_intelligence.write, admin. Contract: declared_dynamic. Si Reset Google Oauth

site_intelligence.revenue

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Revenue

site_intelligence.revenue.portfolio

Read. Scope: site_intelligence.read, admin. Contract: declared_dynamic. Si Revenue Portfolio

site_intelligence.save.shared.google.oauth

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Save Shared Google Oauth

site_intelligence.scan.run

Write. Scope: site_intelligence.write, admin. Contract: explicit. Start a Site Intelligence analysis Retry-safe with idempotency_key.

site_intelligence.schedule.delete

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schedule Delete

site_intelligence.schedule.run.now

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schedule Run Now

site_intelligence.schedule.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schedule Save

site_intelligence.schedules.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schedules List

site_intelligence.schema.audit

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Schema Audit

site_intelligence.server.engineer

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Server Engineer

site_intelligence.settings.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Settings Save

site_intelligence.sites.list

Read. Scope: site_intelligence.read, admin. Contract: explicit. List Site Intelligence monitored sites

site_intelligence.speed

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed

site_intelligence.speed.progress

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed Progress

site_intelligence.speed.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed Run

site_intelligence.speed.v2

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2

site_intelligence.speed.v2.build.task

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2 Build Task

site_intelligence.speed.v2.collect

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2 Collect

site_intelligence.speed.v2.read

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2 Read

site_intelligence.speed.v2.run

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Speed V2 Run

site_intelligence.start.crawl

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Start Crawl

site_intelligence.task.approve

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Approve

site_intelligence.task.assign

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Assign

site_intelligence.task.bulk.apply

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Bulk Apply

site_intelligence.task.bulk.assign

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Bulk Assign

site_intelligence.task.bulk.deadline

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Bulk Deadline

site_intelligence.task.bulk.dismiss

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Bulk Dismiss

site_intelligence.task.deadline

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Deadline

site_intelligence.task.note

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Note

site_intelligence.task.proof

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Proof

site_intelligence.task.reject

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Reject

site_intelligence.task.review

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Task Review

site_intelligence.topical.map

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Topical Map

site_intelligence.webhook.delete

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Webhook Delete

site_intelligence.webhook.save

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Webhook Save

site_intelligence.webhooks.list

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Webhooks List

site_intelligence.workflow

Write. Scope: site_intelligence.write, admin. Contract: route_inferred. Si Workflow

Situação (6)

status.component.save

Write. Scope: status.write, admin. Contract: declared_dynamic. Status Component Save

status.components.save

Write. Scope: status.write, admin. Contract: explicit. Create or update a public status component Required fields: name. Retry-safe with idempotency_key.

status.incident.create

Write. Scope: status.write, admin. Contract: declared_dynamic. Status Incident Create

status.incident.resolve

Read. Scope: status.read, admin. Contract: route_inferred. Status Incident Resolve

status.incidents.create

Write. Scope: status.write, admin. Contract: explicit. Create a status-page incident Required fields: title. Retry-safe with idempotency_key.

status.incidents.resolve

Write. Scope: status.write, admin. Contract: source_inferred. Status Incidents Resolve Retry-safe with idempotency_key.

pesquisas (22)

surveys.analytics.get

Read. Scope: surveys.read, admin. Contract: source_inferred. Surveys Analytics Get

surveys.audiences.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey audiences

surveys.audiences.materialize

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Audiences Materialize Retry-safe with idempotency_key.

surveys.campaigns.create

Write. Scope: surveys.write, admin. Contract: explicit. Create or update a survey campaign Required fields: deployment_id. Retry-safe with idempotency_key.

surveys.campaigns.launch

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Campaigns Launch Retry-safe with idempotency_key.

surveys.campaigns.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey campaigns

surveys.deployments.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey deployments

surveys.deployments.set_status

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Deployments Set Status Retry-safe with idempotency_key.

surveys.get

Read. Scope: surveys.read, admin. Contract: source_inferred. Surveys Get

surveys.imports.create

Write. Scope: surveys.write, admin. Contract: explicit. Create and run a survey import Required fields: kind. Retry-safe with idempotency_key.

surveys.imports.process

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Imports Process Retry-safe with idempotency_key.

surveys.invitations.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey invitations

surveys.links.create

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Links Create Retry-safe with idempotency_key.

surveys.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey definitions

surveys.responses.get

Read. Scope: surveys.read, admin. Contract: source_inferred. Surveys Responses Get

surveys.responses.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey responses

surveys.triggers.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey trigger sets

surveys.types.list

Read. Scope: surveys.read, admin. Contract: explicit. List supported question types and Studio templates

surveys.versions.list

Read. Scope: surveys.read, admin. Contract: source_inferred. Surveys Versions List

surveys.webhooks.delete

Write. Scope: surveys.write, admin. Contract: source_inferred. Surveys Webhooks Delete Retry-safe with idempotency_key.

surveys.webhooks.list

Read. Scope: surveys.read, admin. Contract: explicit. List survey webhook subscriptions

surveys.webhooks.save

Write. Scope: surveys.write, admin. Contract: explicit. Create or update a survey webhook subscription Required fields: url. Retry-safe with idempotency_key.

team (63)

team.delete

Write. Scope: team.write, admin. Contract: route_inferred. Admin Users Delete

team.delete.route.departments.delete

Write. Scope: team.write, admin. Contract: route_inferred. Departments Delete

team.list

Read. Scope: team.read, admin. Contract: route_inferred. Admin Users List

team.list.route.departments.list

Read. Scope: team.read, admin. Contract: declared_dynamic. Departments List

team.perf.activity

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Activity

team.perf.ai.compare

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Ai Compare

team.perf.ai.review

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Ai Review

team.perf.availability

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Availability

team.perf.award.finalize

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Award Finalize

team.perf.award.history

Read. Scope: team.read, admin. Contract: route_inferred. Team Perf Award History

team.perf.award.void

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Award Void

team.perf.claim.pay

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Claim Pay

team.perf.claim.recover

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Claim Recover

team.perf.claim.reject

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Claim Reject

team.perf.clear

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Clear

team.perf.coaching.action.item.add

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Action Item Add

team.perf.coaching.action.item.complete

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Action Item Complete

team.perf.coaching.evidence.pin

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Evidence Pin

team.perf.coaching.evidence.unpin

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Evidence Unpin

team.perf.coaching.session

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Session

team.perf.coaching.session.create

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Session Create

team.perf.coaching.session.update

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Session Update

team.perf.coaching.sessions

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Sessions

team.perf.coaching.status

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Coaching Status

team.perf.data

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Data

team.perf.heatmap

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Heatmap

team.perf.history

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf History

team.perf.pay.all.claims

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Pay All Claims

team.perf.qa.calibration.record

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Calibration Record

team.perf.qa.dispute.resolve

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Dispute Resolve

team.perf.qa.disputes

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Disputes

team.perf.qa.evaluation.submit

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Evaluation Submit

team.perf.qa.overview

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Overview

team.perf.qa.scorecard.publish

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Scorecard Publish

team.perf.qa.scorecard.save

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Qa Scorecard Save

team.perf.quest.record

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Quest Record

team.perf.quest.save

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Quest Save

team.perf.quest.status

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Quest Status

team.perf.quests

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Quests

team.perf.recognition

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Recognition

team.perf.recognition.settings.save

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Recognition Settings Save

team.perf.recognition.streak.history

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Recognition Streak History

team.perf.recognition.streaks.record

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Recognition Streaks Record

team.perf.reward.budget.authorize

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Budget Authorize

team.perf.reward.claims

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Claims

team.perf.reward.pay

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Pay

team.perf.reward.payouts

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Payouts

team.perf.reward.period.finalize

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Period Finalize

team.perf.reward.period.history

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Period History

team.perf.reward.period.preview

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Period Preview

team.perf.reward.period.reverse

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Period Reverse

team.perf.reward.period.void

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Period Void

team.perf.reward.save

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward Save

team.perf.reward.state

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Reward State

team.perf.trends

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf Trends

team.perf.v2.data

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf V2 Data

team.perf.v2.export

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf V2 Export

team.perf.v2.live

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf V2 Live

team.perf.v2.reward.sheet

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf V2 Reward Sheet

team.perf.v2.settings

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf V2 Settings

team.perf.v2.settings.save

Write. Scope: team.write, admin. Contract: route_inferred. Team Perf V2 Settings Save

team.save

Write. Scope: team.write, admin. Contract: route_inferred. Admin Users Save

team.save.route.departments.save

Write. Scope: team.write, admin. Contract: route_inferred. Departments Save

Bilhetes (75)

tickets.ai.summary

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Ai Summary

tickets.analytics

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Analytics

tickets.approval.decide

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Approval Decide

tickets.approval.request

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Approval Request

tickets.approvals.pending

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket Approvals Pending

tickets.assignment.rule.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Assignment Rule Delete

tickets.assignment.rule.list

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket Assignment Rule List

tickets.assignment.rule.save

Write. Scope: tickets.write, admin. Contract: declared_dynamic. Ticket Assignment Rule Save

tickets.assignment_rules.delete

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Assignment Rules Delete Retry-safe with idempotency_key.

tickets.assignment_rules.save

Write. Scope: tickets.write, admin. Contract: explicit. Create or update a ticket assignment rule Required fields: name. Retry-safe with idempotency_key.

tickets.bulk

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Bulk Retry-safe with idempotency_key.

tickets.bulk.route.tickets.bulk

Write. Scope: tickets.write, admin. Contract: route_inferred. Tickets Bulk

tickets.calendar.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Sla Calendar Delete

tickets.calendar.save

Write. Scope: tickets.write, admin. Contract: declared_dynamic. Sla Calendar Save

tickets.claim

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Claim

tickets.embed.load

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Embed Load

tickets.embed.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Embed Save

tickets.embed.secret

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Embed Secret

tickets.field.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Field Save

tickets.follower.add

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Follower Add

tickets.follower.remove

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Follower Remove

tickets.get

Read. Scope: tickets.read, admin. Contract: source_inferred. Tickets Get

tickets.kb.deflection

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Kb Deflection

tickets.kb.draft

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Kb Draft

tickets.kb.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Kb Save

tickets.kb.version.restore

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Kb Version Restore

tickets.kb.versions

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Kb Versions

tickets.link.add

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Link Add

tickets.link.remove

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Link Remove

tickets.list

Read. Scope: tickets.read, admin. Contract: source_inferred. Tickets List

tickets.open

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Open Retry-safe with idempotency_key.

tickets.open_guest

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Open Guest Retry-safe with idempotency_key.

tickets.ops.summary

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket Ops Summary

tickets.policy.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Sla Policy Delete

tickets.policy.list

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Sla Policy List

tickets.policy.save

Write. Scope: tickets.write, admin. Contract: declared_dynamic. Sla Policy Save

tickets.presence.leave

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Presence Leave

tickets.presence.ping

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Presence Ping

tickets.quick.replies

Write. Scope: tickets.write, admin. Contract: declared_dynamic. Ticket Quick Replies

tickets.quick.reply.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Quick Reply Save

tickets.relations.get

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Relations Get

tickets.reply

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Reply Retry-safe with idempotency_key.

tickets.reply.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Delete

tickets.reply.edit

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Edit

tickets.reply.outbound.convert

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Outbound Convert

tickets.reply.translate

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Translate

tickets.reply.translation.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Translation Delete

tickets.reply.translation.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Reply Translation Save

tickets.rule.compose

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Rule Compose

tickets.side.ai.draft

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Side Ai Draft

tickets.side.assign.department

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Side Assign Department

tickets.side.create

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Side Create

tickets.side.list

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Side List

tickets.side.mention

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Side Mention

tickets.side.recipients

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket Side Recipients

tickets.side.reply

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Side Reply

tickets.sla.delete

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Sla Delete Retry-safe with idempotency_key.

tickets.sla.save

Write. Scope: tickets.write, admin. Contract: explicit. Create or update an SLA policy Required fields: name. Retry-safe with idempotency_key.

tickets.split

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Split

tickets.split.candidates

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Split Candidates

tickets.tag.add

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Tag Add

tickets.tag.list

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Tag List

tickets.tag.remove

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Tag Remove

tickets.tags.add

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Tags Add Retry-safe with idempotency_key.

tickets.tags.list

Read. Scope: tickets.read, admin. Contract: source_inferred. Tickets Tags List

tickets.tags.remove

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Tags Remove Retry-safe with idempotency_key.

tickets.update

Write. Scope: tickets.write, admin. Contract: source_inferred. Update a ticket status, priority, subject, department or assignment Retry-safe with idempotency_key.

tickets.view.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket View Delete

tickets.view.list

Read. Scope: tickets.read, admin. Contract: declared_dynamic. Ticket View List

tickets.view.save

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket View Save

tickets.views.delete

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Views Delete Retry-safe with idempotency_key.

tickets.views.save

Write. Scope: tickets.write, admin. Contract: source_inferred. Tickets Views Save Retry-safe with idempotency_key.

tickets.worklog.add

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Worklog Add

tickets.worklog.delete

Write. Scope: tickets.write, admin. Contract: route_inferred. Ticket Worklog Delete

tickets.worklog.list

Read. Scope: tickets.read, admin. Contract: route_inferred. Ticket Worklog List

todos (1)

todos.add

Write. Scope: todos.write, admin. Contract: source_inferred. Todos Add Retry-safe with idempotency_key.

visitors (3)

visitors.block

Write. Scope: visitors.write, security.write, admin. Contract: explicit. Block a visitor Required fields: visitor_id. Retry-safe with idempotency_key.

visitors.list

Read. Scope: visitors.read, analytics.read, admin. Contract: explicit. List visitors

visitors.table

Read. Scope: visitors.read, admin. Contract: route_inferred. Visitors Table

writing (6)

writing.analyze

Write. Scope: writing. Contract: source_inferred. Writing Analyze Retry-safe with idempotency_key.

writing.compose

Write. Scope: writing. Contract: source_inferred. Writing Compose Retry-safe with idempotency_key.

writing.reply

Write. Scope: writing. Contract: source_inferred. Writing Reply Retry-safe with idempotency_key.

writing.rewrite

Write. Scope: writing. Contract: source_inferred. Writing Rewrite Retry-safe with idempotency_key.

writing.summarize

Write. Scope: writing. Contract: source_inferred. Writing Summarize Retry-safe with idempotency_key.

writing.translate

Write. Scope: writing. Contract: source_inferred. Writing Translate Retry-safe with idempotency_key.

OpenAPI e Carteiro estão disponíveis?+

O OpenAPI gerado. 3.0 O documento está em... /api/v1/openapi.php, A coleção gerada do Postman está em /api/v1/postman.php, E os médicos de desenvolvimento legíveis por humanos estão em /api/docs/.

Como faço para trabalhar com mais de um espaço de trabalho?+

Envie a chave de site no corpo de solicitação para escolher uma área de trabalho, uma chave emitida para um espaço de trabalho permanece presa a ela, uma tecla com contexto administrativo pode selecionar qualquer espaço de serviço que seja permitido ver e é recusada para qualquer outro.

Que ações podem uma chave só de leitura?+

Qualquer ação marcada como leitura, defina o modo de permissão na chave para ler_somente e cada escrita é recusada com read_snoonly_key, então uma integração de relatórios não pode mudar nada mesmo por engano.

Por que não fui encontrado por algo que posso ver na administração?+

The key is scoped to a workspace. Records in other workspaces return not_found rather than a permission error, so the API never confirms whether something exists elsewhere.

Desenvolvimento

Segurança. API

Um contrato de segurança para cada conector e integração: OpsIQ O que ele sabe sobre um IP Ou remetente, e alimentar de volta o abuso que seu próprio sistema vê.

OpsIQ Já se defende: IP O firewall bloqueia atacantes, o pipeline filtra spam, e a IA de segurança classifica os infratores e propõe regras de bloqueio. API Uma plataforma de faturamento, um portal cliente ou um aplicativo personalizado pode checar um visitante antes de confiar nele, e relatar o que ele observou para que toda a instalação aprenda com cada superfície.

O que você pode fazer

Verifique antes de confiar

Cheque as respostas com o estado do firewall, qualquer regra de spam que corresponda ao remetente, e o veredito secreto da IA para o IP Uma chamada, uma opinião consolidada.

Relate o que viu.

Segurança. relatório registra a observação como um evento de segurança, tem o AI de segurança classificar o IP E alerta os administradores quando o veredito voltar de alto risco. OpsIQ Vê diretamente.

Compartilhar regras de spam

Segurança. Lista de bloqueios. Add e segurança. Listas de bloqueio. Lista ler e escrever as mesmas regras de spam que a página de tickets usa, então um remetente bloqueado em um sistema é bloqueado em todos os lugares.

Reportando abuso de um conector
POST /api/v1.php
Authorization: Bearer opq_your_api_key
Content-Type: application/json

{
  "action": "security.report",
  "ip": "203.0.113.7",
  "kind": "spam",
  "reason": "Sent 40 junk tickets in 10 minutes",
  "source": "whmcs:example.com"
}

Escopo e segurança

security.read

Preciso de segurança, verificação e segurança, lista de bloqueios, seguro para dar uma integração.

security.write

Preciso de segurança, relatório e segurança. Blocklist.

Nada é silenciosamente destruído.

Um remetente da lista de bloqueios ainda pousa na vista do Spam onde o bilhete pode ser lido e restaurado.

A plataforma se protege.

O servidor é seu. IP Endereços nunca podem ser bloqueados, bloqueados ou reportados através disso. API Então uma integração mal configurada não pode derrubar a plataforma.

💡
Minta uma chave em Integrações, depois API Chaves, e dê-lhe apenas o escopo de segurança que precisa.
Meus conectores existentes usam isso automaticamente?+

A sincronização de saída já é automática. IP As plataformas conectadas são ditas através da sincronização de segurança do conector. API Aponte seu conector ou código personalizado nessas quatro ações com uma chave carregando os escopos de segurança.

Onde as regras de spam vivem?+

A página de ingressos Bloqueia o controle do remetente, a IA de spam nas configurações, e isso... API Todos trabalham contra a mesma lista de bloqueios, então há exatamente um lugar para procurar.

Desenvolvimento

Eventos API

Envie eventos personalizados do seu servidor ou site para OpsIQ para análise, experimentos, gatilhos de CRM e condições de webhook.

Como funciona
Eventos APIUma chamada track() enviando um evento personalizado demo_booked para OpsIQ, que alimenta metas de conversão, segmentos e gatilhos.OpsIQ Trick ("demo_booked",valor: 0, plano: "pro"});Metas de conversãoSegmentosAtivadores e webhooksNavegador (OpsIQ.track) ou servidor-side POST /v1/events
Eventos API

Eventos do lado do navegador

Rastreamento de eventos do navegador
window.OpsIQ = window.OpsIQ || [];
window.OpsIQ.push(["track", "button_clicked", {
  button: "signup",
  page: "/pricing",
  variant: "green"
}]);

Eventos do lado do servidor

Servidor, gravar atividades e conversões contra um contato através da ação. API Use. crm.activities.record para o ciclo de vida/atividade empresarial e crm.conversions.record Para conversões. events.send O receptor de eventos CRM está em /v1/inbound.php?t=<token> para sistemas de terceiros que empurram eventos.

Atividade do lado do servidor (ação API)
POST /api/v1.php
Authorization: Bearer opq_your_key
Content-Type: application/json

{
  "action": "crm.activities.record",
  "site_key": "site_abc123",
  "email": "[email protected]",
  "event": "subscription.upgraded",
  "value": 50,
  "currency": "USD"
}

Convenção de Nomeação

Notação de pontos

"Ordem. Completa" não "Ora Completa".

Passado.

"botão. clique" não "boto. clica".

Seja específico.

"Pricing. plan_selection" não "user_action".

Desenvolvimento

Como os dados fluem OpsIQ

Entender o fluxo de dados ajuda a depurar integrações e otimizar o desempenho.

Como funciona
Como os dados fluemOs dados fluem do widget e sinalizador para OpsIQ núcleo (CDP, gráfico de identidade, cérebro IA, análise, CRM) então para fora através de webhooks e do REST API.Widget& farolOpsIQ núcleoCDP · gráfico de identidadeCérebro de IAAnálise · CRMWebhooks para foraRESTAURAÇÃO API
Fluxo de dados

Fluxo de dados de entrada

1
O farol do elemento.

O JavaScript widget envia visualizações de página, cliques e mensagens de bate-papo para /beacon.php.

2
Ingestão de eventos

Eventos armazenados em eventos com chave de site, tipo de evento, cliente e propriedades.

3
Reunião de sessão

Construtor de sessões agrupa as visualizações em sessões (via cron).

4
Resolução de identidade.

Quando identificado, registros anônimos estão ligados ao perfil do cliente.

5
Sincronização do conector

Conectores pegam dados de plataformas externas e armazenam no cache do conector.

6
Contexto de IA

A IA reúne contexto de: histórico de visitantes, perfil do cliente, dados de conectores, KB e prompt.

Fluxo de dados de saída

1
Fogos de eventos

Eventos internos disparam (ticket. criado, chat. mensagem, ordem. completado).

2
Fila de trabalho

Evento colocado na fila de trabalhos assincronizados.

3
Webhook despacho

O expedidor assina e envia para todos os terminais subscritos.

4
Tente novamente o fracasso.

Entregas falhadas tentaram com retrocesso exponencial.

Configurações

Referência de configurações

Tudo abaixo é explorado para o espaço de trabalho em que você está, então uma conta pode executar várias marcas com identidades diferentes, comportamento de bate-papo e regras de retenção.

Encontrando um cenário

Há cerca de 600 controles individuais em Configurações, espalhados por onze guias agrupados sob quatro menus.

Configurações de pesquisa (Ctrl + K)

Pressione Ctrl + K, ou Cmd + K em um Mac, em qualquer lugar da página de configurações. Digite palavras simples e pressione Enter para pular direto para o controle.

Espaço de trabalho e plano

Geral e Licença.

IA e Suporte ao Cliente

Admin AI Assistant, Client Chat, OpsIQ Writing and Support Portal.

Dados e Governança

Rastreamento e privacidade, Permissões e Segurança.

Sistema

Cron Setup (somente apresentado) e Zona de Perigo.

Salvando

Cada guia salva por conta própria com seu próprio botão de salvar. OpsIQ Escrevendo, coloque a deles na tela, salve antes de trocar as abas, as mudanças não são feitas.

Ligações profundas

A guia ativa está escrita no endereço da página, então uma aba pode ser marcada ou enviada para um colega.

Identidade de Negócios

A IA lê esses valores em cada resposta, relatório e resumo diário.

Nome do negócio

Usado em relatórios de IA, resumos diários e redação voltada para o cliente.

Indústria de Negócios

Análise de IA alfaiates, pontuação no chumbo, resumos e predefinições de pesquisa.

Língua do sistema

A linguagem mostrada para quem não escolheu a sua, cada agente pode sobrepor-se ao seu perfil.

Use o idioma do navegador.

Quando alguém escolhe um idioma, a escolha deles ganha e isso nunca o substitui.

Sistema de fuso horário

A zona em que o sistema funciona é: datas, relatórios, horários e a cron de fundo.

GeoIP e Rastreamento

Caminho do Banco de Dados GeoIP2

Caminho completo para GeoLite2-City. mmdb. detecta automaticamente na primeira carga através de cPanel, Plesk, DirectAdmin, Cloudways, Docker e Linux simples ou Windows.

Modo de Fonte Geo

GeoLite2 somente, Geo Lite2 com um Cloudflare Recuar, ou...Cloudflare Apenas.Cloudflare Os modos exigem que o local seja aproximado.Cloudflare, com os cabeçalhos de localização dos visitantes habilitados para detalhes da cidade e região.

Tempo limite de sessão (s)

A inatividade antes de uma sessão de visitantes é considerada terminada. 14400, que são quatro horas.

Intervalo de atualização ao vivo (s)

Com que frequência o Live Feed se atualiza. 30 segundos.

Limiar Ativo (min)

Quanto tempo um visitante conta como vivo depois de sua última página carga. 2 Aqui é a entrega do Live Feed, não a duração da sessão.

Retenção de dados (dias)

Apaga registros coletados e gerados após esta idade: análise, bate-papo, tickets, feedback, transações, telemetria de IA, registros de integração e atividade CRM. 0 Configurações, conteúdo de autoria e recibos de consentimento nunca são removidos.

Quando uma conversa é deletada

A exclusão sempre esconde o bate-papo da caixa de entrada e do histórico do visitante, a retenção agendada e o esquecimento do visitante sempre apagam na íntegra, independentemente disso.

Tráfego de robôs de trilha

Conta rastejantes como visitantes, deixa de lado, infla os visitantes e distorce todos os relatórios.

Surto de feedback ativado.

Mostra o widget de feedback do site para os visitantes, separado das pesquisas de chat no Chat do Cliente, Support Flow.

Geral: IA Features

Chaves mestre para cada superfície de IA, todas padrão e salvas por espaço de trabalho.

AI Triage em ingressos

Classifica cada bilhete por categoria, prioridade e sentimento, e escreve um resumo de linha no topo do ticket.

AI Triage, sumário de pair.

Mostra as etiquetas e resumo de triagem em uma dica quando um agente passa por cima de uma linha na lista de tickets.

Copiloto de entrada (compositor)

Adiciona a resposta da IA, mais quente, mais curta, mais formal e de desculpas sob a caixa de resposta do bilhete.

Pergunte...OpsIQ Co-piloto.

O co-piloto flutuante em cada página de administração sabe qual cliente, fatura ou bilhete está aberto.

Bom dia, breve.

No primeiro dia de abertura, o co-piloto apresenta bilhetes urgentes, respostas atrasadas e bate-papos esperando.

Geral: dinheiro, marca, backup

OpsIQ base currency

Cada dinheiro total do administrador é convertido nesta moeda para exibição.

Taxas de auto-sincronização FX

Refresca as taxas a cada seis horas de uma fonte pública sem chave API. Você pode adicionar taxas manuais que sobrepõem o feed.

Habilitar recursos de Comércio e Faturação

Desligando, o que mostra a página de Vendas e Conversões, os cartões de receitas do painel e o Live Intelligence Feed.

Vocabulário comercial

Ensina. OpsIQ Sua redação: se você faz renovações, a palavra para renovar, o que você vende, e como os compradores são chamados.

Marcas e Logotipos

Dois uploads, um para fundos claros (barra lateral de administração) e outro para escuro (página de entrada). 3 MB.

Agente de Inteligência do Site, permita particular. SSH Alvos

O agente de SEO Auto-Implemento conecta-se sobre SSH. Endereços privados, loopback e reservados são bloqueados por padrão como medida anti-SSRF.

OpsIQ Backup / Restauração

Exporta todos os cenários e OpsIQ Mesa de propriedade e arquivos carregados.OpsIQ configuração e registros apenas; nunca toca clientes, faturas, bilhetes, serviços, domínios, ordens ou transações.

⚠️
Faça um backup antes de usar qualquer coisa na Zona de Perigo, o backup vive em geral e as ações deletadas vivem na Zona do Perigo, então é fácil alcançar o botão deletar sem ter exportado primeiro.
Configurações

Seções: segurança

Proteção para a entrada do administrador, suas contas e os dados. OpsIQ A entrada do cliente para o portal de suporte é configurada separadamente.

Proteção de entrada

GooglereCAPTCHA

Escolha v3 (invisível, marcado) ou v2 (checkbox), ajuste o limite de pontuação v3, e forneça o site e as chaves secretas.

Falha no login Auto-Lockout

Bloqueia um endereço depois de várias falhas dentro de uma janela, por algumas horas.

Endurecimento de login

Política de senha com um comprimento mínimo, rejeição de senhas encontradas em violações conhecidas, bloqueio por conta contra recheio credencial, dois fatores obrigatórios para cada administrador, reentrada de senha antes de ações perigosas e alertas de entrada de novos dispositivos.

Único sinal de acesso (OIDC)

O pessoal precisa de um provedor de identidade. URL Domínios de auto-fornecimento, um por linha, criam usuários automaticamente no primeiro login.

Um único sinal.SAML 2.0)

Para provedores que falam SAML. OpsIQ fornece a resposta do ACS.URL e identificação da entidade SP; você fornece a identificação da unidade IdP, sinal de entrada URL, desligando opcionalmente URL e X.509 Os campos de atributos de email e nome só são necessários para nomes de atributos não padrão.

Provisionamento SCIM

Criação, atualização e desativação de diretórios.OpsIQ Contas.OpsIQ Suprirá o SCIM base URL Você gera símbolos aqui para que alguém possa ser revogado sem quebrar o resto.

Ameaças, bloqueio e coleta

Lista de permissão de saída

Restrições que o exterior hospeda, os conectores podem chamar. SSH Controle de alvo em geral.

Pontuação de ameaça e Auto-Block

Bloqueia um visitante assim que a pontuação de ameaça passar do seu limite. 0 Veja a página de Visão Geral da Segurança por uma semana antes de escolher um número.

Block Page Mensagem

A mensagem que um visitante bloqueado vê, como texto simples ou seu próprio costume HTML Bloquear tela.

Vitais da Web de visitantes reais

Mede LCP, INP e CLS de sessões reais.

Entrega de eventos seguros e retestes

Fila de eventos personalizados no navegador e entregar em lotes com repetições, reduzindo a perda de conexões móveis pobres.

Beacons de Rastreamento Assinado

As incorporações reais de widgets carregam um símbolo criptográfico giratório para que dados falsos possam ser rejeitados, desligados por padrão, permitindo mudanças na autenticação das incorporações, então teste primeiro.

Alertas de segurança

Detecção e bloqueio, de qualquer forma, esse cartão controla se você é informado e quanto a IA ajuda.

Ativar alertas de segurança.

Troca mestre para este cartão.

Onda fracassada no limiar de login

Quantos sinais falharam em um curto período de contagem como uma onda que vale a pena alertar.

IP Inteligência da reputação

Adiciona uma ameaça para visitantes aparecendo em feeds de abuso público.

Site de observação

Tempo de trabalho por hora e TLS Verificações de validade, alertando antes que um certificado caduque.

Analista de segurança e relatórios de incidentes de IA

Adiciona um veredicto explicativo a atividade suspeita, e grupos relacionados ataques em um único incidente legível ao invés de uma corrente de eventos.

Piloto automático da política

Atua por conta própria, transformando o que aprende de um incidente em uma regra proposta ou aplicada.

Digerir segurança diária e conselheiro de postura semanal

Uma recapitulação diária na página de Visão Geral da Segurança, e uma lista semanal mostrando o que está protegido e o que ainda está aberto.

Autoexpirar propostas velhas

Uma proposta de regra de bloqueio que você nunca agiu expira por si só em vez de acumular.

REplay da Sessão DOM

Activar repetição da sessão DOM

As gravações são amostradas e mascaradas com privacidade, e são vistas na página de Replay de Sessão sob o Analytics.

Taxa de amostragem, captura máxima, retenção

Que parte das sessões para gravar, quanto tempo uma única gravação pode ser executada, e quantos dias as gravações são mantidas.

⚠️
Reproduza as pessoas reais usando seu site, mantenha a taxa de amostragem e retenção tão baixa quanto responderá sua pergunta, e divulgue em seu aviso de privacidade.
Configurações

Configurações: Rastreamento e Privacidade

O quê? OpsIQ pode coletar, e quanto tempo cada tipo de registro sobrevive.

Exclusões

Excluded IPs and CIDR Ranges

Endereços nunca foram rastreados, um por linha, endereços exatos ou escalas de ICDR, a maneira mais limpa de manter sua equipe fora de suas análises, porque cobre todos nesse endereço ao invés de apenas administradores.

Excluído. URL Caminhos

Os padrões de página nunca foram rastreados, um por linha, cartões com asterisco. /admin/* mantém o escritório dos fundos fora do registro de visitas.

Política de retenção de dados

Separado do conjunto de retenção de dados em geral e da eliminação da Zona Perigosa.

Registros de interação com IA

Telemetria de confiança com pré-visualizações curtas de consulta e resposta. 90 Isso contém mais texto de clientes, então reduza-o primeiro quando apertar a privacidade.

Eventos de uso de IA

Por chamada, o token conta para relatórios de custos, dias padrão 90.

Action Audit Trail

A ação e o registro de segurança. 365 Mantenha isso por mais tempo, é o seu rastro de evidências.

Diagnósticos

Registros de saúde do sistema. 30 dias.

Perguntas sem resposta

Grupos de perguntas que a IA não poderia responder. 90 Veja as perguntas que a IA perdeu antes de expirarem.

Cães de guarda e exportações

Alertas de Anomalias Métricas

Comparação diária de ontem contra a recente linha de base, alertando quando uma métrica se move mais do que seu limite. 35 Por padrão, off.

Exportação de Armazém

Despejos noturnos de sessões, visitantes, pageviews e mesas relacionadas para sua própria pilha BI, em um formato que você escolher, mantido por vários dias.

Configurações

Configurações: Assistente de IA do administrador

O assistente flutuante que sua equipe usa dentro do administrador, com acesso ao vivo a clientes, faturas, ingressos, servidores e registros de cron.

Activar OpsIQ Al Widget

Mostra o botão assistente em cada página de administração.

Layout e comportamento

Posição do canto, largura do painel (320 para 600 PX), altura máxima (400 para 900 PX), raio de canto (0para 24), tamanho da fonte, e um vidro fosco borrado atrás do painel.

Mostrem as Batatas Rápidas.

Os botões de atalho sob o cabeçalho, a maneira mais rápida para a maioria dos funcionários.

Mostrar informações do modelo

Mostra qual modelo respondeu e quanto tempo levou, útil enquanto ajustava o custo, ruído para uso diário.

Por-admin portão de acesso

Só mostra o assistente de um administrador assinado cujo nome de usuário e e-mail correspondem a um OpsIQ Use o botão de acesso antes de habilitar ou pode bloquear sua equipe.

AI Persona

Mostrar nome, cabeçalho e uma mensagem de boas-vindas personalizada mostrada quando o painel abrir.

Batatas de ação rápida inteligentes

Edite o rótulo e o prompt subjacente para cada atalho, adicione o seu próprio ou reset para os padrões.

Cores e forma

Forma de chip (pílula, arredondada, quadrada), cores de chip, tema de cartão e forma de lançador (round, contorce, quadrado), com uma prévia ao vivo.

Memória de conversação

O assistente lembra o histórico de cada pessoa nas sessões do navegador, até mensagens de até 120, armazenadas em seu próprio banco de dados.

Configurações

Configurações: Conversa com o cliente

O widget de bate-papo que seus clientes usam, e a maior área de Configurações.

Trabalhe nos sub-tabs para uma nova instalação, identidade e cópia, aparência, comportamento, fluxo de suporte, treinamento de conhecimento, avançado é infraestrutura e pode esperar.

Identidade e cópia

Identidade da marca

Nome do agente, tagline, nome da IA, o nome usado para sistema e avisos inativos, e como nomes de agentes aparecem.

"Encontro de bate-papo"

Duas saudações, uma para todos os visitantes e outra para visitantes identificados.

Popup Teaser de 2016

A mensagem flutuante antes da conversa é aberta, com seu próprio nome, tamanho de fonte e cores, a IA pode escrever os teasers, com controles para quantos gerar, quantos mostrar por visita e o intervalo entre eles.

Prompts e Handoff

O roteiro completo: pedindo um nome e e-mail, confirmações, solicitando um humano, sem agentes disponíveis, bilhete criado ou cancelado, entrega pendente.

Status e Avisos Inativos

Três mensagens visíveis para o cliente: agente fecha a conversa, visitante fica quieto e agente devolve à IA. Evite palavras internas como resolvidas ou triadas.

Compositor e Sugestões

Colocador, etiqueta de botão para conversar com um humano e perguntas de abertura sugeridas.

Lançador, Ícone e Avatares

Ícone do lançador, um ícone opcional diferente quando aberto, tamanho do lançadora, e imagens para o agente humano e a IA.

Aparência

Tema e Vidro

Modo temático, predefinido com cores premium, intensidade de borrão e opacidade, além de alternações para animações, linhas de separadores, escondendo a linha do status, escondendo o cartão da mensagem e escondendo o botão de fechar.

Cores Principais

Lançador, cabeçalho, painel de ajuda, links, botões, avisos do sistema e compositor, cada um com uma cor inicial e final para gradientes.

Painel, Bolhas e Batatas

Cerca de trinta catadores cobrindo o painel, borda, texto, área de entrada e todos os tipos de bolha (visitante, IA, agente, digitação, sistema) mais chips de sugestão e seu estado de pair só abra isso para correspondência exata da marca, e verifique contraste no texto de bolhas.

Layout e Forma

Largura e altura do painel, raio de canto, tamanho da fonte, posição da tela, formato do lançador, estilo bolha e se os avatares mostram a largura em um telefone.

Comportamento

AI responde automaticamente.

O interruptor mestre para as respostas da IA.

Seguimentos humanos e texto duplo natural

Um acompanhamento suave quando um visitante fica quieto, e uma mensagem opcional de segundos curtos como uma pessoa enviava uma.

Respostas da máquina de escrever e ritmo de resposta

Se as respostas digitam palavra por palavra, e quão rápido o assistente responde, por predefinição ou seu próprio atraso mínimo e máximo em milissegundos.

Tradução ao vivo

Cada agente lê e escreve em sua própria língua enquanto o visitante lê a deles.

Devolva para Al depois do agente ocioso.

Minutos de inatividade do agente antes da IA retomar a conversa.

Abra o bate-papo.

Segundos antes do widget se abrir.0Intrusivo no celular, saia em0A não ser que seja testado.

Respostas mais inteligentes

Planejando para respostas de um passo, pensando em profundidade, um modelo opcional separado para respostas do agente, mostrando raciocínio aos visitantes, tolerando erros ortográficos, memória de longa conversa, restringindo o assistente apenas ao seu negócio, preços na moeda do visitante, e como os links aparecem.

Poupança de Custos

Abaixar o conhecimento, procurar saudações como "oi" e "obrigado", e fechar a resposta mais longa em fichas.

Línguas

Quais idiomas o widget suporta e como ele escolhe um para um visitante.

Respostas da Conta do Cliente

Respostas de uma conta própria do cliente, opcionalmente procuradas ao vivo e carregadas apenas quando necessário.

Reembolsos

Pedidos de reembolso assistidos onde o assistente reúne detalhes e entrega a uma pessoa, nunca completa um reembolso em si.

Conversa e Widget

Mantendo conversas passadas, continuando uma conversa em seus sites conectados, janela de arrasto, pedindo um e-mail aos convidados, e deixando sua equipe transformar uma conversa num ticket.

Características do Widget

Emoji, anexos com um modo opcional só para colar, compreensão de imagem IA, ícones em linha, microfone, botão de conversa com agente, sons de visitante, visualização do anexo, isolamento de botões de chamada de voz e sessão.

Caixa de entrada do administrador, notificações e boas-vindas.

O visitante recebe o popup, mais seus agentes alertas: sons de caixa de entrada, notificações no desktop, sons de sussurro, se os sussurros privados bip, e o intervalo da pesquisa.

Fluxo de Apoio

Handoff Humano

Como os pedidos de uma pessoa são atribuídos, os segundos que um agente tem que responder, se o declínio retorna a conversa para a IA, e se a IA retoma quando expirar o tempo limite.

Horas de trabalho

Horários de abertura, fuso horário e a mensagem de horas fechadas. OpsIQ Escrevendo.

Respostas quando a IA está desligada

A primeira resposta para uma nova mensagem, a resposta quando alguém já está na fila, e quanto tempo antes de repetir.

Forma Offline

Mostra um formulário de contato em vez da conversa.

Busca de ingressos e Notificações do Departamento

Um visitante citando um número de ingresso tem seu status real, e para qual departamentos a IA pode ir, um painel interno mostra os verdadeiros destinatários para cada departamento, resolvido da mesma forma que o notificador resolve, então você pode ver antes que um cliente faça isso, um departamento não alerta ninguém.

Central de Ajuda em widget de bate-papo

Você escolhe onde aparece o ponto de entrada, a etiqueta e ícone da barra inferior, e se oferece um link para o centro de ajuda completo.

Classificação de conversa

A classificação de estrelas foi acionada quando um agente fecha o bate-papo, quando termina uma entrega ou após um período de inatividade que você define.

Pesquisa Pós-Conversa

Uma pesquisa breve quando o visitante fecha a conversa, com sua pergunta, atraso, regra de tempo e um boné por visita.

Pesquisa de e-mail pós-conversa

Uma pesquisa de seguimento por e-mail após a conversa terminar, opcionalmente na língua em que o visitante conversou, com controle sobre atraso, assunto, introdução, pergunta, ambos os rótulos de botão e a linha obrigado.

Responder Feedback

Polegares para cima e polegares para baixo em cada resposta IA, alimentando os painéis de qualidade.

Arquivo de conversação

Auto-arquivo após dias, auto-resolver depois de minutos de silêncio e apagar conversas arquivadas após dias.

Treinamento de Conhecimento

Nada mais no chat do cliente importa.

Treinamento de Conhecimento no Site

Rasteja seu site para que o assistente possa responder a partir dele, até dez links iniciais, um limite de página, uma profundidade de link e pastas excluídas, um único URL pode ser testado antes do rastreamento completo, excluindo checkout, conta e caminhos administrativos.

Embutidos

O API Chave e modelo que transformam páginas em significado pesquisável ao invés de combinações de palavras-chave.

AI Organizador de Conhecimentos

Um clique e a IA lê todas as FAQs e páginas rastejadas e classifica-as em categorias.

Perguntas frequentes, respostas verificadas.

Os pares de perguntas e respostas tratados como a fonte mais alta prioridade, cada um com um status, peso e categoria, pesquisáveis, importáveis de JSON, e os IA podem escrever a partir de uma descrição do seu negócio.

Avançado

Desempenho e Limites

Intervalo de pesquisa, limite de taxa de mensagens e janela, tamanho máximo do anexo, tentativas de anexação por janela e extensões de arquivo permitidas.

Entrega em tempo real

Mensagem instantânea e entrega de status em vez de fazer pesquisas, através do Pusher, Ably ou Firebase, com um intervalo de votação.

Empurre as notificações.

Alertas de dispositivos para agentes através de feixes de pressão ou sinal One, com interesse em dispositivos.

Web Push (VAPID)

Navegador empurra usando suas chaves geradas sem provedor de terceiros.

Voz, vídeo e tela de compartilhamento

Credenciais da TURN então chamadas se conectam através de redes restritivas, usando Cloudflare Ou credenciais Twilio ou sua própria TURN URL, nome de usuário e credencial.

Fluxo de trabalho na caixa de entrada

Configurações de espaço de trabalho do agente ao invés de configurações de visitante: SLA de primeira resposta em minutos, visualização salva da fila, atalhos de teclado e paleta de comando, busca por conversas e tickets para o cliente no inspetor.

Mensagens de canais

WhatsApp, SMS, Facebook Messenger, Instagram, Telegram, X mensagens diretas e LINE, cada um com seu próprio interruptor de resposta automática IA, além de um interruptor de política para ações de IA em canais, uma resposta debounce e o modelo de reacoplamento WhatSApp.

Uma visualização ao vivo do Widget na parte inferior da aba atualiza-se enquanto você edita.
Configurações

Settings: OpsIQ Writing

Os ingressos responderam por escrito: respostas automáticas, sistema de bilhetes nativos, escalada, horário comercial, roteamento e os emails voltados para o cliente.

Resposta automática

Mostrar OpsIQ Escrita de botões.

Adiciona os botões de ajuda para seus agentes na administração.

Habilitar resposta automática do ticket

Começando com isso e revisando os rascunhos por uma semana, reembolsos, cancelamentos e mudanças de acesso devem sempre chegar a uma pessoa.

Departamentos de auto-responsáveis

Qualquer coisa que não esteja listada é deixada para um humano, o que é o padrão seguro.

Resposta programada (minutos)

Uma resposta instantânea é como um robô, alguns minutos são uma equipe rápida.

Max AI responde por bilhete por departamento.

Um boné por departamento, por exemplo Billing. 1 e apoio. 3Sem uma tampa, um fio confuso pode se enrolar.

Comprimento da resposta, status e identidade

Máxima escrita, status do ticket após uma resposta e depois de um aumento, e que conta administrativa as respostas automáticas são atribuídas a. Use uma conta claramente nomeada para que o pessoal possa dizer respostas de IA de humanos.

Operações de ingressos nativos

Sistema de Ingressos Nativos

O sistema de bilhetes incorporado em OpsIQ, para instalações sem um helpdesk externo.

Incorpore e-mails para os ingressos nativos.

Transforma e-mail de entrada em ingressos. OpsIQ fornece o ponto final. URL Qualquer coisa que possa postar nesse ponto pode criar tickets, então mantenha o segredo.

Respostas multi-volta e atraso e desfalque

Se a IA continua respondendo enquanto a conversa continua, e se espera uma janela silenciosa para que três mensagens rápidas recebam uma resposta considerada.

Portal de apoio público

Uma página voltada para o cliente onde qualquer um pode levantar e rastrear um ticket, com uma linha opcional de boas-vindas.

Formato do número de ingresso.

Quantas letras aleatórias aparecem em números de tickets gerados.

E-mail clientes em sua própria língua

E-mails de ticket seguem a linguagem do cliente, e-mails nunca mudam de idioma, notificações, alertas de departamento, instruções e relatórios agendados permanecem em sua língua.

Agradecimentos e confirmações

Um reconhecimento fixo em novos tickets, além de mensagens de confirmação quando um ticket é aberto, quando o feedback é deixado e quando um bilhete é fechado, cada um com uma prévia ao vivo.

-AI, rastreio de spam.

Escreve os ingressos de remetentes desconhecidos, e pode mover o suspeito de spam sozinho.

Fechem os bilhetes.

Fecha uma passagem depois de alguns dias tranquilos, diga ao cliente na mensagem final como reabrir.

Horário de trabalho (calendário SLA)

Fuso horário, horários de abertura e fechamento, dias úteis e feriados para temporizadores de primeira resposta e resolução. Uma programação separada do Horário de trabalho em Chat com o cliente.

Auto-atribuir novos bilhetes

Tarefa automática, opcionalmente apenas para agentes que estão online, com habilidades de agente e uma sensibilidade compatível para roteamento baseado em habilidades.

Sugerir ingressos duplicados.

Pontos quando um cliente abre uma passagem perto de uma que já tem, com sensibilidade ajustável.

Levantamento de satisfação após fechar

E-mails de uma pesquisa um dia depois de fechar.CSATPage.

Notifique o departamento por e-mail.

Os destinatários são os membros desse departamento, não o endereço da caixa postal do departamento, que é o endereço de entrada.

O que a IA pode ler?

Acesso de dados do cliente IA

Um interruptor mestre mais permissões individuais somente leitura para o resumo do perfil do cliente, faturas, transações, saldo de crédito, produtos e serviços, domínios, servidores vinculados e uma visão geral da conta de alto nível.

Escalação e conhecimento

Activar aumento de bilhetes de IA

Você escolhe os departamentos autorizados, o atraso no cheque e pode escrever suas próprias instruções de aviso de escalada.

Configurações de conhecimento

Se as respostas usam o idioma do cliente, se elas desenham em links rastreados e FAQs, se a IA lê imagens e anexos PDF, o modo de resposta do conhecimento, se importado JSON conhecimento é usado, e se os links de origem podem aparecer. Use links rastejados e Perguntas Frequentes devem estar ligados, ou a IA está adivinhando.

Pare de responder automaticamente após a resposta humana.

Quando a equipe responder, o IA para de atender o bilhete... sem ele, a IA pode falar com seu próprio agente.

Instruções de passagem e email

Instruções de texto livre, moldando tom e conteúdo para cada resposta, com um exemplo louvável.

Importar JSON Conhecimento

Envie ou cole um. JSON Arquivo de conhecimento para o assistente de escrita.

Estúdio de botões

A full designer for the customer-facing button: display style, size, label, icon, shape, minimum width, background style with primary and secondary colours, gradient angle, border, corner radius, shadow, typography, padding, idle animation, hover motion and colours, and the focus ring, plus a custom CSS box for anything the controls do not cover.

Configurações

Configurações: Portal de Suporte

O site voltado para o cliente onde as pessoas levantam e rastreiam ingressos e lêem seus artigos de ajuda, esta guia controla como é alcançado e como os clientes entram, seu design visual é feito no Portal de Suporte Studio.

Portal Studio ou Portal de Bilhetes Incorporados: qual deles eu quero?

São dois produtos diferentes e as pessoas os misturam constantemente. Eles resolvem problemas diferentes, e correr juntos é normal.

Portal de Suporte Studio: um lugar para onde você envia clientes

O estúdio projeta um Um site de suporte completo que OpsIQ Anfitriões para você.Ele tem seu próprio endereço web, ou seu próprio domínio, e carrega toda a experiência de autoatendimento: artigos de ajuda com pesquisa, o formulário de solicitação, histórico de tickets, cliente que entra e assistente. Escolha um modelo, trabalhe através do Tema, Navegação, Layout, Conhecimento, Rodapé, Marca, Bilhetes, Assistente, Formulário e CSS, visualização em desktop, tablet e tamanhos de telefone, então publique.

Use-o quando Você quer um destino marcado que você pode apontar para cada cliente, e você prefere não construir ou manter uma área de suporte dentro de seu próprio site.

Portal de ingressos incorporado: ingressos dentro do seu próprio site

A incorporação coloca Apenas a experiência de ingresso em uma página do seu próprio site.Os clientes abrem, rastreiam e respondem aos pedidos de suporte sem nunca deixar suas páginas, e seu próprio cabeçalho, navegação e design ficam exatamente como estão.

Use-o quando Você já tem um site ou aplicativo com seu próprio design, e você quer suporte para acontecer dentro dele em vez de entregar o cliente para um endereço diferente.

A versão curta.

O Estúdio constrói Um lugar para onde você envia clientesA incorporação traz ingressos. Para onde seus clientes já estão.Muitos negócios operam ambos, incorporando o widget de tickets em sua área de conta para pedidos de contexto enquanto mantêm o portal hospedado como destino completo com artigos e busca.

Endereço e acesso

Modo de acesso

Se o portal está aberto a qualquer um ou restrito a clientes assinados, portais abertos recebem mais ingressos e mais spam.

Escolhas de layout

Se o portal e centro de ajuda compartilham um herói ou usam dois, que navegação e rodapé aparecem em ambas as superfícies, e a etiqueta da seção de navegação.

Endereço do portal

Escolha um nome e OpsIQ mostra o portal resultante e os endereços de centro de ajuda correspondentes.

Seu próprio domínio.

Serve o portal de um domínio seu, como suporte.

Portal de ingressos incorporado

Muda o item de entrada descrito acima, e abre o construtor de incorporação onde você escolhe as regras de layout, aparência e acesso, visualiza o resultado e copia o trecho para sua página.

Como os clientes se inscrevem

Essas são as opções de entrada dos clientes, a assinatura do pessoal está configurada em Configurações, Segurança.

Métodos de entrada

Que opções aparecem na página de entrada, o conector e o email funcionam automaticamente.

Inscrição social

Prestadores de contas de consumo, cada um precisando de uma identificação do cliente e segredo, com o endereço de redirecionamento fornecido por OpsIQ para se registrar com esse provedor.

Síncrono único (OIDC)

Cliente assinando através de um provedor de identidade, com emissor URL, ID do cliente, segredo e uma lista opcional permitida de domínios de email.

Cliente SAML 2.0

O SAML Equivalente. OpsIQ fornece a resposta do ACS.URLe identificação de entidade SP, você fornece a identificação da entidade IdP, login e assinatura. URLs, X.509 Certificado e nomes de atributos opcionais.SAML nos métodos de login ou não aparecerá.

Inscrição sem costura do seu aplicativo.

Um link profundo assinado, então um cliente já se inscreveu em suas terras de inscrição no portal sem entrar novamente. OpsIQ Fornece o segredo de assinatura, portal. URL Use o gerador antes de escrever qualquer código.

Assine em todos os lugares.

Sair do portal também assina o cliente fora de sua aplicação.

Ingestão e proteção

Requisitando campos de formulários.

Cada campo extra perde submissões, então peça apenas o que precisa para triagem.

Proteção contra spam e abuso

Em cima, você pode bloquear endereços de email descartáveis, adicionar seus próprios domínios bloqueados e adicionar um CAPTCHA usando o Google reCAPTCHA ou Cloudflare Turntile. ReCAPTCHA reutiliza as chaves já definidas em Configurações, Segurança; Chaves de turno são inseridas aqui.

Análise do Portal

Um resumo da atividade do portal nos últimos 30 dias.

Configurações

Configurações: Permissões, Licença, Cron e Zona de Perigo

O grupo do sistema, além do controle de acesso da equipe que decide quem pode ver qual guia Configurações.

Acesso e Permissões da Equipe

Per-admin permissões

Cada administrador recebe um conjunto explícito de permissões cobrindo acesso à caixa de entrada do chat, que as seções de configurações que podem editar, e seus departamentos, qualquer pessoa com o papel de Administrador completo sempre tem todas as permissões, e as permissões de configuração decidem quais páginas uma pessoa vê, então conceda o mais estreito conjunto que os permite trabalhar.

Licença

Mostra sua licença atual, o que lhe dá direito e seu status.

Configuração do Cron

Auto-hospedagem só instala. OpsIQ Uma linha de crontab dirige cada tarefa programada: auto-resposta do ticket, roteamento escalonado, atualização da taxa de câmbio, votação na caixa postal e sincronização de conectores.

1
Copia a linha.

A aba mostra a linha crontab exata para o seu servidor com o binário PHP correto já escolhido.

2
Adicione-o ao crontab

Execute crontab -e como o usuário que executa PHP e cole a única linha. cPanel Use a ferramenta Cron Jobs em vez disso.

3
Verifique

Em um minuto, os batimentos se acendem... e agora corra para testar imediatamente em vez de esperar.

O painel cardíaco mostra a última execução, duração e o que foi processado tanto para a fila de resposta automática quanto para a pesquisa por e-mail e conectores.

Zona de Perigo

Apague todos os dados de rastreamento.

Wipes everything OpsIQ collected or generated. You tick what to include and type the confirmation phrase exactly. Settings and site configuration, blocked addresses, everything your team wrote (knowledge base, FAQs, translations, portal designs, action definitions) and consent receipts are all preserved.

Purgar dados mais velhos do que

A mesma varredura limitada a registros mais antigos que 30, 60, 90 ou 180 Para a retenção automática de rolamentos, use os valores de retenção em geral e rastreamento ao invés disso, e deixe a tarefa programada fazer isso.

🚫
Exportar um backup de Settings, General antes de usar qualquer coisa na Zona de Perigo.
Configurações

Gerenciando sua equipe

Convide membros da equipe e atribua papéis para controlar quem pode acessar o quê.

Equipe
Equipe e departamentosA tela da equipe: uma mesa de administradores com contato, crachá (Propriedade, Administração Completa, Agente) e os departamentos que cada um pode acessar.Equipe e departamentosEspaço de trabalhoEquipe e departamentos+ Salvar usuário administrativoCONTATOPAPELDEPARTAMENTOSAO[email protected]Ada OwusuDono.Todos.KM[email protected]Kojo MensahAdmin.Todos.RT[email protected]Rita TettehAgente.ContagemSB[email protected]Agente.Suporte1TEAMConvide e gerencie administradores.2ROLESDono · Gerente completo · Agente3SCOPEDAcesso por departamento
A verdadeira tela da equipe: cada administrador com seu contato, papel e os departamentos que eles podem alcançar, agentes examinados, proprietários cheios.

Papel

Dono.

Acesso total, incluindo licença, faturamento e zona de perigo.

Admin.

Acesso total, exceto licença e zona de perigo.

Agente.

Apenas para departamentos designados, ingressos, conversas e análises.

Convidando membros da equipe.

1
Vá para a Equipe.

Navegue para a equipe na barra lateral.

2
Clique em Convidar

Digite o e-mail do membro da equipe.

3
Definir o papel

Escolha o proprietário, administrador completo ou agente.

4
Atribuir departamentos

Para agentes, selecione departamentos acessíveis.

5
Enviar convite

Eles recebem um e-mail com uma conexão de configuração.

Configurações

Desempenho em equipe

O acesso é por permissão, não por função: a permissão de visualização abre a página, a permissão para gerenciar desbloqueia alvos, o QA e as leituras dos colegas que identificam, e a permissão financeira-recompensa é o que adiciona a guia Rewards.

Desempenho em equipe
Desempenho em equipeA tela de desempenho da equipe: agentes classificados por uma barra composta, CSAT e um saldo recompensa com um botão Pay por linha.Desempenho em equipeEspaço de trabalhoDesempenho em equipeAGENTEEscoreCSATEQUILÍBRIORTRita Tetteh4.8$42Pague.SBSam Boateng.4.5$28Pague.KMKojo Mensah4.2$15Pague.AOAda Owusu4.9$51Pague.1SCOREDDesempenho compósito.2CSAT & LOADAvaliações + volume3REWARDSSaldos de agentes pagadores
A verdadeira tela de desempenho da equipe: cada agente marcou em volume e CSAT, com um saldo de recompensa que você pode pagar por fila.

Como a página está organizada

Cada um responde uma pergunta diferente, e eles são ordenados por quão urgente eles geralmente precisam de você.

01 Centro de comando.

Estado de fila ao vivo, resultados do cliente contra seus alvos, como a capacidade foi gasta, situações que precisam de uma decisão e o índice de evidência ajustada por equipe.

02 Colegas de equipe.

A tabela de classificação, reconhecimento (mais melhorado e raias), missões, e o controle de opt-in para quem pode ver o ranking.

03 Qualidade

Cartões de pontuação, avaliações gravadas, acordo com revisor corrigido por acaso, desvio do revisor e disputas de evidências.

04 Recompensas

Valor do token, reivindicações de pagamento e alocação de período governado: autorizar um teto financiado, rever a pré-visualização, finalizar.

05 História

Como o espaço de trabalho se moveu ao longo do tempo: métricas de tendência com um gráfico, e um mapa de cobertura 28_-dia mostrando quando a equipe estava realmente trabalhando.

Unscored não é zero

Um colega de equipe sem volume suficiente, ou cujas dimensões com evidências somam menos da metade do peso configurado, é mostrado como Unscored.

Os dois limiares de evidência fazem trabalhos diferentes e vale a pena mantê-los separados, o mínimo que é tratado decide se alguém é pontuado em tudo, as avaliações mínimas não afetam a pontuação, ele decide a elegibilidade do prêmio e recompensa, então um companheiro de equipe pode ser totalmente marcado e classificado e ainda ser inelegível para esse período, porque poucos clientes os avaliaram.

💡
Um colega de equipe trabalhando em dois espaços de trabalho separados tem um registro independente em cada um.

O índice de desempenho

Um composto de cinco dimensões, cada uma medida contra um alvo que você definir em vez de contra colegas, então puxado para o meio quando as evidências por trás dele é fino.70 Uma primeira semana ruim em quatro conversas também não é um veredicto acertado, enquanto as evidências acumulam a figura ajustada converge para a crua.

Qualidade

Satisfação do cliente com os comentários verificados, complementados pelos resultados de QA onde existem e são governados.

Responsividade

Primeiras respostas nos percentis P50 e P90, contra seus alvos.

Resolução

Tempo de resolução e taxa de resolução de um toque.

SLA

Atintura contra o SLA que você configurou, além de em risco e contagens violadas.

- Aeromoça.

Reabrir e transferir taxas - o trabalho que volta.

💡
Os pesos são configuráveis e relativos, não têm que totalizar 100. Evidências desaparecidas só podem baixar o índice, nunca elevá-lo - o peso configurado permanece no denominador.

Capacidade e tempo produtivo

Occupancy, productive time, solved per productive hour and online share of the window. Utilisation is deliberately not reported: it needs scheduled hours as a denominator, OpsIQ has no roster or shift source, and a substituted denominator would be a guess wearing a percentage sign. It reads as unavailable with that reason attached.

⚠️
A ocupação diz como o tempo foi gasto, nunca como foi gasto e nunca financia, portas ou tamanhos de pagamento.

Garantia de qualidade

Uma revisão é uma evidência sobre uma conversa, não um veredicto sobre uma pessoa.

Acordo de revisão

Reported as a chance-corrected statistic (Cohen's and Fleiss' kappa), not a raw agreement percentage. Two reviewers who pass everything agree 100% of the time while carrying no information.

Revisão desliza

Se um revisor sistematicamente pontua mais forte ou suave que seus colegas na mesma conversa, uma comparação com o resto do painel, não uma tendência ao longo do tempo.

Litígios

Um colega de equipe pode formalmente disputar evidências registradas sobre eles, uma disputa em aberto bloqueia a finalização do período de recompensa até que seja resolvida.

Auto-revisão

Um colega de equipe não pode se submeter a uma avaliação.

⚠️
As avaliações de grau A não podem influenciar o pagamento até que uma calibração seja publicada mostrando que o modelo concorda com os revisores humanos o suficiente, medidos por kappa contra uma amostra mínima.

Reconhecimento

O ranking sozinho tem documentado modos de falha: jogos métricos, esgotamento e vergonha pública de quem for o último.

Mais melhorado.

Medido contra o recorde anterior de um colega, nunca contra colegas, com encolhimento para que um denominador minúsculo não possa comprar uma vitória.

"Srakes"

Todos podem manter uma faixa simultaneamente, então não cria nenhuma classificação, e um colega que tem um mês excepcional não pode quebrar a sua.

Opt-in ranking

Um colega de equipe sempre vê seu próprio índice, se eles veem colegas é uma decisão do espaço de trabalho.

💡
Reconhecimento nunca toca em dinheiro, uma raia não pode financiar um pagamento ou quebrar um, e o mais melhorado não é uma categoria de prêmio.

Buscas

Um alvo que a equipe trabalha, medido contra uma barra fixa declarada em vez de um contra o outro - para que todos possam limpar a mesma busca no mesmo período.

Escopo e cadência

Individual ou equipe, único, repetitivo ou sazonal com uma janela explícita.

Critérios

Conversas tratadas, audiências recebidas, dias ativos, média de classificação ou taxa de feedback negativo.

Guarda de qualidade.

Atingir o número enquanto a qualidade cai abaixo do chão retém a busca em vez de completá-la, e é mostrado como não está, não inacabado.

Repita os limites.

Uma tampa por período, conduzida pelo critério mais lento, além de uma refrigeração opcional antes que uma repetição possa contar.

Equipes em busca

Progresso compartilhado sem atribuição de companheiros de equipe publicada, então uma busca por equipe não pode se tornar uma tabela de liderança.

Sessões de treinamento

Uma sessão de treinamento é um registro, não uma conversa... tem um treinador, um colega de equipe sendo treinado, um horário marcado, pontos de conversa acordados e um resumo escrito depois.

Pontos de conversa

Concordo antes da sessão, então o colega não vai entrar em uma surpresa.

Provas afixadas

Conversas, tickets e avaliações de perguntas e respostas anexadas à sessão, um pino guarda uma referência, um tipo e um id, não uma cópia, então sempre aponta para o registro ao vivo.OpsIQ não verifica a identificação antes de aceitá-la.

Itens de ação.

Um item passado da data é mostrado como atrasado, um estado derivado, não um status que alguém precisa lembrar de definir.

Nota particular.

O treinador nunca pode ler o bilhete, não como agente, nem como gerente, nem enquanto dono.

Quem pode ver uma sessão

O treinador, o colega de equipe e qualquer um com permissão para gerenciar a performance da equipe.

Audição

Cada criação, atualização, pino, desabotoamento e conclusão é gravado com o que mudou, por quem.

💡
Uma sessão não muda o índice de ninguém, não dá uma recompensa e não aparece na tabela de classificação.

Recompensas e prêmios

A atividade gravada converte em fichas com um valor monetário que você define, o caminho para um pagamento é deliberadamente lento e cada passo é gravado.

1
Defina o valor do símbolo

Quantos símbolos equivalem a quanto dinheiro, e o que cada atividade vale.

2
Autorizar o teto financiado

Para um período de calendário fechado, um administrador completo declara o máximo de fichas que pode pagar.

3
Reveja a prévia.

As disputas de evidências abertas bloqueiam este passo.

4
Finalizar

The allocation is recorded permanently with the evidence behind it. A period that allocated nothing can be voided and re-run outright. One that issued tokens must be reversed first: OpsIQ writes a compensating entry against each wallet and never deletes the original, so the ledger still shows what happened and why, and only then is the period released. The reversal refuses if anyone has already cashed out more than the amount being recovered, and names who and by how much.

⚠️
A qualidade da IA pode complementar esse julgamento, mas nunca substituí-lo, e um colega mostrado como Unscored não é elegível.25% acima de sua parte esperada do período, então um mês de grande volume não pode absorver todo o orçamento.
💡
O dono da conta não participa de prêmios ou recompensas, sem troca: autorizam o teto financiado e finalizam cada alocação, e não há ninguém acima deles para aprovar o que eles estariam pagando a si mesmos.

Todos os outros participam por padrão, líderes de equipe e coproprietários incluídos, para deixar alguém de fora, abri-los no Team & Departments e desligar a opção "Participa em prêmios e recompensas", seu trabalho ainda está marcado e mostrado, eles deixam de ser candidatos a partir desse ponto, e nada já finalizado é tocado.

⚠️
Nobody approves money for themselves. Because the people who can take part are also the people who can approve payouts, OpsIQ refuses a payout or credit into your own wallet, paying your own claim, finalising a period in which you would be paid, and finalising an award you would win. Another full administrator or the owner must do it. Pay all claims skips your own and reports it as skipped, not failed.

Quem pode ver e fazer o quê?

Veja o desempenho da equipe.

O conselho, estado ao vivo, capacidade e visão geral de qualidade para o espaço de trabalho.

Gerencie o desempenho da equipe.

Alvos e pontuação, exportações, avaliações e avaliações de QA, treinamento, missões, e as leituras que carregam dados de identificação de colegas como histórico per-admin e história prêmio.

Veja as finanças da equipe.

Saldos, valores em dinheiro, notas de crédito e referências de pagamento... separados das evidências de desempenho porque é vizinho da folha de pagamento.

Apenas administradora total.

Cada mutação monetária: pagar uma recompensa, pagar ou rejeitar um crédito, autorizar um orçamento, finalizar, anular ou reverter uma atribuição e definir a taxa de token-to-cash.

Usando-o com justiça.

O índice de desempenho é a evidência da gestão, não uma decisão automática de emprego, abra as conversas de origem por trás de um número antes de agir sobre isso, e pesem complexidade do caso, horários, licenças e necessidades de acessibilidade.

Configurações

Seus sites (espaços de trabalho)

Sites (espaços de trabalho) permitem que você gerencie vários sites de um OpsIQ Cada um tem seu próprio rastreamento, IA, conectores e acesso à equipe.

Sítios
Seus sites.A tela dos sites: uma lista de espaços de trabalho, cada um com seu domínio, tipo, conector, crachá de status e um botão aberto, além de adicionar novo local.Seus sites.Espaço de trabalhoSeus sites.+ Adicione novo siteSshop.acme.comECommerce · Shopify ConectorActivo.Abra.Hhost.acme.comHosting · WHMCS ConectorActivo.Abra.Bblog.acme.comConteúdo · sem conectorConfiguraçãoAbra.1MULTI-SITEUm espaço de trabalho por local2ISOLATEDOs dados nunca se misturam.3PER-SITEConfigurações próprias e conectores
A tela real dos Sites: cada site é sua própria área de trabalho isolada (domínio próprio, conector e configurações), adicionada e aberta a partir de uma lista.

Criando um site

1
Vá para os sites conectados.

Navegue para os Sites Conectados.

2
Adicione um novo site.

Digite nome, domínio e descrição.

3
Copie a chave do site.

Cada site recebe uma chave única para o trecho do widget.

4
Configure independentemente.

Cada site tem suas próprias IA, conectores e configurações.

Quantos sites posso ter?+

Depende do plano de licença, verifique os detalhes da licença.

Configurações

Licença e plano

Seu. OpsIQ A licença controla as características, os limites do site e o saldo de crédito da IA.

Licença
Centro de LicençaO OpsIQ Centro de Licenças: plano, crachá ativo, chave de licença mascarada, medidor de crédito de IA e botão "Force-remote-check".Centro de LicençaEspaço de trabalhoOpsIQ Centro de LicençaPlanoNegóciosSituaçãoActivo.ChaveOPSIQ-•••-••2F9CAI créditos$68 esquerdaForçar verificação remota.1PLAN & STATUSAtivo, de relance2KEYHMAC-cated localmente3CREDITSAI equilíbrio & limites
O verdadeiro Centro de Licença: seu plano e status ativo, a chave mascarada, seu saldo do crédito da IA, e uma força de um clique para verificar.
Chave da licença.

Digite Configurações > Licença. Validada contra o servidor de licença OpsIQ.

Carteira de habilitação / validação

OpsIQ Normalmente lê seu cache de licença local assinado e atualiza a validação quando necessário. DNS, HTTPS ou problemas de tempo do servidor.

Plano

Determina a disponibilidade e os limites.

Limite do site

Número máximo de espaços de trabalho.

AI créditos

Se usar IA gerenciada, seu saldo de crédito é mostrado aqui.

Validade

Renovar antes da expiração para evitar interrupção do serviço.

O que acontece quando minha licença expirar?+

Rastreamento, ingressos e CRM continuam... a IA tem pausa até a renovação.

Configurações

Perfil, senha e autenticação de dois fatores.

Cada administrador pode manter sua própria identidade, preferências de trabalho, senha e autenticação de dois fatores.

Tela de produto
Meu perfil.A página de perfil separa detalhes pessoais, idioma/tempo, avatar/assinatura, senha e autenticação de dois fatores.Meu perfil.Espaço de trabalhoPERFILCompletaTIMEZONEEuropa/Atenas2FAActivadoOBJETIVO AO LIVRO DA ESPAÇO DE TRABALHONome e e-mailIdentidade pessoalEditarLinguagem e fuso horárioDatas e interfaceEditarAvatar e assinatura.Respostas e presença da equipeEditarSenha e 2FAProteção de conta.Seguro1UPDATE PROFILEIdentidade e localidade2SECURE LOGINSenha e 2FA3SAVEAplique-se a este administrador.
A página de perfil separa detalhes pessoais, idioma/tempo, avatar/assinatura, senha e autenticação de dois fatores.

As configurações do perfil pertencem ao administrador assinado e não mudam a marca de espaço de trabalho.

Configurações

Preferências de notificação

Preferências de notificação controlam quais eventos operacionais chegam a um administrador no produto ou por e-mail.

Tela de produto
Preferências de notificaçãoA página de notificação fornece opções de e-mail e por evento, além de uma lista de notificações recente.Preferências de notificaçãoEspaço de trabalhoIN-APPAdianteEMAILSeletivoUNREAD4OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOBilhete atribuídoEm aplicativo e e-mailAdianteO cliente respondeu:Em aplicaçãoAdianteRisco de SLAEm aplicativo e e-mailAdianteAI aprovaçãoEm aplicativo e e-mailAdiante1CHOOSE EVENTSApenas sinais úteis.2CHOOSE CHANNELIn-app ou e-mail3REVISÃONotificações recentes
A página de notificação fornece opções de e-mail e por evento, além de uma lista de notificações recente.

Preferências cobrem a atribuição de tickets, respostas ao cliente, avisos SLA, entrega de bate-papo e eventos de aprovação de IA.

Configurações

Visão geral da segurança

A Visão Geral da Segurança é a primeira tela para avaliar blocos, ataques de login, sessões de ameaças, tendências de segurança e integridade dos eventos.

Tela de produto
Visão geral da segurançaVisão geral da segurança combina cartões de risco atuais, 14- tendência do dia, lista de atacantes, alimentação de eventos e estado de integridade.Visão geral da segurançaEspaço de trabalhoACTIVE BLOCKS18FAILED LOGINS42HIGH THREAT3OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOBloqueado automaticamente.7_-dia total e fonteTendênciaÚltimos atacantes.IP, país e razãoRevisãoEventos de segurançaRisco e resultado da açãoAlimente-se.Integridade da cadeia de haxixes.Corrente de eventos evidentesVálido1READ HEADLINEExposição atual2OPEN EVIDENCEAtacadores e eventos3ATOBloquear, investigar, exportar.
Visão geral da segurança combina cartões de risco atuais, 14- tendência do dia, lista de atacantes, alimentação de eventos e estado de integridade.

Use os cartões de manchete para triagem, então abra a auditoria relacionada, Logins Falhados, Bloqueados IPs ou JavaScript Página de erros para o trabalho de nível recorde. 14 Sessões de alta ameaça devem ser investigadas contra visitantes, pedidos e evidências de autenticação antes que um bloco permanente seja aplicado.

Configurações

Diário de auditoria do Tamper-Evidente

O registro de auditoria registra quem fez o que, quando, para qual objeto, em que nível de risco e se conseguiu.

Tela de produto
Auditoria de atividadesA página de auditoria fornece atividade evidente e inviolável com ação, ator, risco, alvo e resultado.Auditoria de atividadesEspaço de trabalhoAcontecimentos18.2kHIGH RISK21INTEGRITYVálidoOBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOConector ativado[email protected] · ShopifySucessoAPI Chave revogada.[email protected] · chave 19SucessoAs configurações mudaram.[email protected]· AISucessoPermissão negada.[email protected] · exportBloqueado.1FILTERAção, risco e ator.2INSPECTORAlvo e resultado3EXPORTCSV ou JSON
A página de auditoria fornece atividade evidente e inviolável com ação, ator, risco, alvo e resultado.

Filtrar por ação, risco e ator; exportar CSV ou JSON A cadeia de hash ajuda a detectar linhas de auditoria perdidas ou alteradas, mas não substitui backups protegidos e acesso restrito ao banco de dados.

Operações

Diagnósticos

Diagnósticos transformam os controles de subsistema em resultados de saúde simples e direcionam as próximas ações.

Tela de produto
DiagnósticosDiagnósticos agrupam verificações de saúde para o widget, IA, ingressos, integrações, Inteligência do Site, tarefas de fundo, automação CRM, licenciamento e armazenamento.DiagnósticosEspaço de trabalhoSAUDÁVEL13WARNING2FALHA1OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOWidgetBeacon e bate-papo.Saudável.Tarefas de fundoBatimentos cardíacos atrasadosAvisoE-mailTeste de saída falhou.Falhou.ConectoresRegistro e entrada de eventosSaudável.1REFRESHFaça as verificações atuais.2OPEN WARNINGLeia as evidências.3FIX AND RETESTConfirmar recuperação.
Diagnósticos agrupam verificações de saúde para o widget, IA, ingressos, integrações, Inteligência do Site, tarefas de fundo, automação CRM, licenciamento e armazenamento.

A página verifica velocidade do site, rank/keyword/backlink/dados locais, IA e gateway de ação, bilhetes, rastreador/auditorias, integração/evento de entrada, tarefas de fundo, automação CRM, licença, widget e serviços relacionados ao produto.

Depois de uma mudança, refresque e confirme que o subsistema afetado retorna saudável.

Configurações

Segurança e acesso

OpsIQ inclui várias camadas de segurança para proteger seu administrador, dados, e API Acesso.

Como funciona
Segurança e acessoUm escudo de segurança ao lado dos controles habilitados: dois fatores, OIDC. SSO, SCIM 2.0, OAuth2 PKCE, CSRF/CSP, IP firewall, limites de taxa e um cofre secreto.Dois fatores (ToTP)OIDC SSOSCIM 2.0OAuth2 PKCECSRF + CSPIPfirewallLimites de taxaAbóbada de segredos.
Segurança.

Recursos de segurança.

Autenticação de administrador

E-mail/senha com 2FA opcional.

Bloqueio de login

Trava temporária após muitas tentativas falhadas.

IP Bloqueando.

Bloquear IPs Ou ICDR varia de acesso a locais rastreados.

-Ameaça a marcar.

Os visitantes de alta ameaça podem ser bloqueados automaticamente.

Força de segurança HTTPS

Redirecionamento HTTP para HTTPS.

Cabeçalhos HSTS

Segurança de Transporte Estrito previne ataques degradantes.

Proteção CSRF

Todos os formulários de administração incluem fichas CSRF.

Proteção XSS.

Todos os dados do usuário escapam, os cabeçalhos da CSP restringem a execução do script.

Proteção SSRF

Os hooks de saída bloqueiam o privado/interno IP Endereços.

- É uma configuração recomendada.

1
Activar 2FA

Para todas as contas administrativas.

2
Senhas fortes.

Mínimo. 12 personagens, mistos.

3
Revisando contas

Remova o acesso para antigos membros da equipe.

4
Monitorar logins falhou

Verifique se há padrões suspeitos semanalmente.

5
Mantenha-se atualizado.

Aplique atualizações para os patches de segurança.

Configurações

Funções e permissões

Controle de Acesso baseado em papéis permite controlar o que cada membro da equipe pode fazer.

Funções e permissões
Funções e permissõesUma matriz de capacidade, o dono tem tudo, a administração completa não tem faturamento e zona de perigo, o agente só tem ingressos.Funções e permissõesEspaço de trabalhoCONSTITUIÇÕESFATURAÇÃOPERIGOCITKETSDono.Admin.Agente.scoped13 ROLESDono · Gerente completo · Agente2GRANULARPor página + por departamento3DEFAULT-DENYEstradas esquecidas bloqueadas
O papel matricial de relance: o dono recebe tudo, a administração completa tudo menos faturamento e zona de perigo, agente apenas seus bilhetes.

Papel padrão

Dono.

Tudo incluindo licença, zona de perigo e gerenciamento de instalação.

Admin.

Tudo, exceto licença e zona de perigo.

Agente.

Responda a tickets e bate-papos do departamento, análise de visualizações, sem configurações, equipe ou acesso à segurança.

Posso criar papéis personalizados?+

Três papéis embutidos e mais trabalho de departamento dão controle granular.

Configurações

Bloqueado. IPs

Gerenciar IP Endereços bloqueados de acessar seus sites rastreados.

Bloqueado. IPs
Bloqueado. IPsOs bloqueados...IPs Tela: um bloco-an...IPFormulário CIDR ao lado de uma tabela de endereços bloqueados com cada entrada, data, razão e um botão de desbloqueio.Bloqueado. IPsEspaço de trabalhoBloquear um IP / CIDR203.0.113.0/24Razão (opcional)BloquearEndereços bloqueados.203.0.113.9Jun 12 · força brutaDesabtruir45.12.0.0/16Jun 10 · spamDesabtruir102.89.6.2Jun. 9 · AbusoDesabtruir1BLOQUEIOIP ou intervalo CIDR2LISTQuem e quando, com razão3UNBLOCKUm clique
O verdadeiro Bloqueado IPs Bloquear um único IPou um intervalo de CIDR, e gerenciar a lista, cada um com sua data, razão e um clique para desbloquear.

Como bloquear

1
Vá para a segurança, bloqueado. IPs

2
Adicione um IP ou intervalo CIDR

Exemplo: 203.0.113.42 ou 203.0.113.0/24

3
Adicione uma razão

Documento por que: spam, abuso, raspagem, etc.

Bloquear afetará usuários legítimos?+

Se os clientes compartilham uma empresa IP Ou VPN, bloqueando isso.IP Bloqueia todos e usa blocos estreitos.

Configurações

Falha no login

Todas as tentativas de login sem sucesso para o seu OpsIQ Administrador.

Falha no login
Falha no loginA tela de logins falhou: uma tabela de contas/IPs com contagens de falhas, tempo da última tentativa, e um botão Block por linha.Falha no loginEspaço de trabalhoTentativas de login falhadasCONTA / IPFALHAÚLTIMOACÇÃO[email protected] · 41.62.10.472m atrásBloquear[email protected] · 102.89.6.2318m atrásBloqueardesconhecidos... 45.12.9.71226m atrásBloquear[email protected] · 88.21.4.921h háBloquear1WATCHTentativas de login falhadas2COUNTSPor conta. IP3ATOBloqueie da fila.
A verdadeira tela de login falhou: cada conta/IP Com sua contagem de falhas e última tentativa, bloqueie uma fonte de força bruta diretamente da fila.

O que cada entrada mostra

Data/hora

Quando a tentativa aconteceu.

E-mail

Endereço de e-mail usado.

IP endereço

Fonte da tentativa.

País

Localização geográfica.

Razão

Senha errada, trancada ou não encontrada.

Sinais de alerta

Muitas tentativas, mesmo e-mail.

Senha adivinhada, certifique-se que 2FA esteja ativado.

Muitas tentativas, diferentes e-mails.

Ataque automático, bloqueie a fonte. IP.

Países incomuns.

Se sua equipe é local, tentativas estrangeiras são provavelmente ataques.

Configurações

Analista de segurança da IA

Uma camada de analista sobre as páginas de segurança: vereditos, relatórios de incidentes, um digest diário, uma verificação semanal da postura, perguntar à segurança, e 0Nunca funciona na rota de solicitação de visitantes.

O analista de segurança da IA acrescenta esse julgamento no lugar, e é construído para gastar quase nada: nunca fica na rota do sinal ou login, regras determinísticas resolvem os casos óbvios sem chamada de IA, veredictos são guardados, e a melhor saída do analista é uma regra determinística que então aplica para sempre em zero fichas. Configurações → Segurança- Todos estão fora.

O que ele adiciona

Batatas fritas + Explicar

Bloqueado. IPs E as linhas de logins falhadas mostram um chip benigno/suspeito/ hostil com uma pontuação de confiança. 24h, então re-visando um IPé livre.

Sucursais de incidentes

Eventos relacionados se aglomeram em um incidente. URL Os ataques em andamento se dobram para o mesmo incidente.

Digerir diariamente

Um recapitulação por dia: ontem contra sua linha de base, blocos, incidentes e a única coisa a fazer.

Teste de postura semanal

Uma lista de segunda-feira, endurecendo (2 lacunas do AFA, limiar de bloqueio contra o volume real de ataque, alertas) com gravidade, esforço e correção exata por item.

Pergunte à segurança.

Uma caixa de perguntas sobre a visão geral da segurança que responde do seu estado de segurança ao vivo.

Propostas políticas + piloto automático

O analista propõe regras de blocos concretos como Aprovar / Demitir cartões, regras aprovadas para aplicar em zero fichas com um contador de sucesso ao vivo.

Configurações

Analista de segurança da IA (apto para segurança)

Ativará o veredito, explicará e perguntará à segurança. IPs Alcance o modelo, em uma chamada.

Casos de incidentes

Agrupa os eventos em incidentes e escreve cada nova história, rodando o cron de segurança existente.

Digerir diariamente (digestão de segurança)

Uma recapitulação de segurança por dia no sino e na visão geral.

Teste de postura semanal (segurança)

Segunda-feira, endureça a lista de verificação.

Piloto automático de política (security_ai_autopilot)

Permite que o analista ative suas propostas mais seguras sem atenção: blocos reversíveis com tempo limitado apenas, únicos IPs ou não tem alcance maior que /24, Nunca compartilhado/móvel/privado, tampado 10 por hora, sempre auditado e inutilizável.

💡
Cada chamada é marcada com segurança_ai com seu próprio boné mensal em AI Config → Custo Guarda-rails (padrão 300k tokens). Se o boné for atingido, características degradam para leituras determinísticas. Bloqueamento, bloqueios e alertas nunca dependem deste orçamento.
Operações

Cron e automação.

OpsIQusa um programador de produtos para fazer pesquisas por e-mail, automação de tickets, rolagem de análises, retenção, filas de IA,CRMTrabalho, relatórios e trabalhos de conexão.

Tela de produto
Cron e automação.Um produto de entrada cron fornece o batimento cardíaco; OpsIQ Decide quais empregos internos são devidos.Cron e automação.servidorHEARTBEATCada minutoRUNNERcron/all.phpHEALTHConfiguraçõesOBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOProduto únicoopsiq/cron/all.phpObrigatórioFilas de e-mail e ticketTrabalho curto agendadoActivo.Análise e retençãoCadência internaAgendado.Assinantes de conexãoDeclarados eventos de CronEscondido.1INSTALL ONE LINEFaça o agendamento do produto a cada minuto.2CHECK CRON SETUPConfirme batimentos cardíacos CLI3USE DIAGNOSTICSInvestigue o trabalho atrasado ou fracassado.
Um produto de entrada cron fornece o batimento cardíaco; OpsIQ Decide quais empregos internos são devidos.

Entrada de cron de produto necessária

Adicione esta linha única ao crontab para o mesmo servidor e ambiente PHP que executa OpsIQ:

OpsIQ produto crontab entrada
* * * * * php /path/to/opsiq/opsiq/cron/all.php >> /tmp/opsiq-cron.log 2>&1

Substituir /path/to/opsiq Use o caminho completo do PHP CLI quando o host precisar de um, por exemplo. /usr/bin/php8.4.

Não use o nível superior. /cron.php para o trabalho de produto. Neste repositório, esse corredor pertence a um serviço não-produto separado fora deste manual. OpsIQ O produtor de produtos é opsiq/cron/all.php.

O que o programador unificado dirige

Bilhetes e filas de IA

Processos devidos a auto-respostas, escaladas, aprovações e outros trabalhos de produtos em fila.

E-mail de entrada

Pesquisas configuradas caixas de correio onde as pesquisas são o método escolhido.

Análise e sessões

Reúne sessões e atualiza agregados quando eles são devidos.

CRM e noivado

Corre com pontuação, ciclo de vida, fluxo de trabalho, campanha e tarefas programadas que são habilitadas.

Retenção e manutenção.

Realiza limpeza, arquivo, validade e integridade.

Conectores

Envia assinantes de cron e pesquisas somente para conectores instalados, habilitados e configurados.

Verifique o cron.

  1. Abra. Configurações - Cron Setup E confirmar que o produtor de produtos existe.
  2. Uso Corra agora. Uma vez, confirme a atualização do batimento cardíaco.
  3. Cheque. Diagnósticos para um batimento cardíaco tardio, PHP CLI, banco de dados ou problema de caminho-ficheiro.
  4. Inspecione /tmp/opsiq-cron.log ou o caminho de registro que você selecionou quando uma execução manual falhou.

Mantenha os conectores curtos, indemponentes e vigiados no espaço de trabalho.

🚫
Quando o cron produto parar, baseado no tempo OpsIQ O trabalho para ou se atrasa, mesmo que páginas de administração comuns ainda possam carregar.
Operações

Operações de implantação hospedadas

A hosted OpsIQ deployment uses the same product screens and workflows while the hosting operator manages the server layer. Commercial sign-up, plans, billing and account-portal procedures are outside this handbook.

Tela de produto
- Adiantado.A operação hospedada muda quem mantém a infraestrutura, não muda como os clientes usam. OpsIQ.- Adiantado.Espaço de trabalhoPRODUCT UIO mesmo. OpsIQINFRASTRUCTUREOperadora gerenciadaWORKSPACE DATAIsolado.OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOHora de execução da aplicaçãoPHP, servidor web e banco de dados-Conseguido.Cron produtoProgramado pela operadora de hospedagemVerifiqueBackups e atualizaçõesPolítica e evidência do provedorRevisãoOpsIQ settingsSites, IA, equipe e conectoresSua equipe.1OPERATE OPSIQ NORMALLYUse o mesmo produto de navegação.2VERIFY SERVICE HEALTHUse diagnósticos e evidências de status3KNOW RESPONSIBILITYSepare as configurações do produto do trabalho de hospedagem.
A operação hospedada muda quem mantém a infraestrutura, não muda como os clientes usam. OpsIQ.

O que o operador de hospedagem normalmente gerencia

  • Servidor web, PHP Runtime, serviço de banco de dados, TLS e armazenamento.
  • O cron de produto unificado e seus registros de nível do servidor.
  • Atualizações de aplicativos, monitoramento de infraestrutura e o processo de backup definido pelo acordo de hospedagem.

O que um OpsIQ O administrador ainda gerencia.

  • Sites e instalação de widgets, configurações de IA, conhecimento, caixas de correio e fluxos de trabalho de suporte ao cliente.
  • Acesso da equipe, departamentos, controles de segurança, API Chaves, conectores, automações e configurações de retenção de dados.
  • Verificação de produto através de diagnósticos, o registro de auditoria, testes de conectores e verificações reais.

Controlos operacionais

Não suponha que um serviço gerenciado significa que toda integração de produtos é saudável. OpsIQ Diagnósticos após mudanças para DNS, e-mail, provedores de IA, sites ou conectores.

Esta seção cobre apenas operações de produtos. OpsIQ Manual.

Operações

Auto-anfitrião. OpsIQ

Uma auto-anfitriã OpsIQ Você é responsável pelo tempo de execução, banco de dados, TLS, Cron de produto, backups, atualizações e monitoramento.

Tela de produto
Auto-anfitriãoA auto-alojamento dá controle de infraestrutura e torna sua equipe responsável por cada dependência operacional.Auto-anfitriãoservidorPHP8.4+DATABASEMySQL 5.7+SCHEDULERCada minutoOBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOExtensões de tempo de execuçãoCurva, pdo_mysql, mbstring, jsonObrigatórioExtensões adicionaisxml, opensl, zip, intl, gdObrigatório-Base de dados alternativo.MariaDB 10.3+ with InnoDBApoiado.TransporteHTTPS e acesso ao provedor de saídaVerifique1PREPARE THE SERVERMatch requisitos de tempo de execução2INSTALL AND CONFIGUREUse um banco de dados dedicado e HTTPS3ADD PRODUCT CRONCorrer opsiq/cron/all. php
A auto-alojamento dá controle de infraestrutura e torna sua equipe responsável por cada dependência operacional.

Contrato de software mínimo

PHP

PHP 8.4 Extensões necessárias: cacho, pdo_mysql, mbstring, json, xml, opensl, zip, intl e gd.

Banco de dados

MySQL 5.7+ ou MariaDB 10.3 Criar um banco de dados dedicado e usuário menos privilegiado.

Servidor Web

Apache ou Nginx configurados para o OpsIQ Controlador frontal, ativos estáticos e reescritas necessárias.

HTTPS

Necessário para sessões de administração, tráfego de widgets, API Chaves, webhooks e chamadas de provedor.

Acesso de saída

Permita. DNS e acesso HTTPS à IA, e-mail, conector e terminais de licença que você realmente habilita.

Acesso ao arquivo

Os usuários da Web e CLI devem ser capazes de ler arquivos de aplicativos e escrever apenas para os locais documentados de execução/armazenamento.

Cron.

Correr o OpsIQ Programador de produtos a cada minuto com a mesma configuração da aplicação e acesso ao banco de dados do processo web.

Sequência de instalação

  1. Envie o lançamento para a raiz do documento e preserve a estrutura de diretório fornecida.
  2. Crie o banco de dados e usuário do aplicativo, então insira o banco, configurações canônicas URL e de licença.
  3. Execute o fluxo de instalação e crie a primeira conta do proprietário.
  4. Habilite HTTPS e verifique redirecionamentos, cookies e o widget público.API caminhos.
  5. Adicione o unificador OpsIQ Cron de produto:
Cron de produto auto-hospedado
* * * * * php /path/to/opsiq/opsiq/cron/all.php >> /tmp/opsiq-cron.log 2>&1
  1. Abrir configurações, Cron Setup e Diagnostics, executar o programador uma vez e resolver cada dependência falhada.
  2. Configure backup, restaure testes, reter registros e atualizar procedimentos antes de adicionar dados de produção.

Atualizando com segurança

  1. Leia as notas de lançamento e verifique o PHP/extensões necessários antes de mudar de arquivos.
  2. Faça backup do banco de dados e arquivos de configuração, então prove que o backup pode ser restaurado em um local de teste.
  3. Implemente os novos arquivos sem excluir a configuração específica da instalação ou dados de execução.
  4. Execute o processo de migração/pré-voo fornecido e verifique login, rastreamento de widgets, tickets, e-mail, IA, conectores e cron.
  5. Mantenha o backup anterior e do banco de dados disponível para a janela de retrocesso documentada.
🚫
O repositório de topo /cron.php Não é o OpsIQ Marcador de produtos. opsiq cron/all.php.
⚠️
Não exclua .schema_cache.json Remova-o somente quando as instruções do produto exigirem explicitamente uma reconstrução de esquema-cache.
Operações

Guia de produção

Lista de verificação e melhores práticas para correr OpsIQ em produção.

Guia de produção
Guia de produçãoUma lista de verificação ao vivo: domínio personalizado e SSL, AI treinado, conectores e cron, backups e retenção, e papéis de equipe.- Vá em frente, lista de verificação.Espaço de trabalhoAntes de você ir ao vivoDomínio personalizado + SSL configuradoAI treinou sobre seu conteúdo.Conectores testados.Reforços programados.Equipes atribuídas e revisadas1GO-LIVELista de verificação pré-lançamento2VERIFYDomain · SSL _* backups3CONFIDENTNavio quando está verde
Uma lista de verificação ao vivo, então nada é perdido: domínio + SSL, IA treinada, conectores testados e cron, backups e retenção, e papéis de equipe.

Antes de ir ao vivo

HTTPS configurado

SSL instalado, redirecionamentos HTTP, HSTS ativado.

Cron correndo

Verifique através da página de diagnóstico.

AI testado

Converse como cliente, verifique a precisão e o tom.

Widget instalado

Verifique com o Live Feed.

Cópia de segurança configurada

Banco de dados diário automatizado e backups de arquivos.

Erro ao registrar

Registro de erro PHP ativado e monitorado.

Equipe convidada

Todos os membros têm contas com papéis corretos.

Base de conhecimento povoada

Pelo menos. 5-10 Artigos.

Verifique o painel, livre fila de ingressos, cheque as conversas com a IA.

Semanalmente, revise o AI Insights, atualize KB, verifique o desempenho da equipe, reveja a segurança.

Mensal: análise de tendências, conectores de auditoria, treinamento de IA atualizado, verificar backups.

Operações

Lista de verificação pré-lançamento

Um comando disponível não é evidência de que passou no seu ambiente.

Tela de produto
- Release de verificação.A visão de liberação mostra que é preciso portais para funcionar, não pré-rotula como passado.- Release de verificação.servidorCORRERPHP 8.4SOURCE GATESCorra localmenteOUTCOMEBaseado em evidências.OBJETIVO AO LIVRO DA ESPAÇO DE TRABALHOExtensões necessáriasVerifique antes da suíte.PortãoVarredura de sintaxe PHPTodos os arquivos PHP do projetoPortãoAvaliação de IA e PHPUnitCorra quando as dependências estiverem presentes.PortãoEstática e verificação de navegadorExecutar quando configuradoPortão1RUN THE CHECKSCapture a saída real.2FIX EVERY REQUIRED FAILURENão substitua as evidências por suposições.3TEST THE PRODUCTVerifique as viagens reais do usuário.
A visão de liberação mostra que é preciso portais para funcionar, não pré-rotula como passado.

Fonte e portão de liberação

Execute as verificações do repositório da raiz de instalação e mantenha sua saída completa com o registro de lançamento.

Portão primário de pré-voo
php tools/preflight.php
Portão de liberação estendido.
php tools/release_gate.php

O pré-voo verifica o PHP 8.4 runtime e extensões necessárias, executa uma varredura de sintaxe do PHP, executa o portão de avaliação de IA e suíte completa PHPUnit, e executa as verificações PHPStan/Node quando essas ferramentas são instaladas. O portal estendido também inclui fumaça, instalação limpa/esquema e verificação final do navegador quando seu ambiente é configurado.

Registre por que não estava disponível, instale a dependência perdida ou execute-a no ambiente correto antes de ser lançada.

Checagem de produtos.

1Autenticação e papéis

Assine como cada papel pretendido, verifique páginas/ações permitidas e negadas.

2Widget e rastreamento

Carregue um site real em um navegador privado, verifique o tráfego de faróis, transmissão ao vivo, visitas e registros de sessão.

3Conversa e IA

Faça perguntas representativas, verifique conhecimento de base, segurança, escalada e história da IA.

4Bilhetes

Criar, atribuir, responder, escalar, fechar e reabrir através de cada caminho permitido de entrada.

5E-mail.

Teste a entrega e cada caixa de correio ou o caminho do webhook configurados.

6CRM e análise

Criar um contato/acordo/conversão controlado e verificar painéis, funis, pontuação e relatórios.

7Conectores

Testes de conexão, uma leitura, um seguro de gravação/seco e caminhos webhook/polling para cada conector habilitado.

8. API e ganchos de teia.

Verifiquem alcances estreitos, limites de taxa, tentativas indemponentes, assinaturas e manipulação duplicada.

9Cron.

Faça o agendamento unificado do produto e confirme todos os batimentos cardíacos necessários em Cron Setup/Diagnostics.

10 Segurança.

Verifique 2FA, CSRF/controlos de sessão, registros de auditoria, revogação chave e isolamento do espaço de trabalho.

11 Reforço e restauração

Restaure um backup atual em um ambiente de teste separado e verifique dados e configuração.

12 Observabilidade e retrocesso

Confirme registros/alertas, guarde identidades de pedidos e prove o procedimento de retrocesso.

⚠️
Só partir depois de cada portão necessário e viagem crítica ao negócio tem evidências atuais para a liberação exata e ambiente.
Desenvolvimento

Web Push em sites de terceiros

Navegador push notificações (incluindo OpsIQ Preciso de um funcionário da mesma ORIGEM como página.OpsIQ O widget carrega de seu OpsIQ implantação, então um site de terceiros não pode registrar OpsIQ O trabalhador do site, hospeda um pequeno arquivo no próprio domínio para permitir que o faça, as campanhas são feitas através dos dois métodos suportados.

Como funciona
-Push na internet.Uma notificação de impulso do SO acima de dois cartões de entrega: VAPID embutido e feixes de empurrador.Sua loja.Seu carrinho está esperando. 10% Hoje não.AgoraIncorporado (VAPID)Nenhum terceiro.Host um arquivoVigas de empurradorUse sua conta.Aloje o trabalhador.
-Push na internet.

Por que isso é necessário?

Navegadores só deixam uma página registrar um trabalhador de sua própria origem.OpsIQ implantação, então ele não pode instalar o push worker em um site do cliente, até que você hospede o trabalhador na origem desse site, o widget silenciosamente ignora push (sem erro, sem assinatura).OpsIQ Push Campaigns publica através de ambos.

Opção A: Auto-hospedado Web Push (VAPID, sem terceiros)

1. Baixe o trabalhador do seu OpsIQ Implementação: https://YOUR-OPSIQ/opsiq/opsiq-push-sw.js

2. Envie para o seu Raiz da web Então, é possível alcançar em https://yoursite.com/opsiq-push-sw.jsO widget auto-detecta este caminho Na própria origem da página e registra, nenhuma mudança de trecho necessária.

Opcional: Se você deve hospedá-lo em um caminho não padrão, aponte o widget para ele Antes Só é aceito quando a mesma origem:

Opcional · somente se o arquivo não estiver na raiz da web
<script>window.OpsIQ=window.OpsIQ||{};window.OpsIQ.pushSwUrl="/custom/opsiq-push-sw.js";</script>

3. Em OpsIQ, gerar chaves VAPID (Configurações → Cliente Chat AI → Avançado → Web Push) O widget então pede aos visitantes permissão de notificação e as assina.

Atrás de um CDN.Cloudflare Certifique-se /opsiq-push-sw.js retorna HTTP 200 (expurgar o tesouro se fosse 404 Antes de você enviar; um cache 404 Vai bloquear o registro).

Opção B · Vigas de empurrador (fornecedor gerenciado)

1. Em OpsIQ configurações definir o provedor de push para Vigas de empurrador E entre em seus feixes ID da instância e Chave secreta.

2. Hospede o trabalhador de serviço dos feixes na raiz do site como /service-worker.jsEntendido. https://YOUR-OPSIQ/opsiq/pusher-beams-service-worker.jsOu fundir essa linha com seu root worker existente:

Operário de feixes, anfitrião em https://yoursite.com/service-worker.js
importScripts("https://js.pusher.com/beams/service-worker.js");

3. O widget carrega automaticamente os feixes. SDK e assina cada visitante para o interesse por local opsiq-site-<your-site-key>Não é necessário mais fiação.

Como as campanhas se entregam

Push Campanhas publicam através both métodos de uma vez: visitantes no trabalhador auto-hospedado VAPID obter o Web Push criptografado, e os visitantes subscritos via Pusher Beams obter o Beam's publicar.

HTTPS é necessário. O chat de administrador já usa o mesmo mecanismo de interesse dos Beams para alertas de operador.

Operações

Solução de problemas

Problemas comuns e como consertá-los.

Geral

Página em branco+

Verifique os registros de erro do PHP. 8.4+), falta de extensão, conexão DB falhou, permissões de arquivos erradas.

O painel mostra zeros.+

Cheque: widget instalado? IP Excluído?

IA

AI não responde.+

Check: provider configured? API key valid (use Test connection)? Budget exhausted? Workspace AI config correct?

AI dá respostas erradas.+

Checar: base de conhecimento atualizada?

AI é lenta.+

Depende: fornecedor API velocidade, tamanho do contexto (grande KB = mais tokens = mais lento), latência da rede.

Rastreando

Widget faltando+

Checar: script na página fonte, erros JS no console, bloqueio CSP, bloqueador de anúncios?

País desconhecido+

GeoIP não configurado. Cloudflare (automático) ou banco de dados MaxMind GeoLite2.

Bilhetes

E-mails não criam ingressos.+

Checar: caixa de correio conectada? IMAP Configurações corretas?

Resposta automática não funciona.+

Verificado: habilitado, autorizado pelo departamento?

Conectores

A conexão falhou.+

Checar: credenciais corretas? API Acessível do servidor? URL Correto?

Conectado, mas sem dados.+

Checar. API Sistema de navegação ativado, Cron correndo?

Desempenho

Páginas lentas.+

Verifique: desempenho do banco de dados (SHOW PROCESSSLIST), memória PHP (aumento para 1GB), habilitar opcache, reduzir período de retenção.

Operações

Widget não registra visitas

Use essa verificação quando o widget carregar incorretamente ou o Live Feed permanecer vazio.

Quando o widget não é visitas de registro, verificar a chave do site, carregar a página em um navegador privado, verificar o navegador Network / Console painéis para bloqueio de sinal ou widget pedidos, revisão Conteúdo-Segurança-Política e bloqueadores de anúncios, confirmar que o site está ativo em OpsIQ Uma bolha de bate-papo visível não prova por si só que o farol analítico foi aceito.

Referência

Glossário

Definições para termos usados em toda parte OpsIQ.

Ação.

Algo que a IA pode fazer através de um conector ou da plataforma.

Agente.

Um membro da equipe com acesso limitado, ou um agente de IA.

BYOK

Traga sua própria chave, você fornece sua própria IA. API Chave.

Conector

Um plugin integrando uma plataforma externa com OpsIQ.

CSAT

Pontuação de satisfação do cliente.

Combinado.

Uma oportunidade de receita no CRM.

Departamento

Uma categoria de passagem para controle de acesso e roteamento.

Escadagem

Passando uma passagem para um departamento diferente ou de IA para humano.

GeoIP

Detecção de localização do visitante. IP Endereço.

Demissão

Transferindo uma conversa de IA para humano.

Token de identidade

Assinado para identificar um visitante do site.

Base de conhecimento

Artigos que a IA usa para responder perguntas.

Chumbo

Uma visita mostrando intenção de compra.

Marcador principal

0-100 Número indicando probabilidade de conversão.

Fase do ciclo de vida

Onde um cliente está, líder, prospecto, cliente em risco, churned.

AI Gerenciado

Al providenciou como parte de seu OpsIQ Plano.

Pipeline

Conselho visual de etapas do acordo.

RBAC

Controle de Acesso Baseado em Papel.

Sessão

Uma série de visualizações em uma janela de tempo livre.

Chave do site

Identificador único para um site rastreado.

SLA

Acordo de Nível de Serviço, tempo de resposta ao alvo.

Token

Unidade de mensagem da IA. 4 caracteres = 1 Token.

Confie em Camada.

Sistema de segurança controlando a autonomia da IA.

Webhook

Chamada HTTP para notificações de eventos.

Widget

JavaScript Código incorporado em seu site.

Espaço de trabalho

Um site com seu próprio rastreamento, IA, conectores e equipe.

Referência

Consiga mais ajuda.

Se esta documentação não responder à sua pergunta:

Admin. Al.

Clique em "Pergunte OpsIQ Tem acesso a essa documentação e seus dados da plataforma.

Bilhete de apoio.

Incluindo: o que você tentou, o que aconteceu, o quê esperava, e qualquer mensagem de erro.

E-mail

E-mail com a chave de sua licença e descrição do problema.

Dicas para pedidos de apoio eficazes.

Inclua a página.

Qual página de administração (URL ou nome).

Inclua o cenário.

Nome exato e valor atual.

Inclua o erro.

Mensagem de erro exata com códigos.

Inclua os passos

O que você fez, passo a passo.

Incluir esperado vs real

O que deveria acontecer contra o que aconteceu.

💡
Quanto mais específico seu pedido, mais rápido a resposta. "Não funciona" requer investigação. 502"recebe uma resposta direta.