diff --git a/packages/backend/src/routes/webhooks.ts b/packages/backend/src/routes/webhooks.ts
index ca040cc0..e43aba1a 100644
--- a/packages/backend/src/routes/webhooks.ts
+++ b/packages/backend/src/routes/webhooks.ts
@@ -5,6 +5,7 @@ const router = Router();
router.get('/:flowId', webhookHandler);
router.put('/:flowId', webhookHandler);
+router.patch('/:flowId', webhookHandler);
router.post('/:flowId', webhookHandler);
export default router;
diff --git a/packages/docs/pages/.vitepress/config.js b/packages/docs/pages/.vitepress/config.js
index 5e207ea5..4179c23d 100644
--- a/packages/docs/pages/.vitepress/config.js
+++ b/packages/docs/pages/.vitepress/config.js
@@ -72,6 +72,7 @@ export default defineConfig({
{
text: 'Ntfy',
collapsible: true,
+ collapsed: true,
items: [
{ text: 'Actions', link: '/apps/ntfy/actions' },
{ text: 'Connection', link: '/apps/ntfy/connection' },
@@ -134,6 +135,7 @@ export default defineConfig({
{
text: 'Telegram',
collapsible: true,
+ collapsed: true,
items: [
{ text: 'Actions', link: '/apps/telegram-bot/actions' },
{ text: 'Connection', link: '/apps/telegram-bot/connection' },
@@ -168,6 +170,15 @@ export default defineConfig({
{ text: 'Connection', link: '/apps/typeform/connection' },
],
},
+ {
+ text: 'Webhooks',
+ collapsible: true,
+ collapsed: true,
+ items: [
+ { text: 'Triggers', link: '/apps/webhooks/triggers' },
+ { text: 'Connection', link: '/apps/webhooks/connection' },
+ ],
+ },
],
'/': [
{
diff --git a/packages/docs/pages/apps/webhooks/connection.md b/packages/docs/pages/apps/webhooks/connection.md
new file mode 100644
index 00000000..a38b7e93
--- /dev/null
+++ b/packages/docs/pages/apps/webhooks/connection.md
@@ -0,0 +1,7 @@
+# Webhooks
+
+Webhooks is a built-in app shipped with Automatisch, and it doesn't need to authenticate with any other external service to run.
+
+## How to use
+
+You will be given a webhook URL in the test substep on the editor page, and you can use it to send a GET, POST, PUT, or PATCH request to Automatisch to trigger the flow.
diff --git a/packages/docs/pages/apps/webhooks/triggers.md b/packages/docs/pages/apps/webhooks/triggers.md
new file mode 100644
index 00000000..9dda3c35
--- /dev/null
+++ b/packages/docs/pages/apps/webhooks/triggers.md
@@ -0,0 +1,12 @@
+---
+favicon: /favicons/webhooks.svg
+items:
+ - name: Catch raw webhook
+ desc: Triggers when the webhook receives a request.
+---
+
+
+
+
diff --git a/packages/docs/pages/public/favicons/webhooks.svg b/packages/docs/pages/public/favicons/webhooks.svg
new file mode 100644
index 00000000..894b13e5
--- /dev/null
+++ b/packages/docs/pages/public/favicons/webhooks.svg
@@ -0,0 +1,8 @@
+
diff --git a/packages/web/src/config/urls.ts b/packages/web/src/config/urls.ts
index 5f0830f0..aeca5e82 100644
--- a/packages/web/src/config/urls.ts
+++ b/packages/web/src/config/urls.ts
@@ -67,4 +67,5 @@ export const SETTINGS_PROFILE = `${SETTINGS}/${PROFILE}`;
export const DASHBOARD = FLOWS;
// External links
-export const WEBHOOK_DOCS = 'https://automatisch.io/docs'
+export const WEBHOOK_DOCS =
+ 'https://automatisch.io/docs/apps/webhooks/connection';