Files
triggerdotdev--trigger.dev/docs/mint.json
T
Matt Aitken ecd050bece Airtable integration with webhook and integration changes (#399)
* CLI create-integration command now accepts an Open AI api key

* Create integration docs separated into multiple pages

* Initial Airtable integration commit, with OpenAI generated code

* OAuth page coming soon

* Export DisplayProperty from the SDK

* TSConfig made to match GitHub’s with paths

* getRecords

* Removed duplicate Stripe job from the catalog

* Renamed Airtable apiKey option to token

* First Airtable job

* Export Collaborator and Attachment field types

* A typesafe example that uses runTask

* WIP on new integration tasks… not working yet

* Attempt with class

* Revert "Attempt with class"

This reverts commit 93a48330019f754c3216c5b49964fa4b0218bd3f.

* WIP changing how tasks work

* Mock of async local storage

* Moved client creation from constructor

* New approach with a clone method on TriggerIntegration

* Added runTask to Airtable which is used by integration tasks

* Added the Airtable icon and connection when using runTask

* base().table() is working

* runTask options moved to the 3rd param, made optional with optional name

* Added some generic arguments

* Added generic type to table

* Removed old comment

* We don’t need to repeat the icon

* getRecords and getRecord now returning the right data and types

* Creating records

* Update records

* Delete records

* The internal properties of integrations are now hidden by the TypeScript types

* Sprinkled a Prettify in there

* Improved the types

* Added Airtable to the integration catalog

* Early work on Airtable webhook registration

* More progress with webhooks

* connectionKey needs to be cloned for webhooks to work

* connectionKey needs to be cloned for webhooks to work

* It was unclear that the ActivateSourceService was using a graphileJob id

* ActivateSourceService optionally takes a jobId, if missing it generate a unique id

* When retrying trigger registration, don’t pass an id so it is generated

* Removed Airtable webhooks tasks from the job-catalog example

* Added TriggerSourceOption, removed TriggerSourceEvent

* WIP with new ExternalSource options

* ExternalSourceTrigger setup

* DynamicTrigger changed to options, will need some more work

* filter gets options passed to it

* SourceMetadata v2 renamed to SourceMetadataV2, kept original

* Started versioning the backend

* Moved param order on io.getEvent and io.cancelEvent

* The runTask stuff that allows unknown to work is back

* Indexing for v1 and v2, with version on “activateSource” schema

* Added todos, to deal with Airtable SDK calls inside the webhook handler

* “deliverHttpSourceRequest” queueName changed to the source id so they process in order

* ActivateSource changes to deal with old and new data formats

* Update existing TriggerSources to v2

* Fix for dynamic.ts typescript errors, need to revisit this later

* UpdateSourceService v1 and v2, with new v2 API endpoint

* Removed unused imports

* More progress on v1 and v2

* Airtable webhooks are now triggering a job

* Moved webhooks to a new file

* You can do API calls in the webhook handler now, Airtable webhook data is being processed

* Airtable events coming through

* Defined the Airtable table payload type

* TriggerSource metadata is being stored and used

* Removed some logs

* Added filtering and don’t allow any webhooks that use automated sources

* Resend switched to new integration

* Moved Resend test jobs to the catalog, and tested it worked

* WIP on Slack, there are compile errors

* Created a generic type that strips out indexes

* Slack updated to use new integration

* SendGrid migrated over

* Integration runTask is now allowing regular types

* Changed io.runTask types so it only allows Json-able types

* OpenAI models tasks working

* Added Airtable changes to runTask

* Removed the index signature crap from the Slack integration

* Don’t need to cast the callback result

* Updated Resend

* Re-ordered runTask params

* WIP on openai

* onAccountUpdated is Connect only

* Removed RunTaskResult

* Handle Resend errors, the official SDK doesn’t expose them properly at the moment

* Removed OmitIndexSignature

* OpenAI converted to new integration, with backwards compatible functions

* Put the openai catalog back to what it was originally

* Export a standard retry with backoff, to be used

* Use the standard exponential backoff in the integrations

* Retry options moved earlier so they can be overriden by a task

* GitHub tasks migrated

* Added sources, fixed one bundling issue

* Added GitHub jobs to catalog

* Remove duplicate options

* Deduplicate events

* Removed duplicate Job

* Switched Plain over

* Set the Plain icon

* Converted Stripe over

* Supabase adapted

* Typeform working

* Added dynamic-schedule to catalog

* Added background-fetch job catalog

* Created dynamic-triggers catalog file

* Fixed old general file with runTask param order

* Dynamic triggers working

* SendGrid updated to use the same tsconfig as other integrations

* Removed Airtable webhook, until we have batch support

* Added OAuth airtable auth example

* Created beta changeset tag

* Beta changesets for most packages

---------

Co-authored-by: Eric Allam <eallam@icloud.com>
2023-09-05 14:21:42 +01:00

342 lines
8.9 KiB
JSON

{
"$schema": "https://mintlify.com/schema.json",
"name": "Trigger.dev",
"logo": {
"dark": "/logo/dark.png",
"light": "/logo/light.png",
"href": "https://trigger.dev"
},
"favicon": "/images/favicon.png",
"colors": {
"primary": "#818cf8",
"light": "#818cf8",
"dark": "#818cf8",
"anchors": {
"from": "#fff",
"to": "#eee"
}
},
"backgroundImage": "/images/docs-background.png",
"modeToggle": {
"default": "dark",
"isHidden": true
},
"feedback": {
"suggestEdit": true,
"raiseIssue": true,
"thumbsRating": true
},
"topbarCtaButton": {
"type": "github",
"url": "https://github.com/triggerdotdev/trigger.dev"
},
"topbarLinks": [
{
"name": "Community",
"url": "https://discord.gg/kA47vcd8P6"
}
],
"tabs": [
{
"name": "Integrations",
"url": "integrations"
},
{
"name": "Reference",
"url": "sdk"
},
{
"name": "Example Jobs",
"url": "examples"
}
],
"redirects": [
{
"source": "/documentation/quickstart",
"destination": "/documentation/quickstarts/nextjs"
}
],
"navigation": [
{
"group": "Getting Started",
"pages": [
"documentation/introduction",
{
"group": "Quick Starts",
"pages": [
"documentation/quickstarts/nextjs",
"documentation/quickstarts/supabase"
]
},
"documentation/guides/create-a-job",
"documentation/guides/video-walkthrough"
]
},
{
"group": "Concepts",
"pages": [
"documentation/concepts/what-is-triggerdotdev",
"documentation/concepts/limitations",
"documentation/concepts/projects",
"documentation/concepts/client-adaptors",
{
"group": "Jobs, Runs & Tasks",
"pages": [
"documentation/concepts/jobs",
"documentation/concepts/runs",
"documentation/concepts/tasks"
]
},
{
"group": "Triggers",
"pages": [
"documentation/concepts/triggers/introduction",
"documentation/concepts/triggers/webhooks",
"documentation/concepts/triggers/events",
"documentation/concepts/triggers/scheduled",
"documentation/concepts/triggers/dynamic"
]
},
"documentation/concepts/resumability",
"documentation/concepts/delays",
"documentation/concepts/integrations",
"documentation/concepts/connect",
"documentation/concepts/environments-endpoints"
]
},
{
"group": "Guides",
"pages": [
{
"group": "Platforms",
"pages": [
"documentation/guides/platforms/nextjs",
"documentation/guides/platforms/express"
]
},
"documentation/guides/cli",
"documentation/guides/manual",
"documentation/guides/running-jobs",
"documentation/guides/jobs/managing",
{
"group": "Using the Dashboard",
"pages": [
"documentation/guides/managing-jobs",
"documentation/guides/viewing-runs",
"documentation/guides/testing-jobs",
"documentation/guides/rerunning"
]
},
{
"group": "Using integrations",
"pages": [
"documentation/guides/using-integrations",
"documentation/guides/using-integrations-apikeys",
"documentation/guides/using-integrations-oauth"
]
},
"documentation/guides/react-hooks",
{
"group": "Deployment",
"pages": [
"documentation/guides/deployment",
"documentation/guides/deployment-setup",
"documentation/guides/deployment-manual",
"documentation/guides/deployment-automatic"
]
},
"documentation/guides/event-filter",
"documentation/guides/zod",
{
"group": "Self hosting",
"pages": [
"documentation/guides/self-hosting",
"documentation/guides/self-hosting/flyio",
"documentation/guides/self-hosting/render",
"documentation/guides/self-hosting/supabase",
"documentation/guides/tunneling-platform"
]
},
"documentation/guides/contributing"
]
},
{
"group": "Community & Support",
"pages": [
"documentation/get-help",
"documentation/faq",
"documentation/changelog",
"documentation/roadmap"
]
},
{
"group": "Overview",
"pages": [
"integrations/introduction",
{
"group": "Create an Integration",
"pages": [
"integrations/create",
"integrations/create-setup",
"integrations/create-anatomy",
"integrations/create-oauth",
"integrations/create-client",
"integrations/create-tasks",
"integrations/create-triggers",
"integrations/create-publishing"
]
}
]
},
{
"group": "Integrations",
"pages": [
{
"group": "GitHub",
"pages": [
"integrations/apis/github",
"integrations/apis/github-triggers",
"integrations/apis/github-tasks"
]
},
{
"group": "OpenAI",
"pages": [
"integrations/apis/openai"
]
},
"integrations/apis/stripe",
"integrations/apis/plain",
{
"group": "Resend",
"pages": [
"integrations/apis/resend"
]
},
{
"group": "SendGrid",
"pages": [
"integrations/apis/sendgrid"
]
},
{
"group": "Slack",
"pages": [
"integrations/apis/slack"
]
},
{
"group": "Supabase",
"pages": [
"integrations/apis/supabase/introduction",
"integrations/apis/supabase/management",
"integrations/apis/supabase/client"
]
},
"integrations/apis/typeform"
]
},
{
"group": "SDK",
"pages": [
"sdk/introduction",
{
"group": "TriggerClient",
"pages": [
"sdk/triggerclient/overview",
"sdk/triggerclient/constructor",
{
"group": "Instance methods",
"pages": [
"sdk/triggerclient/instancemethods/sendevent",
"sdk/triggerclient/instancemethods/getevent",
"sdk/triggerclient/instancemethods/getruns",
"sdk/triggerclient/instancemethods/getrun"
]
}
]
},
"sdk/job",
{
"group": "IO",
"pages": [
"sdk/io/overview",
"sdk/io/logger",
"sdk/io/wait",
"sdk/io/sendevent",
"sdk/io/runtask",
"sdk/io/try",
"sdk/io/backgroundfetch",
"sdk/io/registerinterval",
"sdk/io/unregisterinterval",
"sdk/io/registercron",
"sdk/io/unregistercron",
"sdk/io/registertrigger"
]
},
"sdk/context",
"sdk/eventtrigger",
"sdk/crontrigger",
"sdk/intervaltrigger",
{
"group": "DynamicTrigger",
"pages": [
"sdk/dynamictrigger/overview",
"sdk/dynamictrigger/constructor",
{
"group": "Instance methods",
"pages": [
"sdk/dynamictrigger/register",
"sdk/dynamictrigger/unregister"
]
}
]
},
{
"group": "DynamicSchedule",
"pages": [
"sdk/dynamicschedule/overview",
"sdk/dynamicschedule/constructor",
{
"group": "Instance methods",
"pages": [
"sdk/dynamicschedule/register",
"sdk/dynamicschedule/unregister"
]
}
]
},
"sdk/connection-auth",
"sdk/istriggererror",
"sdk/redactstring"
]
},
{
"group": "React SDK",
"pages": [
"sdk/react/introduction",
"sdk/react/triggerprovider",
"sdk/react/useeventdetails",
"sdk/react/useeventrundetails",
"sdk/react/userundetails"
]
},
{
"group": "Overview",
"pages": [
"examples/introduction",
"examples/examples-repository"
]
}
],
"footerSocials": {
"twitter": "https://twitter.com/triggerdotdev",
"github": "https://github.com/triggerdotdev",
"linkedin": "https://www.linkedin.com/company/triggerdotdev"
},
"analytics": {
"posthog": {
"apiKey": "phc_hwYmedO564b3Ik8nhA4Csrb5SueY0EwFJWCbseGwWW"
}
}
}