Integração com ServiceNow
A integração com ServiceNow (Admin > Configurações > ServiceNow) permite a sincronização bidirecional entre o Canopy e seu ServiceNow CMDB. Este guia cobre tudo, desde a configuração inicial até receitas avançadas e melhores práticas operacionais.

Por que Integrar o ServiceNow com o Canopy?
O ServiceNow CMDB e as ferramentas de Arquitetura Empresarial servem a propósitos diferentes, mas complementares:
| ServiceNow CMDB | Canopy | |
|---|---|---|
| Foco | Operações de TI — o que está em execução, quem é responsável, quais incidentes ocorreram | Planejamento estratégico — como a cenário deve ser daqui a 3 anos? |
| Mantido por | Operações de TI, Gestão de Ativos | Equipe de EA, Arquitetos de Negócio |
| Ponto forte | Descoberta automatizada, fluxos de trabalho ITSM, precisão operacional | Contexto de negócio, mapeamento de capacidades, planejamento de ciclo de vida, avaliações |
| Dados típicos | Nomes de host, IPs, status de instalação, grupos de atribuição, contratos | Criticidade de negócio, adequação funcional, débito técnico, roadmap estratégico |
O Canopy é o sistema de registro para sua cenário de arquitetura — nomes, descrições, planos de ciclo de vida, avaliações e contexto de negócio residem aqui. O ServiceNow complementa o Canopy com metadados operacionais e técnicos (nomes de host, IPs, dados de SLA, status de instalação) provenientes de descoberta automatizada e fluxos de trabalho ITSM. A integração mantém os dois sistemas conectados, respeitando que o Canopy lidera.
O que Você Pode Fazer
- Sincronização pull — Alimente o Canopy com CIs do ServiceNow e depois assuma a propriedade. Pulls subsequentes atualizam apenas campos operacionais (IPs, status, SLAs) que o SNOW descobre automaticamente
- Sincronização push — Exporte dados curados pelo EA de volta para o ServiceNow (nomes, descrições, avaliações, planos de ciclo de vida) para que as equipes ITSM vejam o contexto do EA
- Sincronização bidirecional — O Canopy lidera a maioria dos campos; o SNOW lidera um pequeno conjunto de campos operacionais/técnicos. Ambos os sistemas permanecem sincronizados
- Mapeamento de identidade — Rastreamento persistente de referência cruzada (sys_id <-> card UUID) garante que os registros permaneçam vinculados entre sincronizações
Arquitetura da Integração
+------------------+ HTTPS / Table API +------------------+
| Canopy | <--------------------------------> | ServiceNow |
| | | |
| Cards | Pull: SNOW CIs -> Turbo Cards | CMDB CIs |
| (Application, | Push: Turbo Cards -> SNOW CIs | (cmdb_ci_appl, |
| ITComponent, | | cmdb_ci_server, |
| Provider, ...) | Identity Map tracks sys_id <-> UUID | core_company) |
+------------------+ +------------------+
A integração utiliza a Table API do ServiceNow sobre HTTPS. As credenciais são criptografadas em repouso usando Fernet (AES-128-CBC) derivado da sua SECRET_KEY. Todas as operações de sincronização são registradas como eventos com source: "servicenow_sync" para uma trilha de auditoria completa.
Planejando sua Integração
Antes de configurar qualquer coisa, responda a estas perguntas:
1. Quais tipos de card precisam de dados do ServiceNow?
Comece pequeno. Os pontos de integração mais comuns são:
| Prioridade | Tipo no Canopy | Origem no ServiceNow | Por quê |
|---|---|---|---|
| Alta | Application | cmdb_ci_business_app | Aplicações são o núcleo do EA — o CMDB possui nomes, proprietários e status oficiais |
| Alta | ITComponent (Software) | cmdb_ci_spkg | Produtos de software alimentam o rastreamento de EOL e o radar tecnológico |
| Média | ITComponent (Hardware) | cmdb_ci_server | Paisagem de servidores para mapeamento de infraestrutura |
| Média | Provider | core_company | Registro de fornecedores para gestão de custos e relacionamentos |
| Baixa | Interface | cmdb_ci_endpoint | Endpoints de integração (frequentemente mantidos manualmente no EA) |
| Baixa | DataObject | cmdb_ci_database | Instâncias de banco de dados |
2. Qual sistema é a fonte da verdade para cada campo?
Esta é a decisão mais importante. O padrão deve ser Canopy lidera — a ferramenta de EA é o sistema de registro para sua cenário de arquitetura. O ServiceNow deve liderar apenas para um conjunto restrito de campos operacionais e técnicos provenientes de descoberta automatizada ou fluxos de trabalho ITSM. Todo o resto — nomes, descrições, avaliações, planejamento de ciclo de vida, custos — é de propriedade e curadoria da equipe de EA no Canopy.
Modelo recomendado — "Canopy lidera, SNOW complementa":
| Tipo de Campo | Fonte da Verdade | Por quê |
|---|---|---|
| Nomes e descrições | Turbo lidera | A equipe de EA cura nomes oficiais e escreve descrições estratégicas; nomes no CMDB podem ser confusos ou gerados automaticamente |
| Criticidade de negócio | Turbo lidera | Avaliação estratégica da equipe de EA — não são dados operacionais |
| Adequação funcional / técnica | Turbo lidera | Pontuações do modelo TIME são uma preocupação do EA |
| Ciclo de vida (todas as fases) | Turbo lidera | Plan, phaseIn, active, phaseOut, endOfLife — todos são dados de planejamento do EA |
| Dados de custo | Turbo lidera | O EA rastreia o custo total de propriedade; o CMDB pode ter itens de contrato, mas o EA possui a visão consolidada |
| Tipo de hospedagem, categoria | Turbo lidera | O EA classifica aplicações por modelo de hospedagem para análise estratégica |
| Metadados técnicos | SNOW lidera | IPs, versões de SO, nomes de host, números de série — dados de descoberta automatizada que o EA não mantém |
| SLA / status operacional | SNOW lidera | Status de instalação, metas de SLA, métricas de disponibilidade — dados operacionais ITSM |
| Grupo de atribuição / suporte | SNOW lidera | Propriedade operacional rastreada nos fluxos de trabalho do ServiceNow |
| Datas de descoberta | SNOW lidera | Primeira/última descoberta, último escaneamento — metadados de automação do CMDB |
3. Com que frequência você deve sincronizar?
| Cenário | Frequência | Observações |
|---|---|---|
| Importação inicial | Uma vez | Modo aditivo, revise cuidadosamente |
| Gestão ativa da cenário | Diariamente | Automatizado via cron fora do horário de pico |
| Relatórios de conformidade | Semanalmente | Antes de gerar relatórios |
| Ad-hoc | Conforme necessário | Antes de grandes revisões ou apresentações de EA |
Passo 1: Pré-requisitos do ServiceNow
Criar uma Conta de Serviço
No ServiceNow, crie uma conta de serviço dedicada (nunca use contas pessoais):
| Papel | Finalidade | Obrigatório? |
|---|---|---|
itil | Acesso de leitura às tabelas do CMDB | Sim |
cmdb_read | Leitura de Configuration Items | Sim |
rest_api_explorer | Útil para testar consultas | Recomendado |
import_admin | Acesso de escrita nas tabelas de destino | Apenas para sincronização push |
Melhor prática: Crie um papel personalizado com acesso somente leitura apenas às tabelas específicas que planeja sincronizar. O papel itil é amplo — um papel com escopo personalizado limita o raio de impacto.
Requisitos de Rede
- O backend do Canopy deve alcançar sua instância SNOW via HTTPS (porta 443)
- Configure regras de firewall e listas de IPs permitidos
- Formato da URL da instância:
https://empresa.service-now.comouhttps://empresa.servicenowservices.com
Escolher o Método de Autenticação
| Método | Vantagens | Desvantagens | Recomendação |
|---|---|---|---|
| Basic Auth | Configuração simples | Credenciais enviadas a cada requisição | Apenas para desenvolvimento/testes |
| OAuth 2.0 | Baseado em token, com escopo, auditável | Mais etapas de configuração | Recomendado para produção |
Para OAuth 2.0:
- No ServiceNow: System OAuth > Application Registry
- Crie um novo endpoint OAuth API para clientes externos
- Anote o Client ID e Client Secret
- Rotacione os secrets em um ciclo de 90 dias
Passo 2: Criar uma Conexão
Navegue até Admin > ServiceNow > aba Conexões.
Criar e Testar
- Clique em Adicionar Conexão
- Preencha:
| Campo | Valor de Exemplo | Observações |
|---|---|---|
| Nome | CMDB Produção | Rótulo descritivo para sua equipe |
| URL da Instância | https://empresa.service-now.com | Deve usar HTTPS |
| Tipo de Autenticação | Basic Auth ou OAuth 2.0 | OAuth recomendado para produção |
| Credenciais | (conforme tipo de autenticação) | Criptografadas em repouso via Fernet |
- Clique em Criar, depois clique no ícone de teste (símbolo de wifi) para verificar a conectividade
- Chip verde "Conectado" — Pronto para uso
- Chip vermelho "Falhou" — Verifique credenciais, rede e URL
Múltiplas Conexões
Você pode criar múltiplas conexões para:
- Instâncias de produção vs desenvolvimento
- Instâncias SNOW regionais (ex.: EMEA, APAC)
- Equipes diferentes com contas de serviço separadas
Cada mapeamento referencia uma conexão específica.
Passo 3: Projetar seus Mapeamentos
Mude para a aba Mapeamentos. Um mapeamento conecta um tipo de card do Canopy a uma tabela do ServiceNow.
Criar um Mapeamento
Clique em Adicionar Mapeamento e configure:
| Campo | Descrição | Exemplo |
|---|---|---|
| Conexão | Qual instância do ServiceNow usar | CMDB Produção |
| Tipo de Card | O tipo de card do Canopy a sincronizar | Application |
| Tabela SNOW | O nome API da tabela do ServiceNow | cmdb_ci_business_app |
| Direção da Sincronização | Quais operações estão disponíveis (veja abaixo) | ServiceNow -> Canopy |
| Modo de Sincronização | Como lidar com exclusões | Conservador |
| Taxa Máxima de Exclusão | Limite de segurança para exclusões em massa | 50% |
| Consulta de Filtro | Consulta codificada do ServiceNow para limitar o escopo | active=true^install_status=1 |
| Pular Staging | Aplicar alterações diretamente sem revisão | Desativado (recomendado para sincronização inicial) |
Mapeamentos Comuns de Tabelas SNOW
| Tipo no Canopy | Tabela no ServiceNow | Descrição |
|---|---|---|
| Application | cmdb_ci_business_app | Aplicações de negócio (mais comum) |
| Application | cmdb_ci_appl | CIs de aplicação gerais |
| ITComponent (Software) | cmdb_ci_spkg | Pacotes de software |
| ITComponent (Hardware) | cmdb_ci_server | Servidores físicos/virtuais |
| ITComponent (SaaS) | cmdb_ci_cloud_service_account | Contas de serviços em nuvem |
| Provider | core_company | Fornecedores / empresas |
| Interface | cmdb_ci_endpoint | Endpoints de integração |
| DataObject | cmdb_ci_database | Instâncias de banco de dados |
| System | cmdb_ci_computer | CIs de computador |
| Organization | cmn_department | Departamentos |
Exemplos de Consulta de Filtro
Sempre filtre para evitar importar registros obsoletos ou desativados:
# Apenas CIs ativos (filtro mínimo recomendado)
active=true
# CIs ativos com status de instalação "Instalado"
active=true^install_status=1
# Aplicações em uso de produção
active=true^used_for=Production
# CIs atualizados nos últimos 30 dias
active=true^sys_updated_on>=javascript:gs.daysAgoStart(30)
# Grupo de atribuição específico
active=true^assignment_group.name=IT Operations
# Excluir CIs desativados
active=true^install_statusNOT IN7,8
Melhor prática: Sempre inclua active=true no mínimo. Tabelas do CMDB frequentemente contêm milhares de registros desativados ou descomissionados que não devem ser importados para sua cenário de EA.
Passo 4: Configurar Mapeamentos de Campos
Cada mapeamento contém mapeamentos de campos que definem como os campos individuais são traduzidos entre os dois sistemas. O campo Canopy Field oferece sugestões de autocompletar baseadas no tipo de card selecionado — incluindo campos principais, datas de ciclo de vida e todos os atributos personalizados do esquema do tipo.
Adicionar Campos
Para cada mapeamento de campo, você configura:
| Configuração | Descrição |
|---|---|
| Campo Canopy | Caminho do campo no Canopy (o autocompletar sugere opções baseadas no tipo de card) |
| Campo SNOW | Nome da coluna API do ServiceNow (ex.: name, short_description) |
| Direção | Fonte da verdade por campo: SNOW lidera ou Turbo lidera |
| Transformação | Como converter valores: Direto, Mapa de Valores, Data, Booleano |
| Identidade (checkbox ID) | Usado para correspondência de registros durante a sincronização inicial |
Caminhos de Campo do Canopy
O autocompletar agrupa campos por seção. Aqui está a referência completa de caminhos:
| Caminho | Destino | Valor de Exemplo |
|---|---|---|
name | Nome de exibição do card | "SAP S/4HANA" |
description | Descrição do card | "Sistema ERP principal para finanças" |
lifecycle.plan | Ciclo de vida: Data de planejamento | "2024-01-15" |
lifecycle.phaseIn | Ciclo de vida: Data de introdução | "2024-03-01" |
lifecycle.active | Ciclo de vida: Data de ativação | "2024-06-01" |
lifecycle.phaseOut | Ciclo de vida: Data de descontinuação | "2028-12-31" |
lifecycle.endOfLife | Ciclo de vida: Data de fim de vida | "2029-06-30" |
attributes.<key> | Qualquer atributo personalizado do esquema de campos do tipo de card | Varia conforme o tipo de campo |
Por exemplo, se seu tipo Application possui um campo com a chave businessCriticality, selecione attributes.businessCriticality no menu suspenso.
Campos de Identidade — Como Funciona a Correspondência
Marque um ou mais campos como Identidade (ícone de chave). Esses são usados durante a primeira sincronização para corresponder registros do ServiceNow a cards existentes no Canopy:
- Consulta ao mapa de identidade — Se um vínculo sys_id <-> card UUID já existir, use-o
- Correspondência exata de nome — Correspondência pelo valor do campo de identidade (ex.: correspondência pelo nome da aplicação)
- Correspondência aproximada — Se não houver correspondência exata, usa SequenceMatcher com limite de similaridade de 85%
Melhor prática: Sempre marque o campo name como campo de identidade. Se os nomes diferirem entre os sistemas (ex.: SNOW inclui números de versão como "SAP S/4HANA v2.1", mas o Canopy tem "SAP S/4HANA"), limpe-os antes da primeira sincronização para melhor qualidade de correspondência.
Após a primeira sincronização estabelecer vínculos no mapa de identidade, sincronizações subsequentes usam o mapa de identidade persistente e não dependem da correspondência por nome.
Passo 5: Executar sua Primeira Sincronização
Mude para a aba Painel de Sincronização.
Disparar uma Sincronização
Para cada mapeamento ativo, você vê botões Pull e/ou Push dependendo da direção de sincronização configurada:
- Pull (ícone de download na nuvem) — Busca dados do SNOW para o Canopy
- Push (ícone de upload na nuvem) — Envia dados do Canopy para o ServiceNow
O que Acontece Durante uma Sincronização Pull
1. BUSCAR Recuperar todos os registros correspondentes do SNOW (lotes de 500)
2. COMBINAR Combinar cada registro com um card existente:
a) Mapa de identidade (consulta persistente sys_id <-> card UUID)
b) Correspondência exata de nome nos campos de identidade
c) Correspondência aproximada de nome (limite de similaridade de 85%)
3. TRANSFORMAR Aplicar mapeamentos de campo para converter formato SNOW -> Canopy
4. COMPARAR Comparar dados transformados com os campos existentes do card
5. STAGING Atribuir uma ação a cada registro:
- create: Novo, nenhum card correspondente encontrado
- update: Correspondência encontrada, campos diferem
- skip: Correspondência encontrada, sem diferenças
- delete: No mapa de identidade mas ausente do SNOW
6. APLICAR Executar ações em staging (criar/atualizar/arquivar cards)
Quando Pular Staging está ativado, os passos 5 e 6 se fundem — as ações são aplicadas diretamente sem gravar registros em staging.
Revisando os Resultados da Sincronização
A tabela Histórico de Sincronização mostra após cada execução:
| Coluna | Descrição |
|---|---|
| Iniciado | Quando a sincronização começou |
| Direção | Pull ou Push |
| Status | completed, failed ou running |
| Buscados | Total de registros recuperados do ServiceNow |
| Criados | Novos cards criados no Canopy |
| Atualizados | Cards existentes atualizados |
| Excluídos | Cards arquivados (exclusão suave) |
| Erros | Registros que falharam no processamento |
| Duração | Tempo total de execução |
Clique no ícone de lista em qualquer execução para inspecionar registros individuais em staging, incluindo a diferença campo a campo para cada atualização.
Procedimento Recomendado para a Primeira Sincronização
1. Definir mapeamento para modo ADITIVO com staging ATIVADO
2. Executar sincronização pull
3. Revisar registros em staging — verificar se as criações estão corretas
4. Ir ao Inventário, verificar os cards importados
5. Ajustar mapeamentos de campo ou consulta de filtro se necessário
6. Executar novamente até ficar satisfeito
7. Mudar para modo CONSERVADOR para uso contínuo
8. Após várias execuções bem-sucedidas, ativar Pular Staging