trigger.dev
Open in
urlscan Pro
2a06:98c1:3121::c
Public Scan
Submitted URL: http://trigger.dev/
Effective URL: https://trigger.dev/
Submission: On December 29 via api from US — Scanned from NL
Effective URL: https://trigger.dev/
Submission: On December 29 via api from US — Scanned from NL
Form analysis
0 forms found in the DOMText Content
Pricing Join the waitlist AUTOMATE COMPLEX WORKFLOWS WITH CODE Trigger workflows from APIs, on a schedule, or on demand. API calls are easy with authentication handled for you. Add durable delays that survive server restarts. Join the waitlist→ * We are open source, now and forever. BACKED BY DEVELOPER-FIRST FEATURES IN YOUR CODEBASE Trigger.dev is code-first so you can create workflows where they belong: in your codebase. Version control, localhost, test, review, and deploy like you're used to. SECURE BY DESIGN Your workflows run on your servers, not ours. We only receive the data you choose to send to us. HUNDREDS OF INTEGRATIONS Subscribe to API changes and make requests, we’ll handle authentication for you. EXAMPLE WORKFLOWS SYNC GITHUB ISSUES TO LINEAR Triggered when a GitHub issue is created or updated. Query your database to map GitHub user ids to Linear user ids. Then create or update Linear issues. SEND EMAILS TO NEW USERS Triggered on demand by your other code when a user is created. We wait for 3 hours then send a follow-up email if the user hasn’t completed onboarding yet. ESCALATE CRITICAL INCIDENTS Triggered when an Intercom incident happens. We create a Linear issue, send a Slack message and, if it’s an urgent incident, we alert whoever is on call. Triggered when a GitHub issue is created or updated. Query your database to map GitHub user ids to Linear user ids. Then create or update Linear issues. SYNC GITHUB ISSUES TO LINEAR import { Trigger, github, linear } from "@trigger.dev/sdk"; new Trigger({ name: "Sync Github issues to Linear", on: github.issueEvent({ repo: "acme/website", }), run: async (event, ctx) => { const { issue, action } = event; // Find the user in our local database const assignee = await findUserByGithubId(issue.assignee?.id); if (action === "opened") { await linear.issueCreate({ id: issue.id, title: issue.title, description: issue.body, assigneeId: assignee?.linearId, teamId: ctx.env.LINEAR_TEAM_ID, }); } else { await linear.issueUpdate(issue.id, { assigneeId: assignee?.linearId, stateId: action === "closed" ? ctx.env.LINEAR_CLOSED_STATE_ID : ctx.env.LINEAR_OPEN_STATE_ID, }); } }, }).listen(); Triggered on demand by your other code when a user is created. We wait for 3 hours then send a follow-up email if the user hasn’t completed onboarding yet. SEND EMAIL TO NEW USERS import { Trigger, customEvent, slack, mailgun } from "@trigger.dev/sdk"; new Trigger({ name: "Send Email to New Users", on: customEvent<UserEvent>({ name: "user.created" }), run: async (event, ctx) => { // Wait for 3 hours before continuing await ctx.waitFor({ hours: 3 }); // Lookup user in the database const user = await findUserById(event.id); // only send email if user has not onboarded if (!user.hasOnboarded) { await mailgun.send({ to: user.email, subject: "Welcome to our app!", body: `Welcome to our app ${user.name}!}`, }); await slack.sendMessage({ text: `Welcome email sent to ${user.email}`, }); } else { await slack.sendMessage({ text: `User ${user.email} has already onboarded`, }); } }, }).listen(); Triggered when an Intercom incident happens. We create a Linear issue, send a Slack message and, if it’s an urgent incident, we alert whoever is on call. ESCALATE CRITICAL INCIDENTS import { Trigger, intercom, linear, slack, pagerduty } from "@trigger.dev/sdk"; new Trigger({ name: "Intercom Incident", on: intercom.newIncident(), run: async (event, ctx) => { // Find the customer in the database const customer = await db.query("SELECT * FROM users WHERE email = $1", [ event.email, ]); // Create linear ticket const ticket = await linear.issueCreate({ title: event.title, description: event.description, assigneeId: ctx.env.LINEAR_ASSIGNEE_ID, teamId: ctx.env.LINEAR_TEAM_ID, }); // notify account manager await slack.sendMessage({ text: `New incident for ${customer.name} in Linear: ${ticket.url}`, }); if (event.severity === "urgent") { // Create a pagerduty incident await pagerduty.createIncident({ title: event.title, description: event.description, severity: "critical", serviceId: ctx.env.PAGERDUTY_SERVICE_ID, }); } }, }).listen(); TRIGGER HAPPY Install our SDK and get instant access to an arsenal of triggers you can use in your code. WEBHOOKS Subscribe to webhooks without creating API endpoints. Plus they work locally without tunneling. github.issueEvent({ repo: "acme/website" }) SCHEDULED (CRON) Easily subscribe to a recurring schedule using human readable code or CRON syntax. scheduleEvent({ every: { minutes: 30 } }) CUSTOM EVENTS Trigger workflows from any event in your app. Send us your events, and we'll do the rest. customEvent<YourType>({ name: "your.event" }) HTTP ENDPOINT Expose a HTTP endpoint to trigger your workflows with the method and path of your choice. httpEvent<User>({ method: "POST", path: "/users/:id" }) RECEIVE EMAILS Receive emails from your custom domain and trigger a workflow with the email metadata and content. emailEvent({ address: "support@help.customdomain.io" }) AWS EVENT BRIDGE Integrate with AWS Event Bridge to trigger workflows on your own Event Bridge events. eventBridge<SupportRequest>({ bus: "customer-support" }) BATTERIES INCLUDED DEBUGGING AND VISIBILITY We provide a full history of all runs, so you can see exactly what happened. SURVIVES DOWNTIME Workflows pick up where they left off when your server or external APIs go down. GO FROM IDEA TO PRODUCTION IN MINUTES 1 Code Write workflows by creating triggers directly in your code. These can be 3rd-party integrations, custom events or on a schedule. 2 Connect When your server runs, your workflow will be registered and you can authenticate with any APIs you’re using. 3 Test Test your workflow by triggering manually in your dashboard. Follow it as it runs step-by-step. 4 Deploy Deploy your new workflow as you would any other code commit and inspect each workflow run in real time. WE ❤️ OPEN SOURCE! You’ll always be able to host and run Trigger.dev yourself. Coming soon We've also created JSON Hero, an open source JSON viewer used by around 55,000 developers per month. FREQUENTLY ASKED QUESTIONS Does my data get sent to your servers? How is this different to Zapier, Pipedream etc? How long does this take to set up? Can I use version control or roll-backs? How long does it take to code up a workflow? Do you have all the integrations I need? Can I build complex workflows? Can I run Trigger.dev locally? How does the pricing model work? Is Trigger.dev open source? Is Trigger.dev a no/low-code tool? What languages / frameworks do you support? Can I use an API which doesn’t have webhooks? Can non-coders use this product? If you have any other questions about Trigger.dev, drop us an email at hello@trigger.dev, and one of the founders will get back to you. SKIP THE LINE! Sign up for early access to the private beta. Join the waitlist→ PRODUCT Pricing CONTACT Get in touchTwitterSchedule a call Copyright © 2022 Trigger.dev. All rights reserved. From the makers of JSON Hero.