Difference between revisions of "Trigger: Webhook (URL)"

(Webhook page redesign)
m
 
(5 intermediate revisions by the same user not shown)
Line 5: Line 5:
 
More information here.
 
More information here.
 
https://medium.com/@macrodroid/introducing-the-webhook-trigger-a760e2ee140d
 
https://medium.com/@macrodroid/introducing-the-webhook-trigger-a760e2ee140d
<br>
 
  
 
===<p><b>Warning</b></p>===
 
===<p><b>Warning</b></p>===
Line 12: Line 11:
  
 
This feature uses Firebase Cloud Messaging to notify the device via the backend server, therefore it is not functional on devices that lack Google services (such as Alexa tablets etc.)
 
This feature uses Firebase Cloud Messaging to notify the device via the backend server, therefore it is not functional on devices that lack Google services (such as Alexa tablets etc.)
</pre><br>
+
</pre>
 +
 
 +
==<p><b>Request configuration</b></p>==
 +
 
 +
=== Identifier ===
 +
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 +
The identifier is what is after the base url.
 +
Base URL:
 +
 
 +
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-677d4d/
 +
 
 +
E.G. The identifier would be 'mywebhook'
 +
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-677d4d/mywebhook
 +
</pre>
 +
 
 +
=== IP address whitelist ===
  
===<p><b>Parameters</b></p>===
 
* ''''' IP address whitelist '''''
 
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
You can support one or more IP addresses so that the webhook is only activated from specific IP addresses.
 
You can support one or more IP addresses so that the webhook is only activated from specific IP addresses.
 
It also supports magic text '...'
 
It also supports magic text '...'
 
</pre>
 
</pre>
'''''[[magic text|Magic text list]] '''''
+
* ''[[magic text|Magic text list]] ''
</pre><br>
+
</pre>
 
+
=== Save body to string variable ===
* ''''' Save body to string variable '''''
 
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
If your HTTP POST request contains any text format, you can save it in any string variable.
 
If your HTTP POST request contains any text format, you can save it in any string variable.
Line 29: Line 40:
 
Note that due to limits imposed by Firebase Cloud Messaging the maximum body text length is 3800 characters.
 
Note that due to limits imposed by Firebase Cloud Messaging the maximum body text length is 3800 characters.
 
</pre>
 
</pre>
'''''[[Variables]]'''''
+
* ''[[Variables]]''
</pre><br>
+
</pre>
 +
 
 +
==<p><b>URL short</b></p>==
  
* ''''' TinyUrl '''''
+
=== TinyUrl ===
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
It is a URL shortening service used to create shorter, more shareable links.
 
It is a URL shortening service used to create shorter, more shareable links.
Line 39: Line 52:
 
to this:
 
to this:
 
http://tinyurl.com/5xzj7w6j
 
http://tinyurl.com/5xzj7w6j
</pre><br>
+
</pre>
 +
 
 +
==<p><b>Include variables</b></p>==
  
===<p><b>Formats to include variables</b></p>===
+
=== String, Integer, Decimal, Boolean ===
* ''''' Identifier'''''
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
The identifier is what is after the base url.
 
Base URL:
 
  
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-677d4d/
+
* '' [https://macrodroidforum.com/wiki/index.php/Variables#Standard_Variable_Types Variables | String, Integer, Decimal, Boolean] ''
  
E.G. The identifier would be 'mywebhook'
 
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-677d4d/mywebhook
 
</pre><br>
 
* ''''' Attach variable value [[Variables|String, Integer, Decimal, Boolean]] '''''
 
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
ID = User-defined identifier.
 
ID = User-defined identifier.
Line 66: Line 73:
 
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-69600af77d4d/ID?VARNAME1=42&VARNAME2=Hello_World
 
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-69600af77d4d/ID?VARNAME1=42&VARNAME2=Hello_World
 
</pre>
 
</pre>
''''' An introduction video is available MacroDroid Variables https://youtu.be/0V_EcyhxrpA?si=_mjXwGVXHO3J8Ywp '''''
+
* '' An introduction video is available'' ''[https://youtu.be/0V_EcyhxrpA?si=_mjXwGVXHO3J8Ywp MacroDroid Variables]''
<br>
+
 
 +
=== Dictionary - Array ===
 +
 
 +
* ''[https://macrodroidforum.com/wiki/index.php/Variables#Data_Structure_Variable_Types Variables | Dictionary - Array] ''
  
<br>
 
* ''''' Attach Data Structure [[Variables|Dictionary - Array]] '''''
 
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
id = User-defined identifier.
 
id = User-defined identifier.
Line 83: Line 91:
 
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-69600af77d4d/id?mydict(KEY)=VALUETEXT
 
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-69600af77d4d/id?mydict(KEY)=VALUETEXT
 
</pre>
 
</pre>
''''' An introduction video is available Using Dictionary and Array Variables https://youtu.be/u2zY5dv34CM '''''
+
* '' An introduction video is available Using'' ''[https://youtu.be/u2zY5dv34CM Dictionary and Array Variables]''
<br></pre>
+
<br>
 +
 
 +
==<p><b>Webhook management</b></p>==
  
===<p><b>Webhook management</b></p>===
+
=== Export device ID to new device ===
* ''''' Export device ID to new device '''''
 
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
You will be asked to create a password (it will be linked to your current device ID) and you can import it later in case your device is damaged or you update your current device.
 
You will be asked to create a password (it will be linked to your current device ID) and you can import it later in case your device is damaged or you update your current device.
Line 94: Line 103:
 
</pre><br>
 
</pre><br>
  
* ''''' Import device ID from other device '''''
+
=== Import device ID from other device ===
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
You will be asked for the Device ID and password and you will be able to correctly import the Device ID.
 
You will be asked for the Device ID and password and you will be able to correctly import the Device ID.
 
</pre><br>
 
</pre><br>
  
* ''''' Generate new device ID '''''
+
=== Generate new device ID ===
 +
 
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
This will assign a new device id to this device. Existing webhook links for this device will no longer function.
 
This will assign a new device id to this device. Existing webhook links for this device will no longer function.
 
To get a new device ID you just need to check the 'I have read and understood' box
 
To get a new device ID you just need to check the 'I have read and understood' box
 
and you can generate your new device ID.
 
and you can generate your new device ID.
</pre><br>
+
</pre>
 
 
===<p><b>Examples</b></p>===
 
 
 
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
This macro will receive values by webhook and speak them by TTS.
 
</pre><br>
 
<pre style="background-color: #AC2424; color: white; border-radius: 10px; padding: 10px;">
 
Triggers
 
 
 
Webhook (MyWebhook)
 
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-69600af77d4d/id?VAR1=Hello
 
</pre><br>
 
<pre style="background-color: #1665B0; color: white; border-radius: 10px; padding: 10px;">
 
Actions
 
 
 
Speak text: You received a new value {lv=VAR1}
 
</pre><br>
 
<pre style="background-color: green; color: white; border-radius: 10px; padding: 10px;">
 
Constraints
 
 
 
 
 
</pre><br>
 
<pre style="background-color: teal; color: white; border-radius: 10px; padding: 10px;">
 
Local variables
 
 
 
VAR1 = Hello (Type String)
 
</pre><br>
 

Latest revision as of 23:46, 25 January 2024

About

This trigger will fire on this device when the specified web URL is called from anywhere.

More information here. https://medium.com/@macrodroid/introducing-the-webhook-trigger-a760e2ee140d

Warning

that the URL is unique to this device and the URL will change if the application is reinstalled (or all application data is deleted).

This feature uses Firebase Cloud Messaging to notify the device via the backend server, therefore it is not functional on devices that lack Google services (such as Alexa tablets etc.)

Request configuration

Identifier

The identifier is what is after the base url.
Base URL:

https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-677d4d/

E.G. The identifier would be 'mywebhook'
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-677d4d/mywebhook

IP address whitelist

You can support one or more IP addresses so that the webhook is only activated from specific IP addresses.
It also supports magic text '...'

Save body to string variable

If your HTTP POST request contains any text format, you can save it in any string variable.

Note that due to limits imposed by Firebase Cloud Messaging the maximum body text length is 3800 characters.

URL short

TinyUrl

It is a URL shortening service used to create shorter, more shareable links.
You can use it to shorten your urls, go from this:
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-677d4d/mywebhook
to this:
http://tinyurl.com/5xzj7w6j

Include variables

String, Integer, Decimal, Boolean

ID = User-defined identifier.

VAR1 = The first variable to be defined, in this case with a numerical value.

VAR2 = The second variable to be defined, in this case with a plain-text value.

To set a variable:
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-69600af77d4d/ID?VARNAME1=Hello

To set multiple variables:
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-69600af77d4d/ID?VARNAME1=42&VARNAME2=Hello_World

Dictionary - Array

id = User-defined identifier.

mydict = It is a dictionary type variable for the example.

KEY = It is the key or entry of the dictionary.

VALUETEXT = It is the value you want to send.

For Dictionaries / Array:
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-69600af77d4d/id?mydict(KEY)=VALUETEXT


Webhook management

Export device ID to new device

You will be asked to create a password (it will be linked to your current device ID) and you can import it later in case your device is damaged or you update your current device.

Later you can use the 'Import device ID from another device' option to restore your previous Device ID.


Import device ID from other device

You will be asked for the Device ID and password and you will be able to correctly import the Device ID.


Generate new device ID

This will assign a new device id to this device. Existing webhook links for this device will no longer function.
To get a new device ID you just need to check the 'I have read and understood' box
and you can generate your new device ID.