If you are not sure if the website you would like to visit is secure, you can verify it here. Enter the website address of the page and see parts of its content and the thumbnail images on this site. None (if any) dangerous scripts on the referenced page will be executed. Additionally, if the selected site contains subpages, you can verify it (review) in batches containing 5 pages.
favicon.ico: trigger.dev/docs/guides/frameworks/nango - Nango OAuth with Trigger.dev -.

site address: trigger.dev/docs/guides/frameworks/nango redirected to: trigger.dev/docs/guides/frameworks/nango

site title: Nango OAuth with Trigger.dev - Trigger.dev

Our opinion (on Tuesday 21 July 2026 23:25:41 UTC):

GREEN status (no comments) - no comments
After content analysis of this website we propose the following hashtags:



Meta tags:
description=Use Nango to authenticate API calls inside a Trigger.dev task, no token management required.;

Headings (most frequently used words):

the, nango, trigger, dev, step, github, in, create, guides, it, connect, task, example, oauth, with, documentation, index, prerequisites, how, works, api, route, set, environment, variables, test, next, steps, on, this, page, introduction, frameworks, migration, use, cases, projects, python, tasks, community, packages, integration, add, frontend, sdk, start, your, servers, and, watch, run,

Text of the page (most frequently used words):
the (39), nango (35), trigger (29), dev (28), #github (23), from (22), your (22), const (21), api (19), json (17), task (16), and (15), connectionid (14), await (14), response (12), token (12), prs (12), page (11), sdk (11), claude (10), error (10), with (10), for (9), user (9), repo (9), this (8), open (8), next (8), step (8), create (8), use (8), frontend (8), add (8), oauth (8), anthropic (8), return (8), image (8), status (7), analyze (7), nextresponse (7), import (7), content (7), type (7), route (6), connect (6), dashboard (6), text (6), string (6), new (6), fetch (6), integration (6), userid (6), guides (6), works (5), guide (5), summary (5), post (5), that (5), body (5), connection (5), session (5), documentation (4), how (4), environment (4), you (4), database (4), realtime (4), any (4), automatically (4), behalf (4), app (4), nango_secret_key (4), env (4), req (4), function (4), async (4), export (4), what (4), application (4), headers (4), credentials (4), slug (4), nangohq (4), install (4), triggerdotdev (4), data (4), search (4), copy (4), processing (4), agents (4), generator (4), agent (4), are (3), using (3), home (3), test (3), set (3), variables (3), will (3), tasks (3), sequin (3), triggers (3), handle (3), fresh (3), summarize (3), required (3), run (3), npm (3), project (3), inside (3), analyzeprs (3), message (3), being (3), worked (3), pull (3), requests (3), number (3), access (3), process (3), node (3), button (3), result (3), stringify (3), method (3), vercel (3), supabase (3), generation (3), pdf (3), openai (3), fal (3), generated (2), assistant (2), linkedin (2), product (2), changelog (2), steps (2), prerequisites (2), stream (2), pattern (2), other (2), provider (2), notion (2), slack (2), hubspot (2), retries (2), their (2), pass (2), need (2), authenticate (2), storage (2), refresh (2), see (2), click (2), complete (2), flow (2), anthropic_api_key (2), console (2), key (2), file (2), 400 (2), missing (2), request (2), server (2), receives (2), length (2), prcount (2), prlist (2), messages (2), title (2), login (2), throw (2), accesstoken (2), bearer (2), authorization (2), https (2), call (2), exact (2), started (2), handles (2), payload (2), packages (2), connectgithub (2), sessionres (2), get (2), short (2), lived (2), backend (2), fetches (2), calls (2), apis (2), sveltekit (2), puppeteer (2), images (2), email (2), react (2), example (2), web (2), docs (2), python (2), prisma (2), media (2), overview (2), migrating (2), setup (2), index (2), responses, may, contain, mistakes, built, hosted, mintlify, developer, platform, powered, terms, service, privacy, careers, contact, blog, company, uptime, faqs, roadmap, features, pricing, oss, friends, source, contributing, developers, show, changes, previous, yes, was, helpful, back, analysis, same, supported, change, switch, providers, returns, transient, once, has, connected, store, future, payloads, reuse, now, fetching, calling, logic, navigate, execute, count, output, runs, watch, triggered, latest, npx, start, servers, too, these, used, runtime, keys, trigger_secret_key, secret, following, local, handler, give, concise, grouped, theme, where, possible, here, role, 1024, max_tokens, opus, model, join, 200, slice, null, map, found, statustext, vnd, accept, pulls, state, per_page, com, repos, access_token, unexpected, oauth2, getconnection, getting, secretkey, onclick, auth, connectsessiontoken, replace, actual, user_123, default, client, tsx, then, opens, end_user, sessions, invalid, typeof, requires, issued, creates, select, integrations, account, installed, supports, swap, uses, retrieve, build, 250, storing, refreshing, tokens, makes, natural, fit, third, party, users, management, navigation, ask, rate, limiter, fatima, dotenvx, community, sync, vars, upload, operations, sharp, sentry, tracking, browserbase, satori, resend, sequence, replicate, retrying, libreoffice, conversion, lightpanda, firecrawl, url, crawl, ffmpeg, video, cartoon, deepgram, audio, transcription, dall, extract, form, pdfs, headless, crawler, convert, markdown, guardrails, deep, research, turborepo, monorepo, smart, spreadsheet, gen, csv, importer, typescript, playground, meme, mastra, memory, human, loop, workflow, cursor, background, clickhouse, chat, thinking, chatbot, wiki, batch, llm, evaluator, anchor, browser, scraper, projects, marketing, etl, cases, n8n, mergent, migration, webhooks, drizzle, remix, bun, frameworks, introduction, great, way, examples, skip, main, discover, all, available, pages, before, exploring, further, llms, txt,


Text of the page (random words):
nango oauth with trigger dev trigger dev documentation index fetch the complete documentation index at docs llms txt use this file to discover all available pages before exploring further skip to main content trigger dev home page search k guides examples a great way to get started introduction overview frameworks bun next js node js remix sveltekit guides ai agents claude agent sdk drizzle setup guide prisma setup guide nango oauth guide sequin database triggers supabase webhooks migration guides migrating from mergent migrating from n8n use cases overview data processing etl ai media generation media processing marketing example projects anchor browser web scraper batch llm evaluator claude changelog generator claude github wiki claude thinking chatbot clickhouse chat agent cursor background agent human in the loop workflow mastra agents with memory ai meme generator openai agents sdk for typescript playground product image generator realtime csv importer realtime image gen with fal ai smart spreadsheet turborepo monorepo with prisma deep research agent vercel ai sdk image generator python guides openai agents sdk for python guardrails process images convert docs to markdown headless web crawler extract form data from pdfs example tasks dall e image generation deepgram audio transcription fal ai image to cartoon fal ai with realtime ffmpeg video processing firecrawl url crawl lightpanda v4 libreoffice pdf conversion openai with retrying pdf to image puppeteer react to pdf react email replicate image generation resend email sequence satori og images browserbase puppeteer sentry error tracking sharp image processing supabase database operations supabase storage upload vercel ai sdk vercel sync env vars community packages dotenvx fatima rate limiter sveltekit triggerdotdev trigger dev trigger dev home page search k ask assistant triggerdotdev trigger dev triggerdotdev trigger dev search navigation guides nango oauth with trigger dev guides nango oauth with trigger dev copy page copy page use nango to authenticate api calls inside a trigger dev task no token management required copy page copy page nango handles oauth for 250 apis storing and automatically refreshing access tokens on your behalf this makes it a natural fit for trigger dev tasks that need to call third party apis on behalf of your users in this guide you ll build a task that receives a nango connectionid from your frontend fetches a fresh github access token from nango inside the task calls the github api to retrieve the user s open pull requests uses claude to summarize what s being worked on this pattern works for any api nango supports swap github for hubspot slack notion or any other provider prerequisites a next js project with trigger dev installed a nango account an anthropic api key how it works step 1 connect github in nango 1 create a github integration in nango in your nango dashboard go to integrations and click set up new integration search for github and select github user oauth create and add a test connection 2 add the nango frontend sdk install the nango frontend sdk in your next js project npm install nangohq frontend the frontend sdk requires a short lived connect session token issued by your backend add an api route that creates the session app api nango session route ts import nextresponse from next server export async function post req request const userid await req json if userid typeof userid string return nextresponse json error missing or invalid userid status 400 const response await fetch https api nango dev connect sessions method post headers authorization bearer process env nango_secret_key content type application json body json stringify end_user id userid if response ok const text await response text console error nango error response status text return nextresponse json error text status response status const data await response json return nextresponse json token data token then add a connect button to your ui that fetches the token and opens the nango oauth flow app page tsx use client import nango from nangohq frontend export default function page async function connectgithub get a short lived session token from your backend const sessionres await fetch api nango session method post headers content type application json body json stringify userid user_123 replace with your actual user id const token await sessionres json const nango new nango connectsessiontoken token use the exact integration slug from your nango dashboard const result await nango auth your integration slug result connectionid is what you pass to your task await fetch api analyze prs method post headers content type application json body json stringify connectionid result connectionid repo triggerdotdev trigger dev return button onclick connectgithub analyze my prs button step 2 create the trigger dev task install the required packages npm install nangohq node anthropic ai sdk create the task trigger analyze prs ts import task from trigger dev sdk import nango from nangohq node import anthropic from anthropic ai sdk const nango new nango secretkey process env nango_secret_key const anthropic new anthropic export const analyzeprs task id analyze prs run async payload connectionid string repo string const connectionid repo payload fetch a fresh access token from nango it handles refresh automatically use the exact integration slug from your nango dashboard e g github getting started const connection await nango getconnection your integration slug connectionid if connection credentials type oauth2 throw new error unexpected credentials type connection credentials type const accesstoken connection credentials access_token call the github api on behalf of the user const response await fetch https api github com repos repo pulls state open per_page 20 headers authorization bearer accesstoken accept application vnd github v3 json if response ok throw new error github api error response status response statustext const prs await response json if prs length 0 return summary no open pull requests found prcount 0 use claude to summarize what s being worked on const prlist prs map pr number number title string user login string body string null pr number by pr user login pr title n pr body slice 0 200 join n n const message await anthropic messages create model claude opus 4 6 max_tokens 1024 messages role user content here are the open pull requests for repo give a concise summary of what s being worked on grouped by theme where possible n n prlist const summary message content 0 type text message content 0 text return summary prcount prs length step 3 create the api route add a route handler that receives the connectionid from your frontend and triggers the task app api analyze prs route ts import analyzeprs from trigger analyze prs import nextresponse from next server export async function post req request const connectionid repo await req json if connectionid repo return nextresponse json error missing connectionid or repo status 400 const handle await analyzeprs trigger connectionid repo return nextresponse json handle step 4 set environment variables add the following to your env local file nango_secret_key from nango dashboard environment secret key trigger_secret_key from trigger dev dashboard api keys anthropic_api_key from anthropic console add nango_secret_key and anthropic_api_key as environment variables in your trigger dev project too these are used inside the task at runtime test it 1 start your dev servers npm run dev npx trigger dev latest dev 2 connect github and trigger the task open your app click analyze my prs and complete the github oauth flow the task will be triggered automatically 3 watch the run in trigger dev open your trigger dev dashboard and navigate to runs to see the task execute you ll see the pr count and claude s summary in the output your task is now fetching a fresh github token from nango calling the github api on behalf of the user and using claude to summarize their open prs no token storage or refresh logic required next steps reuse the connectionid once a user has connected store their connectionid and pass it in future task payloads no need to re authenticate add retries if the github api returns a transient error trigger dev retries will handle it automatically switch providers the same pattern works for any nango supported api change github to hubspot slack notion or any other provider stream the analysis use trigger dev realtime to stream claude s response back to your frontend as it s generated was this page helpful yes no previous sequin database triggers this guide will show you how to trigger tasks from database changes using sequin next i on this page prerequisites how it works step 1 connect github in nango step 2 create the trigger dev task step 3 create the api route step 4 set environment variables test it next steps trigger dev home page x github linkedin developers changelog contributing open source github oss friends product pricing how it works features roadmap faqs uptime status company blog contact careers privacy terms of service x github linkedin powered by this documentation is built and hosted on mintlify a developer documentation platform assistant responses are generated using ai and may contain mistakes
Thumbnail images (randomly selected): * Images may be subject to copyright.GREEN status (no comments)

    No Images


    Verified site has: 81 subpage(s). Do you want to verify them? Verify pages:

    1-5 6-10 11-15 16-20 21-25 26-30 31-35 36-40 41-45 46-50
    51-55 56-60 61-65 66-70 71-75 76-80 81-81


    The site also has 1 references to other resources (not html/xhtml )

     trigger.dev/docs/llms.txt  Verify


    Top 50 hastags from of all verified websites.

    Supplementary Information (add-on for SEO geeks)*- See more on header.verify-www.com

    Header

    HTTP/1.1 301 Moved Permanently
    Date Tue, 21 Jul 2026 23:25:40 GMT
    Content-Type text/html; charset=UTF-8
    Content-Length 167
    Connection close
    Location htt????/trigger.dev/docs/guides/frameworks/nango
    Server cloudflare
    CF-RAY a1edf7570c903cc1-CDG
    HTTP/2 200
    date Tue, 21 Jul 2026 23:25:40 GMT
    content-type text/html; charset=utf-8
    cf-ray a1edf7574fce3cc8-CDG
    cf-cache-status DYNAMIC
    cache-control no-store, no-cache, must-revalidate, proxy-revalidate, max-age=0
    content-encoding gzip
    expires 0
    link </docs/llms.txt>; rel= llms-txt , </docs/llms-full.txt>; rel= llms-full-txt , </docs/.well-known/api-catalog>; rel= api-catalog , </docs/.well-known/mcp/server-card.json>; rel= mcp-server-card , </docs/.well-known/agent-card.json>; rel= agent-card , </docs/.well-known/agent-skills/index.json>; rel= agent-skills
    server cloudflare
    strict-transport-security max-age=63072000
    vary rsc, next-router-state-tree, next-router-prefetch, next-router-segment-prefetch, accept-encoding
    pragma no-cache
    content-security-policy worker-src * blob: data: unsafe-eval unsafe-inline ; object-src data: ; base-uri self ; upgrade-insecure-requests; frame-ancestors self htt????/dashboard.mintlify.com htt????/app.mintlify.com; form-action self htt????/codesandbox.io;
    x-frame-options DENY
    x-llms-txt /docs/llms.txt
    x-matched-path /_sites/[subdomain]/[[...slug]]
    x-mint-proxy-version 1.0.0-prod
    x-mintlify-client-version 0.0.3298
    x-nextjs-prerender 1
    x-nextjs-stale-time 60
    x-served-version dpl_E5hM3kgxddpQVzngfiKaiyhhVxPt
    x-vercel-cache HIT
    x-vercel-id cdg1:cdg1:fra1::iad1::kv2w6-1784676340433-7b93c74d421e
    x-vercel-project-id prj_ekSYngkqMLMUb1wdarxNSixTj2nj
    x-version dpl_E5hM3kgxddpQVzngfiKaiyhhVxPt

    Meta Tags

    title="Nango OAuth with Trigger.dev - Trigger.dev"
    charset="utf-8"
    name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover"
    name="description" content="Use Nango to authenticate API calls inside a Trigger.dev task, no token management required."
    name="application-name" content="Trigger.dev"
    name="generator" content="Mintlify"
    name="msapplication-config" content="/docs/_mintlify/favicons/trigger/dAMCNvNG7r7-Ozw1/_generated/favicon/browserconfig.xml"
    name="apple-mobile-web-app-title" content="Trigger.dev"
    name="msapplication-TileColor" content="#A8FF53"
    property="og:title" content="Nango OAuth with Trigger.dev - Trigger.dev"
    property="og:description" content="Use Nango to authenticate API calls inside a Trigger.dev task, no token management required."
    property="og:url" content="htt????/trigger.dev/docs/guides/frameworks/nango"
    property="og:site_name" content="Trigger.dev"
    property="og:image" content="htt????/trigger.mintlify.app/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DGuides%26appearance%3Ddark%26title%3DNango%2BOAuth%2Bwith%2BTrigger.dev%26description%3DUse%2BNango%2Bto%2Bauthenticate%2BAPI%2Bcalls%2Binside%2Ba%2BTrigger.dev%2Btask%252C%2Bno%2Btoken%2Bmanagement%2Brequired.%26logoLight%3Dhttps%253A%252F%252Fmintlify.s3.us-west-1.amazonaws.com%252Ftrigger%252Flogo%252Flight.png%26logoDark%3Dhttps%253A%252F%252Fmintcdn.com%252Ftrigger%252F0bD0UfsjaINxS6Tw%252Flogo%252Fdark.png%253Ffit%253Dmax%2526auto%253Dformat%2526n%253D0bD0UfsjaINxS6Tw%2526q%253D85%2526s%253D42d177f642319662a1d62d66af79e168%26primaryColor%3D%2523A8FF53%26lightColor%3D%2523A8FF53%26backgroundLight%3D%2523fff%26backgroundDark%3D%2523121317&w=1200&q=100"
    property="og:image:width" content="1200"
    property="og:image:height" content="630"
    property="og:type" content="website"
    name="twitter:card" content="summary_large_image"
    name="twitter:title" content="Nango OAuth with Trigger.dev - Trigger.dev"
    name="twitter:description" content="Use Nango to authenticate API calls inside a Trigger.dev task, no token management required."
    name="twitter:image" content="htt????/trigger.mintlify.app/_next/image?url=%2F_mintlify%2Fapi%2Fog%3Fdivision%3DGuides%26appearance%3Ddark%26title%3DNango%2BOAuth%2Bwith%2BTrigger.dev%26description%3DUse%2BNango%2Bto%2Bauthenticate%2BAPI%2Bcalls%2Binside%2Ba%2BTrigger.dev%2Btask%252C%2Bno%2Btoken%2Bmanagement%2Brequired.%26logoLight%3Dhttps%253A%252F%252Fmintlify.s3.us-west-1.amazonaws.com%252Ftrigger%252Flogo%252Flight.png%26logoDark%3Dhttps%253A%252F%252Fmintcdn.com%252Ftrigger%252F0bD0UfsjaINxS6Tw%252Flogo%252Fdark.png%253Ffit%253Dmax%2526auto%253Dformat%2526n%253D0bD0UfsjaINxS6Tw%2526q%253D85%2526s%253D42d177f642319662a1d62d66af79e168%26primaryColor%3D%2523A8FF53%26lightColor%3D%2523A8FF53%26backgroundLight%3D%2523fff%26backgroundDark%3D%2523121317&w=1200&q=100"
    name="twitter:image:width" content="1200"
    name="twitter:image:height" content="630"

    Load Info

    page size83580
    load time (s)0.554307
    redirect count1
    speed download150866
    server IP 104.20.22.37
    * all occurrences of the string "http://" have been changed to "htt???/"