Webhook

Learn the specifics of developing a webhook plugin.

Select the running environment

The first step to develop a new webhook type plugin is to determine what environment is going to be used:

  • Python

  • NodeJS

Create the file structure

Set up a directory structure with the following files

├── src
│   ├── control.py || control.js  
│   ├── function.py || function.js
│   ├── user_code.py || user_code.js
│   ├── view.xml
├── LICENSE
├── README.md
├── manifest.toml 

control, function and user_code scripts

Fill those files with the content that you require according to the table below, then save them.

Script
Executed
Purpose

control

Only once when the plugin is created

Perform one time setup tasks

function

Triggered by webhook

Perform any task

user_code

Triggered by webhook if invoked by function script

Perform any task

view.xml

Populate this file with content based on the form you'd like displayed when creating this plugin.

LICENSE and README.md

Write the contents of the README.md and LICENSE and files.

manifest.toml

According to the webhook section within the Private Plugins page, the manifest.toml should look like:

manifest_version = 2.0
 
[settings] 
version = "1.0.56" 
runtime = "nodejs:20" | "python:3.11" 
plugin_type = "webhook" 
license_name = "MIT license" 

[settings.webhook]
default_http_method = "POST" | "GET"
allowed_http_methods =  ["POST", "GET"]

[pricing]
price = 0

Compressing the files

Compress the files in zip format from the root of the file structure, not the parent folder.

Last updated