A integração do encurtador de URL com o Notion passou de Beta para Ativa em 4 de junho de 2026. Se você usa o Notion como hub de campanhas, o Elido lê as URLs de qualquer banco de dados que você escolher, cria links curtos com a sua marca no seu domínio, os escreve de volta na tabela e monitora alterações de destino. Um clique com OAuth, sem colar segredos, e o mapeamento de campos é configurável por banco de dados.
Este artigo cobre o passo de conexão OAuth com os escopos, a estrutura de seis colunas e o fluxo de edição bidirecional com resolução de conflitos. Se você leu o anterior tutorial de links curtos no Notion, este é o aprofundamento.
OAuth com um clique: o que realmente acontece quando você pressiona Conectar
Os fluxos antigos de colagem de tokens exigiam que você gerasse um token de integração interno do Notion, o colasse e depois compartilhasse manualmente cada banco de dados com a integração. Isso acabou. O novo fluxo tem três cliques: Conectar no Elido, escolher workspace e bancos de dados na tela de consentimento do Notion, pronto. A troca OAuth segue o padrão da documentação de autenticação da API do Notion, com PKCE na troca do código de autorização.
Os escopos concedidos são intencionalmente restritos:
- read_content - ler as propriedades Destination, Tags e Title nos bancos de dados selecionados.
- insert_content - criar novas linhas quando você pede ao Elido para criar um link a partir de uma fonte externa (um Zap, um webhook, um CSV).
- update_content - escrever de volta as propriedades Short URL, Clicks, QR e Last Synced.
O Elido nunca solicita leitura em todo o workspace nem acesso a páginas que você não marcou. O Notion também aplica isso no lado do servidor: uma consulta a um banco de dados fora do escopo retorna 403. A referência da API do Notion para operações em bancos de dados cobre os verbos usados pela integração.
Quando você conclui o consentimento, seu navegador chega em api.elido.app/v1/oauth/notion/callback com o código de autorização. O api-core troca o código por um token de acesso, criptografa o token com a chave KMS do workspace (conforme o ADR-0036) e o armazena em integration_credentials. O token em texto puro nunca toca o disco nem os logs. Uma entrada também é criada no log de auditoria para que um administrador possa ver quem conectou qual workspace do Notion e quando.
O botão de conexão fica na aba Integrações de cada workspace, igual a qualquer outro fornecedor no catálogo de integrações. A página de integração com o Notion tem uma captura de tela da tela de consentimento. As permissões podem ser revogadas nas Configurações do Notion, painel Conexões - revogar por lá dispara um webhook que apaga o token no lado do Elido em até 60 segundos.
Dois modos: vincular ou criar
No modo de vinculação, você aponta o Elido para um banco de dados existente com uma propriedade URL. O Elido adiciona apenas as colunas de que precisa, sem renomear nada. No modo de criação, o Elido provisiona um novo banco de dados "Elido Links" dentro da página que você escolher. A maioria das equipes prefere o modo de vinculação porque sua tabela de campanhas já existe com trimestres de histórico. Em ambos os casos, o esquema é idêntico.
Mapeamento de campos: as seis colunas e por que são assim
Este é o layout de colunas que a integração usa. Os nomes são padrão e podem ser renomeados por banco de dados em Configurações, Notion, Mapeamento de campos.
| Coluna | Tipo no Notion | Direção | Observações |
|---|---|---|---|
| Short URL | URL | Elido escreve | Somente leitura para o usuário; editá-la não tem efeito. |
| Destination | URL | Notion escreve | O destino para o qual o link curto aponta. Editável. |
| Tags | Seleção múltipla | Bidirecional | As tags são mescladas por união de conjuntos em caso de conflito. |
| Clicks | Número | Elido escreve | Atualizado a cada 5 minutos. Somente leitura. |
| QR | Arquivos | Elido escreve | Um PNG de 1024px do QR code para a URL curta. |
| Last Synced | Data | Elido escreve | Timestamp UTC da sincronização mais recente. |
Algumas escolhas merecem uma explicação.
Clicks não é em tempo real intencionalmente. O Notion não tem nenhum primitivo de streaming, e chamar o endpoint a cada clique esgotaria o limite de requisições. Cinco minutos atende à atualidade que a maioria das equipes de operações precisa. Para tempo real, dispare um webhook nos eventos de clique de link e encaminhe para o seu próprio painel. O Notion é a visão da campanha; o webhook é o fluxo de dados contínuo.
QR é uma propriedade de Arquivos, não URL. O Notion não renderiza URLs de imagens externas em tabelas, mas exibe arquivos anexados como miniaturas. O Elido faz o upload do PNG na primeira sincronização e só o reenvia se a URL curta mudar. Consulte a página da funcionalidade de QR codes e o guia de QR GS1.
Tags é bidirecional com união de conjuntos. A única coluna em que ambos os lados escrevem. Marque uma linha com "launch-2026" no Notion, o Elido tem "winter-promo" de um Zap, na próxima sincronização ambas as tags existem nos dois lados. As remoções são propagadas. O log de auditoria registra cada alteração.
Para parâmetros UTM, o guia de modelos UTM associa um modelo a uma pasta para que cada link herde o utm_source correto. A coluna Destination permanece limpa, e o Elido anexa os parâmetros no momento da resolução do clique por meio das regras de links inteligentes.
O fluxo de edição bidirecional: quem vence quando Notion e Elido discordam
Esta é a parte que mais importa para as equipes, porque as ferramentas de sincronização têm um histórico de sobrescritas silenciosas. Este é o contrato.
Um worker dentro do api-core consulta cada banco de dados conectado a cada cinco minutos em busca de alterações desde o último watermark last_edited_time. Em uma alteração de propriedade, carrega o mapeamento de campos e determina a propriedade. As regras são fixas:
- Notion possui: Destination, Tags (lado de escrita), Title.
- Elido possui: Short URL, Clicks, QR, Last Synced.
- Compartilhado: Tags (lado de leitura; ambos os lados veem o conjunto mesclado).
Se um campo pertencente ao Notion mudou no Notion, o Elido atualiza o estado interno e emite um evento integration.notion.sync. Se um campo pertencente ao Elido mudou (uma incrementação do contador de cliques), o Elido o reescreve na próxima sincronização.
O caso interessante é uma colisão. Suponha que você mude Destination no Notion às 14:02:10 e um Zap escreva uma nova Destination no Elido às 14:02:30, na mesma janela de cinco minutos. O Notion possui Destination, então o Notion vence. O Elido descarta a escrita do Zap, publica um comentário na linha ("Conflito em Destination às 14:02:30, valor do Notion mantido, veja o log de auditoria") e emite um evento de conflito que pode ser assinado via webhooks. O Zap escuta e decide se tenta novamente ou envia um alerta.
Sem sobrescritas silenciosas em lugar nenhum. Cada escrita é registrada. Cada conflito recebe um comentário na linha. Para um registro permanente, envie o fluxo de auditoria para o seu data warehouse pelo guia de exportação ClickHouse ou acesse diretamente a API GraphQL.
Quando a alteração de destino NÃO deve se propagar
Às vezes você edita um destino como rascunho. Dois padrões ajudam nesse caso.
Propriedade Status como guarda. Adicione uma seleção chamada "Sync" com os valores Draft, Live, Paused. A integração sincroniza apenas as linhas onde Sync = Live. Trabalhe em Draft, mude para Live, e o próximo ciclo o pegará. A maioria das equipes de marketing acaba usando isso.
Pausar todo o banco de dados. Configurações, Notion, pausar por banco de dados. Útil durante uma migração ou edições em massa.
Guia de configuração: do zero à primeira linha sincronizada em 4 minutos
- Conectar o Notion. Configurações do workspace, Integrações, Notion, Conectar. Escolha o workspace, marque os bancos de dados, Permitir.
- Escolher um banco de dados. Configurações, Notion, "Adicionar banco de dados". O menu suspenso lista todos os bancos de dados autorizados. Escolha um.
- Mapear campos. Confirme Destination, Title e o restante. Propriedades faltando? O Elido oferece criá-las.
- Escolher um domínio. Escolha um domínio com sua marca para os links curtos. Sem domínio personalizado ainda? Escolha o padrão; a migração é um clique depois.
- Salvar e preencher. O Elido lê cada linha, gera um link curto para as que têm Destination mas não Short URL, e escreve de volta. Os Short URLs existentes são deixados intactos.
O tempo real é de cerca de 4 minutos para 200 linhas. Preenchimentos maiores atingem o limite de três requisições por segundo do Notion em workspaces gratuitos. Um banco de dados de 5.000 linhas é preenchido em cerca de 30 minutos; o worker processa em lotes e retoma automaticamente se for limitado.
Quando usar isso em vez do Zapier ou da API diretamente
Existem três caminhos, não mutuamente exclusivos.
A integração nativa é a escolha padrão certa se o Notion é onde o trabalho acontece. OAuth, resolução de conflitos, log de auditoria, mapeamento de campos, sem código.
Um Zap é adequado para fluxos de trabalho em várias etapas ("quando uma linha é adicionada E uma reação do Slack chegar, então criar um link"). Para o mapeamento direto de linha para link, a integração nativa é mais rápida e mais barata. Veja o post sobre automação com Zapier.
A API REST é adequada se você está construindo um fluxo de trabalho personalizado sobre o Elido. Para desenvolvedores que criam integrações de produto, o código-fonte em services/api-core/internal/integrations/notion/ é pequeno o suficiente para ser lido em uma única sessão.
Comparado ao Bitly ou Rebrandly: nenhum dos dois tem uma integração nativa com o Notion no momento desta escrita. Ambos requerem Zapier ou um script personalizado. Veja a página vs Bitly para as diferenças e a página de preços para saber quais planos incluem bancos de dados ilimitados no Notion.
Solução de problemas: os quatro problemas que apareceram durante o Beta
Durante as oito semanas de Beta, quatro categorias de problemas surgiram. Todos estão agora tratados no código, mas é útil saber o que procurar.
"Banco de dados não encontrado" após renomeação de workspace. Se um administrador do Notion renomear o workspace, o ID do workspace permanece estável, mas os metadados em cache ficam desatualizados do nosso lado por até uma hora. Solução alternativa: clique em "Forçar ressincronização" em Configurações, Notion. O TTL do cache está configurado para 15 minutos em produção, então isso é principalmente um artefato do Beta.
Limite de taxa durante um preenchimento grande. O limite por integração do Notion é de três requisições por segundo. Um banco de dados de 5.000 linhas atinge esse limite com força durante o preenchimento inicial. O worker aplica backoff exponencial (250ms, 500ms, 1s, 2s, limitado a 8s) e retoma. Você verá "Throttled by Notion, resuming" no log de atividades; isso é normal.
Incompatibilidade de tipo de propriedade. O bug mais comum no Beta. Um usuário escolheu uma coluna do Notion do tipo "Texto" para Destination em vez de "URL". O validador do mapeamento de campos agora sinaliza isso ao salvar e se recusa a continuar. Se você ver "Destination deve ser uma propriedade URL", mude primeiro o tipo de coluna no Notion.
Usuário com múltiplos workspaces e bancos de dados compartilhados. Se a mesma pessoa for membro de dois workspaces do Notion e ambos quiserem conectar o Elido, cada workspace precisa de sua própria permissão OAuth. O token é por workspace, não por usuário. O fluxo de conexão lida com isso corretamente; basta esperar clicar em Conectar duas vezes.
Para qualquer coisa que não esteja nesta lista, a página de contato vai diretamente para a equipe de integrações. Os problemas são detectados lá mais rapidamente do que no suporte geral.
O que vem a seguir
Dois itens de acompanhamento no roadmap. Uma receita "formulário Notion para link curto" para que o envio de um formulário crie um link rastreado. E sincronização bidirecional em uma propriedade Workspace para que um link possa seguir quando você mover uma linha entre bancos de dados. Ambos estão previstos para o Q3; os anotaremos no changelog.
Para medir o impacto, o primer de análise de links curtos cobre quais métricas realmente importam e como configurar as linhas do painel do Notion para que respondam às perguntas certas.
Perguntas frequentes
Quais escopos a integração com o Notion solicita?
O Elido solicita insert_content, update_content e read_content nas páginas ou bancos de dados selecionados durante a etapa de consentimento OAuth. Isso é suficiente para adicionar novas linhas, escrever de volta os URLs curtos e os contadores de cliques, e ler as alterações de destino. O Elido nunca solicita acesso a todo o workspace, e a permissão fica limitada ao que você marcou na interface de consentimento do Notion.
Posso editar a URL de destino dentro do Notion e fazer o Elido seguir a alteração?
Sim. Um observador de campo verifica a cada cinco minutos se houve alterações na propriedade Destination. Se a URL mudar, o Elido atualiza o destino do link no api-core, escreve uma nova linha no log de auditoria e dispara um webhook para que os sistemas downstream sejam notificados. A URL curta em si nunca muda, então os QR codes existentes e os materiais impressos continuam funcionando.
Como funciona a resolução de conflitos quando ambos os lados editam ao mesmo tempo?
O Notion é a fonte de verdade para Destination, Tags e Title. O Elido é a fonte de verdade para Short URL, Clicks, QR e Last Synced. Se uma propriedade colidir durante uma janela de sincronização, o lado que possui o campo vence e o perdedor recebe um comentário na linha explicando o que aconteceu. Não há sobrescritas silenciosas.
A integração funciona com o plano gratuito do Notion?
Sim, com duas ressalvas. Os workspaces gratuitos do Notion têm um limite de API de três requisições por segundo, então bancos de dados muito grandes (mais de 5.000 linhas) são sincronizados em lotes de 100 com um pequeno atraso. Além disso, a integração precisa que um administrador do workspace do Notion aprove a permissão OAuth na primeira vez. Depois disso, qualquer pessoa com direitos de edição no banco de dados pode acionar uma ressincronização manual.
O que acontece se eu desconectar a integração?
O token OAuth é revogado e a cópia criptografada no api-core é apagada em até 60 segundos. As linhas existentes permanecem no banco de dados com seus URLs curtos intactos, mas Clicks e Last Synced param de ser atualizados. Reconectar mais tarde retoma de onde parou e preenche os contadores de cliques acumulados durante a desconexão.
Experimente Elido
Cole uma URL, obtenha um link curto
Sem cadastro. O link vive 30 dias. Cadastre-se para mantê-lo para sempre.
Grátis, sem necessidade de registo · 2 por dia