defineConnectionProvider({ type: 'oauth', ... }) nebudou muset migrovat.
defineConnectionProvider
Definujte, jak vaše aplikace získává připojení
defineConnectionProvider
Definujte, jak vaše aplikace získává připojení
Poskytovatel připojení popisuje OAuth handshake, který vaše aplikace potřebuje. Uživatel klikne v nastavení vaší aplikace na “Přidat připojení”, projde souhlasovou obrazovkou poskytovatele a v jeho pracovním prostoru se vytvoří řádek Hlavní body:
ConnectedAccount.Funkční nastavení vyžaduje dva soubory — poskytovatele připojení a odpovídající deklaraci serverVariables v defineApplication, která obsahuje klientská pověření OAuth.src/connection-providers/linear-connection.ts
src/application.config.ts
nameje jedinečný identifikátor (řetězec) používaný vlistConnections({ providerName })(kebab-case, musí odpovídat^[a-z][a-z0-9-]*$).displayNamese zobrazuje na kartě nastavení jednotlivé aplikace a v seznamu nástrojů AI.clientIdVariable/clientSecretVariablejsou názvy, ne hodnoty — musí odpovídat klíčům deklarovaným vdefineApplication.serverVariables. Skutečnéclient_idaclient_secretzadává správce serveru prostřednictvím rozhraní pro registraci aplikace, nikdy se necommitují do vašeho repozitáře.- Použijte
serverVariables(nikoliapplicationVariables) — pověření OAuth jsou celoserverová a na jeden server Twenty je jedna aplikace OAuth. - Dokud nejsou vyplněny obě
serverVariables, karta nastavení aplikace zobrazuje nápovědu “vyžaduje správce serveru” a tlačítko “Přidat připojení” je zakázané. type: 'oauth'je dnes jediná podporovaná hodnota. Rozlišovač je kompatibilní do budoucna: budoucí typy ('pat','api-key', …) přidají nové podbloky konfigurace vedleoauth.
Spusťte logickou funkci při připojení
Reagujte ve chvíli, kdy je připojení navázáno
Spusťte logickou funkci při připojení
Reagujte ve chvíli, kdy je připojení navázáno
Někteří poskytovatelé vám při připojení předají data, která je potřeba uložit dříve, než lze připojení používat — klasickým příkladem je Slack, kde odpověď OAuth určuje Hook běží asynchronně v připojujícím se pracovním prostoru (je zařazen do fronty, nečeká se na něj), takže pomalý nebo chybující hook nikdy neblokuje ani nenaruší OAuth callback — udělejte jej idempotentní a zajistěte, aby sám zpracovával opakované pokusy. Obslužná funkce přijímá:Odtud použijte
team_id pracovního prostoru, podle kterého budou příchozí události indexovány. Nastavte onConnectLogicFunction tak, aby odkazovala na logickou funkci ve stejné aplikaci (podle jejího universalIdentifier), a ta se spustí hned poté, co je vytvořen ConnectedAccount.src/connection-providers/slack-connection.ts
getConnection(connectedAccountId) ke čtení čerstvého přístupového tokenu a zavolejte API poskytovatele (např. Slack auth.test) nebo uložte mapování pomocí úložiště klíč–hodnota.listConnections / getConnection
Použijte připojení z logické funkce
listConnections / getConnection
Použijte připojení z logické funkce
Uvnitř handleru logické funkce vrací Každé připojení má:
listConnections({ providerName }) řádky ConnectedAccount této aplikace pro daného poskytovatele s obnovenými přístupovými tokeny.src/logic-functions/handlers/create-linear-issue-handler.ts
Hlavní body:
- Předejte
{ providerName }pro filtrování podle poskytovatele; vynechejte jej, chcete-li získat všechna připojení, která tato aplikace vlastní napříč všemi poskytovateli. - Server před vrácením výsledku transparentně obnoví přístupový token. Váš handler vždy uvidí použitelný token (nebo nastavené
authFailedAt). getConnection(id)je jednořádkový ekvivalent.
Viditelnost pro jednotlivce vs. sdílená v pracovním prostoru
Jak si uživatelé vybírají mezi soukromými a sdílenými pověřeními
Viditelnost pro jednotlivce vs. sdílená v pracovním prostoru
Jak si uživatelé vybírají mezi soukromými a sdílenými pověřeními
Když uživatel klikne na “Přidat připojení”, je vyzván k výběru viditelnosti:Více připojení na (uživatele, poskytovatele) je povoleno, takže tentýž uživatel může mít vedle sebe “Personal Linear” a “Work Linear”.
- Jen pro mě — pověření je soukromé pro připojujícího se uživatele. Jakákoli logická funkce volaná jejich jménem (spouštěč HTTP trasy s
isAuthRequired: true) jej uvidí; spouštěče cron a události databáze nikoli. - Sdíleno v pracovním prostoru — jakýkoli člen pracovního prostoru může pověření použít. Spouštěče cron/databáze jej také uvidí, protože nemají žádného uživatele požadavku.
Jednorázové nastavení poskytovatele
Zaregistrujte svou aplikaci OAuth u služby třetí strany
Jednorázové nastavení poskytovatele
Zaregistrujte svou aplikaci OAuth u služby třetí strany
Pro každého poskytovatele připojení musí správce serveru nejprve zaregistrovat u třetí strany aplikaci OAuth.
- Přejděte do vývojářského nastavení poskytovatele (např. https://linear.app/settings/api/applications/new).
- Nastavte Redirect URI na
\<SERVER_URL>/auth/apps/callback. - Zkopírujte vygenerované Client ID a Client Secret.
- Otevřete nainstalovanou aplikaci v Twenty jako správce serveru → nastavte hodnoty na odpovídajících
serverVariables. - Členové pracovního prostoru pak mohou přidávat připojení v sekci aplikace Připojení.