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

m
 
(7 intermediate revisions by 2 users not shown)
Line 1: Line 1:
<pre style="background-color: #EEEEEE; color: Black; border-radius: 10px; padding: 10px;">
+
== About ==
 +
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
This trigger will fire on this device when the specified web URL is called from anywhere.
 
This trigger will fire on this device when the specified web URL is called from anywhere.
 +
</pre>
 +
More information here.
 +
https://medium.com/@macrodroid/introducing-the-webhook-trigger-a760e2ee140d
  
WARNING:
+
===<p><b>Warning</b></p>===
 
+
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 
that the URL is unique to this device and the URL will change if the application is reinstalled (or all application data is deleted).
 
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.)
 
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>
 +
 +
==<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>
  
SENDING PARAMETERS:
+
=== IP address whitelist ===
  
In addition to an identifier it is also possible to send URL parameters to the trigger which are then used to set MacroDroid Variables. The format for sending parameters is as follows:
+
<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.
 +
It also supports magic text '...'
 +
</pre>
 +
* ''[[magic text|Magic text list]] ''
 +
</pre>
 +
=== Save body to string variable ===
 +
<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.
  
PARAMETERS OF EXAMPLES:
+
Note that due to limits imposed by Firebase Cloud Messaging the maximum body text length is 3800 characters.
 +
</pre>
 +
* ''[[Variables]]''
 +
</pre>
  
ID = User-defined identifier.
+
==<p><b>URL short</b></p>==
 +
 
 +
=== TinyUrl ===
 +
<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.
 +
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
 +
</pre>
  
VARNAME1 = The first variable to be defined, in this case with a numerical value.
+
==<p><b>Include variables</b></p>==
  
VARNAME2 = The second variable to be defined, in this case with a plain-text value
+
=== String, Integer, Decimal, Boolean ===
  
DATA = Dictionary.
+
* '' [https://macrodroidforum.com/wiki/index.php/Variables#Standard_Variable_Types Variables | String, Integer, Decimal, Boolean] ''
  
(KEY) = The key you are defining in your Dictionary / Array.
+
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 +
ID = User-defined identifier.
  
= After this sign goes the value you want to send in the webhook.
+
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:
 
To set a variable:
Line 31: Line 72:
 
To set multiple variables:
 
To set multiple variables:
 
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>
 +
* '' An introduction video is available'' ''[https://youtu.be/0V_EcyhxrpA?si=_mjXwGVXHO3J8Ywp MacroDroid Variables]''
 +
 +
=== Dictionary - Array ===
 +
 +
* ''[https://macrodroidforum.com/wiki/index.php/Variables#Data_Structure_Variable_Types Variables | Dictionary - Array] ''
 +
 +
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
 +
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:
 
For Dictionaries / Array:
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-69600af77d4d/ID?DATA(KEY)=VALUETEXT
+
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-69600af77d4d/id?mydict(KEY)=VALUETEXT
 +
</pre>
 +
* '' An introduction video is available Using'' ''[https://youtu.be/u2zY5dv34CM Dictionary and Array Variables]''
 +
<br>
  
</pre>
+
==<p><b>Webhook management</b></p>==
More information here.
 
https://medium.com/@macrodroid/introducing-the-webhook-trigger-a760e2ee140d
 
  
'''Example Usage'''<br/>
+
=== Export device ID to new device ===
This macro will receive values by webhook and speak them by TTS.
+
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
<pre style="background-color: #AC2424; color: white; 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.
Triggers
 
  
Webhook (MyWebhook)
+
Later you can use the 'Import device ID from another device' option to restore your previous Device ID.
https://trigger.macrodroid.com/c306bcd7-5f78-4895-bee4-69600af77d4d/ID?VARNAME1=Hello
 
 
</pre><br>
 
</pre><br>
<pre style="background-color: #1665B0; color: white; border-radius: 10px; padding: 10px;">
 
Actions
 
  
Speak text: You received a new value [lv=VARNAME1]
+
=== Import device ID from other device ===
 +
<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.
 
</pre><br>
 
</pre><br>
<pre style="background-color: green; color: white; border-radius: 10px; padding: 10px;">
 
Constrains
 
  
 +
=== Generate new device ID ===
  
</pre><br>
+
<pre style="background-color: #ACC8E5; color: #112A46; border-radius: 10px; padding: 10px;">
<pre style="background-color: teal; color: white; 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.
Local variables
+
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.
VARNAME1 [Hello] (Type String)
+
</pre>
</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.