defineHttpEndpoint()
const caldotcom = client.defineHttpEndpoint({
//this should be unique inside your project
id: "cal.com",
//usually you'd use the domain name of the service
source: "cal.com",
//the icon is optional, it displays in the dashboard
icon: "caldotcom",
//this function is called when a webhook is received
verify: async (request) => {
//this is a useful helper function that can verify sha256 signatures
//each API has a different header name
return await verifyRequestSignature({
request,
//you can find the header name in the API's documentation
headerName: "X-Cal-Signature-256",
//you can find the secret in the Trigger.dev dashboard, on the HTTP endpoint page
secret: process.env.CALDOTCOM_SECRET!,
algorithm: "sha256",
});
},
});
An HTTP endpoint allows you to create an HTTP Trigger, which means you can trigger your Jobs from any webhooks.
Parameters
The options for the HTTP endpoint.
Used to uniquely identify the HTTP Endpoint inside your Project.
Usually you would use the domain name of the service, e.g. cal.com
.
An optional icon name that’s displayed in the dashboard. Lots of company names are supported, e.g. github
, twilio
. You can also reference the name of any Tabler icon, e.g. brand-google-maps
, brand-twitch
.
An optional title, displayed in the dashboard.
Used to provide example payloads that are accepted by the job.
This will be available in the dashboard and can be used to trigger test runs.
Properties that are displayed in the logs.
Each property has the following fields:
This is compulsory, and is used to verify that the received webhook is authentic. It’s a function that expects you to return a result object like:
//if it's valid
return { success: true }
//if it's invalid, reason is optional
return { success: false, reason: "No header" }
In 90% of cases, you’ll want to use the verifyRequestSignature
helper function we provide.
This optional object allows you to immediately Respond to a Request. This is useful for some APIs where they do a GET
Request when the webhook is first setup and expect a specific Response.
Only use this if you really need to Respond to the Request that comes in. Most of the time you don’t.
Returns
The HTTP Endpoint that was created. You should assign this to a variable, as you’ll need it to create an HTTP Trigger.
Was this page helpful?
const caldotcom = client.defineHttpEndpoint({
//this should be unique inside your project
id: "cal.com",
//usually you'd use the domain name of the service
source: "cal.com",
//the icon is optional, it displays in the dashboard
icon: "caldotcom",
//this function is called when a webhook is received
verify: async (request) => {
//this is a useful helper function that can verify sha256 signatures
//each API has a different header name
return await verifyRequestSignature({
request,
//you can find the header name in the API's documentation
headerName: "X-Cal-Signature-256",
//you can find the secret in the Trigger.dev dashboard, on the HTTP endpoint page
secret: process.env.CALDOTCOM_SECRET!,
algorithm: "sha256",
});
},
});