diff --git a/Token-Action.md b/Token-Action.md
index ba63544..3baf6ca 100644
--- a/Token-Action.md
+++ b/Token-Action.md
@@ -75,7 +75,9 @@ By selecting 'Custom', you can modify a value in the token or actor object. When
In 'Formula' you can fill in the desired formula. You can use the following:
* Numbers - Any number you want
* Token and actor data - see below
+* Macros - see below
* `[@this]` - gets the value of 'target', see below
+* `;` - separates multiple formulas/macros
* `=` - sets the target on the left of '=' to the value on the right
* `++` - add 1
* `--` - subtract 1
@@ -103,9 +105,6 @@ Increment the HP by 1: `[@actor.data.data.attributes.hp.value] = [@this] ++`
Increment the HP by 1 but limit to the max hp: `[@actor.data.data.attributes.hp.value] = [@this] ++ <= [@actor.data.data.attributes.hp.max]`
Set the AC to 10 plus the DEX modifier: `[@actor.data.data.attributes.ac.value] = 10 + [@actor.data.data.abilities.dex.mod]`
-You can set multiple formulas to the same button by separating them with ';'. So you can increment the HP by 1 and set the walking speed to 25 feet with:
-`[@actor.data.data.attributes.movement.walk] = 25 ; [@actor.data.data.attributes.hp.value] = [@this] ++`
-
Currently you cannot use shorthand notation such as `[@actor.data.data.attributes.hp.value] ++` or `[@actor.data.data.attributes.hp.value] += 1`. Instead you will need to use one of the following methods:
`[@actor.data.data.attributes.hp.value] = [@actor.data.data.attributes.hp.value] ++`
`[@actor.data.data.attributes.hp.value] = [@actor.data.data.attributes.hp.value] + 1`
@@ -113,8 +112,25 @@ Currently you cannot use shorthand notation such as `[@actor.data.data.attribute
If you want to modify string data, such as a token name, any part to the right of '=' should not contain any maths, or you might get unexpected results.
If the string contains any empty spaces, you must surround the string with square brackets '[' and ']'.
-So, for example, to set the token name: `[@actor.name] = John` or `[@actor.name] = [John Doe]`. Setting it to `[@actor.name] = John Doe` will not work.
+So, for example, to set the token name: `[@actor.name] = John` or `[@actor.name] = [John Doe]`. Setting it to `[@actor.name] = John Doe` will not work.
+
+You can trigger macros using `@macro macroName`.
+If you have [The Furnace](https://foundryvtt.com/packages/furnace) enabled, you can use The Furnace's advanced macros and call arguments. You can do this by simply adding the arguments after the macro name. For example, let's say you have the following macro to move the selected token x and y gridspaces, named 'moveToken':
+```
+const newPosition = {
+ x: token.x + args[0]*canvas.grid.size,
+ y: token.y + args[1]*canvas.grid.size
+};
+await token.update(newPosition);
+```
+You would use, for example: `@macro moveToken 1 0` to move the token 1 gridspace in the x direction.
+If the name of you macro or any of the arguments has spaces in it, you have to surround the name with square brackets '[' and ']'. For example, if you macro is named `Test Macro`, you use `@macro [Test Macro]`.
+
+You can set multiple formulas or multiple macros to the same button by separating them with ';'. So you can increment the HP by 1 and set the walking speed to 25 feet with:
+`[@actor.data.data.attributes.movement.walk] = 25 ; [@actor.data.data.attributes.hp.value] = [@this] ++`
+Or increment the HP by 1 and call the macro 'moveToken':
+`[@actor.data.data.attributes.hp.value] = [@this] ++ ; @macro moveToken 1 0`
### Set Vision
If 'Set Vision' was selected at 'On Click', a lot of vision settings appear. They behave identical to the settings in the Vision tab the Token Configuration screen in Foundry.
If no value is filled in, that value is not updated, so it is possible to set, for example, the 'Dim Light Radius' without affecting the 'Dim Vision' setting by keeping the 'Dim Vision' field empty.