L'integrazione del link shortener con Notion è passata da Beta ad Attiva il 4 giugno 2026. Se usi Notion come hub per le campagne, Elido legge gli URL in qualsiasi database tu scelga, crea link brevi personalizzati sul tuo dominio, li riscrive nella tabella e monitora le modifiche alla destinazione. Un clic OAuth, nessun segreto da incollare, e la mappatura dei campi è configurabile per database.
Questo articolo copre il passaggio di connessione OAuth con i permessi, la struttura a sei colonne e il flusso di modifica bidirezionale con risoluzione dei conflitti. Se hai letto il precedente tutorial sui link brevi con Notion, questo è l'approfondimento.
OAuth in un clic: cosa succede davvero quando premi Connetti
I vecchi flussi basati sull'incollaggio di token richiedevano di generare un token di integrazione interno di Notion, incollarlo e poi condividere manualmente ogni database con l'integrazione. Non è più necessario. Il nuovo flusso prevede tre clic: Connetti in Elido, seleziona workspace e database nella schermata di consenso di Notion, fatto. Lo scambio OAuth segue lo standard della documentazione di autenticazione dell'API Notion, con PKCE sullo scambio del codice di autorizzazione.
I permessi concessi sono deliberatamente limitati:
- read_content - leggere le proprietà Destination, Tags e Title sui database selezionati.
- insert_content - creare nuove righe quando chiedi a Elido di generare un link da una fonte esterna (un Zap, un webhook, un CSV).
- update_content - riscrivere le proprietà Short URL, Clicks, QR e Last Synced.
Elido non chiede mai l'accesso in lettura all'intero workspace né a pagine non selezionate. Notion lo applica anche lato server: una query su un database fuori dal permesso restituisce un 403. Il riferimento dell'API Notion per le operazioni sui database copre i verbi utilizzati dall'integrazione.
Quando completi il consenso, il tuo browser raggiunge api.elido.app/v1/oauth/notion/callback con il codice di autorizzazione. api-core scambia il codice con un token di accesso, cifra il token con la chiave KMS del workspace (come da ADR-0036) e lo memorizza in integration_credentials. Il token in chiaro non tocca mai il disco né i log. Viene anche creata una voce nel registro di audit in modo che un amministratore possa vedere chi ha connesso quale workspace Notion e quando.
Il pulsante di connessione si trova nella scheda Integrazioni di ciascun workspace, come per qualsiasi altro fornitore nel catalogo delle integrazioni. La pagina dell'integrazione Notion mostra uno screenshot della schermata di consenso. I permessi possono essere revocati dalle Impostazioni di Notion, pannello Connessioni - revocare da lì attiva un webhook che elimina il token lato Elido entro 60 secondi.
Due modalità: collegare o creare
In modalità collegamento, punti Elido verso un database esistente con una proprietà URL. Elido aggiunge solo le colonne di cui ha bisogno senza rinominare nulla. In modalità creazione, Elido crea un nuovo database "Elido Links" nella pagina che scegli. La maggior parte dei team preferisce la modalità collegamento perché la propria tabella di campagne esiste già con trimestri di storico. In entrambi i casi, lo schema è identico.
Mappatura dei campi: le sei colonne e perché sono strutturate così
Ecco la struttura delle colonne usata dall'integrazione. I nomi sono quelli predefiniti e possono essere rinominati per database in Impostazioni, Notion, Mappatura campi.
| Colonna | Tipo Notion | Direzione | Note |
|---|---|---|---|
| Short URL | URL | Elido scrive | Sola lettura dal lato utente; modificarla non ha effetto. |
| Destination | URL | Notion scrive | La destinazione a cui punta il link breve. Modificabile. |
| Tags | Selezione multipla | Bidirezionale | I tag vengono uniti per unione di insiemi in caso di conflitto. |
| Clicks | Numero | Elido scrive | Aggiornato ogni 5 minuti. Sola lettura. |
| QR | File | Elido scrive | Un PNG da 1024px del codice QR per l'URL breve. |
| Last Synced | Data | Elido scrive | Timestamp UTC della sincronizzazione più recente. |
Alcune scelte meritano una spiegazione.
Clicks non è in tempo reale per una precisa ragione. Notion non dispone di primitive di streaming e chiamare il loro endpoint a ogni clic esaurirebbe il limite di velocità. Cinque minuti corrisponde alla freschezza di cui ha bisogno la maggior parte dei team operativi. Per il tempo reale, attiva un webhook sugli eventi di clic del link e inoltralo al tuo dashboard. Notion è la vista della campagna; il webhook è il flusso di dati continuo.
QR è una proprietà di tipo File, non URL. Notion non renderizza gli URL di immagini esterne nelle tabelle, ma visualizza i file allegati come miniature. Elido carica il PNG alla prima sincronizzazione e lo ricarica solo se l'URL breve cambia. Consulta la pagina della funzionalità QR codes e la guida QR GS1.
Tags è bidirezionale con unione di insiemi. L'unica colonna in cui entrambi i lati scrivono. Etichetta una riga con "launch-2026" in Notion, Elido ha "winter-promo" da un Zap, alla prossima sincronizzazione entrambi i tag esistono su entrambi i lati. Le rimozioni si propagano. Il registro di audit registra ogni modifica.
Per i parametri UTM, la guida ai modelli UTM associa un modello a una cartella in modo che ogni link erediti il corretto utm_source. La colonna Destination rimane pulita e Elido aggiunge i parametri al momento della risoluzione del clic tramite le regole per i link intelligenti.
Il flusso di modifica bidirezionale: chi vince quando Notion ed Elido non sono d'accordo
Questa è la parte che interessa di più ai team, perché gli strumenti di sincronizzazione hanno una storia di sovrascritture silenziose. Ecco il contratto.
Un worker in api-core interroga ogni database connesso ogni cinque minuti alla ricerca di modifiche dall'ultimo watermark last_edited_time. Su una modifica di proprietà, carica la mappatura dei campi e determina la proprietà. Le regole sono fisse:
- Notion possiede: Destination, Tags (lato scrittura), Title.
- Elido possiede: Short URL, Clicks, QR, Last Synced.
- Condiviso: Tags (lato lettura; entrambi i lati vedono l'insieme unito).
Se un campo di proprietà di Notion è cambiato in Notion, Elido aggiorna lo stato interno ed emette un evento integration.notion.sync. Se un campo di proprietà di Elido è cambiato (un incremento del contatore di clic), Elido lo riscrive alla prossima sincronizzazione.
Il caso interessante è una collisione. Supponiamo che tu cambi Destination in Notion alle 14:02:10 e che un Zap scriva una nuova Destination in Elido alle 14:02:30, nella stessa finestra di cinque minuti. Notion possiede Destination, quindi vince Notion. Elido scarta la scrittura del Zap, pubblica un commento sulla riga ("Conflitto in Destination alle 14:02:30, mantenuto il valore di Notion, vedi registro di audit") e emette un evento di conflitto sottoscrivibile tramite webhook. Il Zap ascolta e decide se riprovare o inviare un avviso.
Nessuna sovrascrittura silenziosa da nessuna parte. Ogni scrittura viene registrata. Ogni conflitto riceve un commento sulla riga. Per un registro permanente, invia il flusso di audit al tuo data warehouse tramite la guida all'esportazione ClickHouse o accedi direttamente all'API GraphQL.
Quando la modifica della destinazione NON deve propagarsi
A volte modifichi una destinazione come bozza. Due approcci aiutano in questo caso.
Proprietà Status come protezione. Aggiungi una selezione chiamata "Sync" con i valori Draft, Live, Paused. L'integrazione sincronizza solo le righe dove Sync = Live. Lavora in Draft, passa a Live, il prossimo ciclo la raccoglie. La maggior parte dei team di marketing finisce per usare questo metodo.
Mettere in pausa l'intero database. Impostazioni, Notion, pausa per database. Utile durante una migrazione o modifiche in blocco.
Guida alla configurazione: da zero alla prima riga sincronizzata in 4 minuti
- Connetti Notion. Impostazioni del workspace, Integrazioni, Notion, Connetti. Scegli il workspace, seleziona i database, Consenti.
- Seleziona un database. Impostazioni, Notion, "Aggiungi database". Il menu a tendina elenca tutti i database autorizzati. Selezionane uno.
- Mappa i campi. Conferma Destination, Title e il resto. Proprietà mancanti? Elido propone di crearle.
- Scegli un dominio. Scegli un dominio personalizzato per i link brevi. Nessun dominio personalizzato ancora? Scegli quello predefinito; la migrazione è un clic in seguito.
- Salva e popola. Elido legge ogni riga, genera un link breve per quelle con Destination ma senza Short URL, e riscrive i risultati. Gli Short URL esistenti vengono lasciati invariati.
Il tempo reale è di circa 4 minuti per 200 righe. I popolamenti più grandi raggiungono il limite di tre richieste al secondo di Notion per i workspace gratuiti. Un database da 5.000 righe viene popolato in circa 30 minuti; il worker elabora in blocchi e riprende automaticamente se viene limitato.
Quando usare questa integrazione rispetto a Zapier o all'API direttamente
Esistono tre percorsi, non mutuamente esclusivi.
L'integrazione nativa è la scelta predefinita giusta se Notion è dove si svolge il lavoro. OAuth, risoluzione dei conflitti, registro di audit, mappatura dei campi, senza codice.
Uno Zap è adatto per workflow a più passaggi ("quando una riga viene aggiunta E arriva una reazione Slack, crea un link"). Per la mappatura diretta riga-a-link, l'integrazione nativa è più veloce ed economica. Consulta il post sull'automazione con Zapier.
L'API REST è adatta se stai costruendo un workflow personalizzato su Elido. Per gli sviluppatori che creano integrazioni di prodotto, il codice sorgente sotto services/api-core/internal/integrations/notion/ è abbastanza piccolo da leggere in una sola sessione.
Rispetto a Bitly o Rebrandly: nessuno dei due dispone di un'integrazione nativa con Notion al momento della stesura. Entrambi richiedono Zapier o uno script personalizzato. Consulta la pagina vs Bitly per le differenze e la pagina dei prezzi per sapere quali piani includono database Notion illimitati.
Risoluzione dei problemi: i quattro problemi emersi in Beta
Durante le otto settimane di Beta, sono emerse quattro categorie di problemi. Tutti sono ora gestiti nel codice, ma è utile sapere cosa cercare.
"Database non trovato" dopo una ridenominazione del workspace. Se un amministratore di Notion rinomina il workspace, l'ID del workspace rimane stabile ma i metadati in cache diventano obsoleti dalla nostra parte per un'ora al massimo. Soluzione alternativa: premi "Forza risincronizzazione" in Impostazioni, Notion. Il TTL della cache è impostato a 15 minuti in produzione, quindi questo è principalmente un artefatto della Beta.
Limite di velocità durante un grande popolamento. Il limite per integrazione di Notion è di tre richieste al secondo. Un database da 5.000 righe lo supera abbondantemente durante il popolamento iniziale. Il worker applica un backoff esponenziale (250ms, 500ms, 1s, 2s, massimo 8s) e riprende. Vedrai "Throttled by Notion, resuming" nel registro delle attività; è normale.
Tipo di proprietà non corrispondente. Il bug più comune in Beta. Un utente ha scelto una colonna Notion di tipo "Testo" per Destination invece di "URL". Il validatore della mappatura dei campi ora lo segnala al salvataggio e si rifiuta di procedere. Se vedi "Destination deve essere una proprietà URL", modifica prima il tipo di colonna in Notion.
Utente con accesso a più workspace che condivide database. Se la stessa persona è membro di due workspace Notion e entrambi vogliono connettere Elido, ogni workspace ha bisogno della propria autorizzazione OAuth. Il token è per workspace, non per utente. Il flusso di connessione gestisce questo correttamente; aspettati solo di cliccare Connetti due volte.
Per qualsiasi cosa non presente in questo elenco, la pagina dei contatti va direttamente al team delle integrazioni. I problemi vengono rilevati lì più rapidamente che nel supporto generale.
Cosa arriverà dopo
Due aggiornamenti sono in roadmap. Una ricetta "da modulo Notion a link breve" in modo che l'invio di un modulo generi un link tracciato. E la sincronizzazione bidirezionale su una proprietà Workspace in modo che un link possa seguire quando si sposta una riga tra database. Entrambi previsti per il Q3; li annoteremo nel changelog.
Per misurare l'impatto, il primer sull'analisi dei link brevi spiega quali metriche contano davvero e come configurare le righe del dashboard Notion in modo che rispondano alle domande giuste.
Domande frequenti
Quali permessi richiede l'integrazione con Notion?
Elido richiede insert_content, update_content e read_content sulle pagine o i database che selezioni durante il passaggio di consenso OAuth. È sufficiente per aggiungere nuove righe, riscrivere gli URL brevi e i contatori di clic, e leggere le modifiche alla destinazione. Elido non chiede mai l'accesso all'intero workspace, e il permesso è limitato a ciò che hai selezionato nell'interfaccia di consenso di Notion.
Posso modificare l'URL di destinazione in Notion e far sì che Elido la segua?
Sì. Un osservatore di campo controlla ogni cinque minuti le modifiche alla proprietà Destination. Se l'URL cambia, Elido aggiorna la destinazione del link in api-core, scrive una nuova riga nel registro di audit e invia un webhook per informare i sistemi a valle. L'URL breve non cambia mai, quindi i codici QR esistenti e i materiali stampati continuano a funzionare.
Come funziona la risoluzione dei conflitti quando entrambi i lati modificano contemporaneamente?
Notion è la fonte di verità per Destination, Tags e Title. Elido è la fonte di verità per Short URL, Clicks, QR e Last Synced. Se una proprietà va in conflitto durante una finestra di sincronizzazione, vince il lato che possiede il campo, mentre l'altro riceve un commento sulla riga che spiega cosa è successo. Non ci sono sovrascritture silenziose.
L'integrazione funziona con il piano gratuito di Notion?
Sì, con due avvertenze. I workspace gratuiti di Notion hanno un limite API di tre richieste al secondo, quindi i database molto grandi (oltre 5.000 righe) vengono sincronizzati in blocchi da 100 con una breve pausa. Inoltre, l'integrazione richiede che un amministratore del workspace Notion approvi il permesso OAuth la prima volta. Dopodiché, chiunque abbia i diritti di modifica del database può avviare una risincronizzazione manuale.
Cosa succede se disconnetto l'integrazione?
Il token OAuth viene revocato e la copia cifrata in api-core viene eliminata entro 60 secondi. Le righe esistenti rimangono nel database con i loro URL brevi intatti, ma Clicks e Last Synced smettono di aggiornarsi. Se ti riconnetti in seguito, l'integrazione riprende da dove si era fermata e recupera i contatori di clic accumulati durante la disconnessione.
Prova Elido
Incolla un URL, ottieni un link breve
Senza registrazione. Il link vive 30 giorni. Iscriviti per conservarlo.
Gratis, nessuna registrazione richiesta · 2 al giorno