# Homey SHS - Trigger WebHooks locally?

**URL:** <https://community.homey.app/t/homey-shs-trigger-webhooks-locally/147816>\
**Category:** Homey Self-Hosted Server\
**Tags:** flow, webhook\
**Created:** [December 25, 2025, 12:37pm UTC](https://community.homey.app/t/homey-shs-trigger-webhooks-locally/147816 "2025-12-25T12:37:52Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![chixxi1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/chixxi1/32/24106_2.png) [@chixxi1](https://community.homey.app/u/chixxi1)\
**Post date:** [December 25, 2025, 12:37pm UTC](https://community.homey.app/t/homey-shs-trigger-webhooks-locally/147816/1 "2025-12-25T12:37:52Z")

</div>

Did anybody already figure out how to trigger WebHooks locally (not using the cloud) when self-hosting Homey? I have Homey up and running in Podman and I pretty much fully migrated all my 60 devices and 50 Flows, that is the one and only issue I have left.

I tried what worked before:

```auto
http://IP/webhook?event=TAG

```

I also checked the support article:

[https://support.homey.app/hc/en-us/articles/18292876827548-Using-Webhooks-with-Homey](https://support.homey.app/hc/en-us/articles/18292876827548-Using-Webhooks-with-Homey)

Any hints would really welcome!

---

<div class="post-metadata">

**Author:** ![robertklep](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/robertklep/32/160628_2.png) [@robertklep](https://community.homey.app/u/robertklep)\
**Post date:** [December 25, 2025, 12:41pm UTC](https://community.homey.app/t/homey-shs-trigger-webhooks-locally/147816/2 "2025-12-25T12:41:57Z")

</div>

Use the correct port, as mentioned [in the fine documentation](https://support.homey.app/hc/en-us/articles/24010537261980-How-to-install-Homey-Self-Hosted-Server-with-Docker-on-Linux).

---

<div class="post-metadata">

**Author:** ![chixxi1](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/chixxi1/32/24106_2.png) [@chixxi1](https://community.homey.app/u/chixxi1)\
**Post date:** [December 25, 2025, 12:46pm UTC](https://community.homey.app/t/homey-shs-trigger-webhooks-locally/147816/3 "2025-12-25T12:46:11Z")

</div>

Thank you so much, that was exactly the hint I needed 😍 . Since I have everything on the default ports, this works:

```auto
http://IP:4859/webhook?event=TAG

```

---

<div class="post-metadata">

**Author:** ![Bram\_H](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/bram_h/32/52477_2.png) [@Bram\_H](https://community.homey.app/u/Bram_H)\
**Post date:** [January 1, 2026, 3:22pm UTC](https://community.homey.app/t/homey-shs-trigger-webhooks-locally/147816/4 "2026-01-01T15:22:10Z")

</div>

Thanks @robertklep  
@chixxi1 Me too… I got stuck reading:

[Using Webhooks with Homey – Homey Support](https://support.homey.app/hc/en-us/articles/18292876827548-Using-Webhooks-with-Homey)

> **Homey Pro (Early 2023) & Homey Pro mini**
> 
> ```auto
> http://ip-of-homey/webhook?event=my_event&tag=my_tag  
> 
> ```
> 
> #### **Homey Pro (2016 — 2019)**
> 
> ```auto
> http://ip-of-homey/api/manager/logic/webhook/<my_event>?tag=my_tag
> 
> ```

---

<div class="post-metadata">

**Author:** ![Rrrr](https://sea1.discourse-cdn.com/flex025/user_avatar/community.homey.app/rrrr/32/629_2.png) [@Rrrr](https://community.homey.app/u/Rrrr)\
**Post date:** [January 14, 2026, 12:37pm UTC](https://community.homey.app/t/homey-shs-trigger-webhooks-locally/147816/5 "2026-01-14T12:37:38Z")

</div>

Just note that the GET webhook cannot pass #, end of lines and icons like 🔥 in the text.

MQTT would do it, but I do not have the memory to install it 🙂

Solved with a Gemini HomeyScript **encode** URL as per below (there is no need to decode on the receiving side).

```auto
// EncodeURL
// Script Version: 2.0
// Purpose: URL Encode text and return as a LOCAL tag

// 1. Get the argument (safely handle empty input)
let inputString = args[0];
if (inputString == null) {
    inputString = "";
}

// 2. Encode the string (newlines -> %0A, spaces -> %20)
let encodedString = encodeURIComponent(inputString);

// 3. RETURN the string
// This places the value into the local "Result" tag of the flow card.
// We explicitly wrap it in String() to ensure the type is correct.
return String(encodedString);

```

 ![image](https://us1.discourse-cdn.com/flex025/uploads/athom/original/3X/f/f/ffe7c434a9a9d72c921add0bc5d81dacb19fcc87.png)
