All Collections
Hosting
Webhook Integrations
Webhook Integrations

Send the contents of your project to a specified endpoint. Add the content to your CMS or distribute it to a network

Diego Muralles avatar
Written by Diego Muralles
Updated over a week ago

Webhooks can be used to automatically publish the website when you have finished building your Vev project. We can trigger a webhook, which is essentially an HTTP POST request containing the relevant data needed to publish your Vev project. This webhook is sent to a webhook receiver, which could be another application or service that is responsible for handling the publishing process. The webhook receiver would then process the webhook data, which could include the HTML, CSS, and JavaScript files needed to publish the website. The receiver would then use this data to publish the website to your desired location, such as a web server or a content delivery network (CDN).

Once the webhook is set up, the publishing process can be automated, reducing the time and effort required to publish the website manually.

Our webhook integration is straightforward and requires the user's service to respond with a 2xx code; any other response codes will be considered an error. The requests have a 20-second timeout.

βž• Adding a Webhook trigger to your account

  • In the dashboard, click the User tab on the bottom left corner

  • Select Hosting

  • Click on Add domain

  • Enter your domain or sub-domain (e.g www.mywebsite.com)

  • Select Advanced hosting option

  • Choose Webhook trigger from the list

  • Within Access options, toggle if you want to share your domain across your team. It'll be off by default making it only available for you

  • Click on Add domain

βš™οΈ Setting up a Webhook trigger

You'll need to supply a number of parameters to properly connect your Webhook trigger, some of them are optional depending on how your server is set up.

Have a look at the chart below to understand how each parameter works.

Parameter

Required

Description

Webhook URL

Yes

The address where Vev will send the contents when you publish from Vev. If you do not have a server/endpoint available, you can use a tunneling service such as Ngrok to send contents to your local computer.

Page content to send in addition to body

No

Send full page: Check off if you want Vev to generate the full page (<html /> and all). Without this setting on, only the HTML to render the content will be sent.

Send plugin settings: Add the generated data from the Hosting Plugins of your project and attach them as a JSON attribute.

Ping

No

Check off to grant Vev permission to send pings

Unpublish

No

Check off to grant Vev permission to unpublish the content

Adding a Web Path

You can add a Path to your domain at the core level, which means it will be used as a base path in all projects to which the domain is added. Follow the steps below to learn how to do it.

  • In the dashboard, click the User tab on the bottom left corner

  • Select Hosting

  • Select your domain

  • Enter your path in the Web path field

Payload settings (closed beta)

If you encounter publishing issues regarding payload too large, then Content as links might be the right solution for you. Selecting the Content as links option will send a list of HTML files, instead of having the code included in the payload's pages field. This requires the files to be downloaded from the receiving server which requires some more code, but it also allows for much larger projects and smaller payload sizes. URLs to the files required are placed in the field htmlFiles in the form of an array of strings, and items in pages will no longer have the page field.

Please contact our support team, if you want to use this feature.

Signature

The token is set by you and can be anything; it is used to verify that the content is sent from Vev. To see or generate a Secret for your webhook, go to the Hosting overview and click on Generate token. This string of characters is used in the Webhook server code.

When publishing to a Webhook all requests from Vev is signed with a header X-Vev-Signature for clients to verify that Vev is the actual sender. In order to verify the signature from the request, you need the secret set by you in Vev and a crypto library to create HMAC digests.

X-Vev-Signature value consists of an algorithm to generate a hash and the signature itself, e.g 'sha512=super-long-hashed-value'. For now, we only support sha512 as an algorithm to create a signature. If you use the payload and secret with sha512, you get the same value as the signature.

Endpoint security

It is used to communicate with users' endpoints in the correct way. We support non-secured endpoints, basic, and token-based. OpenID Connect (OIDC) is not supported yet.

Tip: Go to our roadmap and submit your request if you'd like OpenID endpoints to be supported.

Adding a Favicon

Follow the steps below to learn how to add a Favicon to your domain.

  • In the dashboard, click the User tab on the top right corner

  • Select Hosting

  • Select your domain

  • Scroll down to the Favicon section

  • Drag and drop your file or click to upload it from your computer

πŸ“š Publishing to a Webhook trigger

Once your Webhook trigger has been properly set you'll need to add it to your project so that you can publish to it. Read the steps below to learn how to do it.

  • Open the project you want to publish

  • Click the Publish button on the top right corner

  • Select Add publish destination from the publish dialog

  • Choose your domain from the dropdown list

  • Add a path to your domain or leave it blank if you want to publish to its root (the path will only be added at a project level)

  • Hit Add publish destination

  • Open the publish dialog

  • Hit Publish project

πŸ”™ Unpublishing a project

To unpublish your project from your Webhook:

  • In the dashboard, click the User tab on the bottom left corner

  • Click "Hosting"

  • Select your domain

  • Click the "Projects" tab on the left bar

  • If you have published projects, click the three dots next to the project you want to unpublish and click "Unpublish".

The project will no longer appear on the list.

πŸš€ Examples

Explore our Webhook receiver example implementation on our public GitHub repository https://github.com/vevepeter/webhook-reciever.
​
Gain a comprehensive understanding of all Webhook event types, documented for your reference https://github.com/vevepeter/webhook-reciever/blob/master/src/types.ts.

Did this answer your question?