Issue 1 I am relearning API/Mods. Because I'm adding more conditional features for a character's dexterity and sheet notes, I need to translate this template from a macro script: into a javascript API/Mod. What I've found via Google does not seem to work, especially the API equivalent of selected character colour. This link, <a href="https://help.roll20.net/hc/en-us/articles/360037256754-API-Chat#API:Chat-chat:message" rel="nofollow">https://help.roll20.net/hc/en-us/articles/360037256754-API-Chat#API:Chat-chat:message</a> refers to JSON.Parse, about which I know nothing about so I find the examples not helpful. Is there anything out there to help someone who is relearning API/Mods? Issue 2 My other issue is how do I make the output, or checkoutput, from sendChat("System", checkoutput) into something that I can put into the template? A snippet of my API which works very well with respect to sendChat output is as follows: //Tim - dealing with output if (checktype === "dex") { //sendChat("System", "checktype command is for dexterity"); //sendChat("System", "Saving Throw Bonus: " + getAttrByName(character.id,"armorbonus")); checkresult = getAttrByName(character.id,"armorbonus"); if (checkresult == "0") { checkoutput = "No possible dexterity bonus/penalty."; } else if (parseFloat(checkresult) < 0) { checkoutput = "**Dexterity**: Check with DM if your " + checkresult + " bonus applies."; } sendChat("System", checkoutput); return; } else if (checktype === "st") { //sendChat("System", "dexcheck checktype is saving throw notes"); //sendChat("System", "Saving Throw Notes: " + getAttrByName(character.id,"savingthrow_notes")); checkresult = getAttrByName(character.id,"savingthrow_notes"); if (checkresult == "") { checkoutput = "**Saving Throw Notes**: N/A"; } else { checkoutput = "**Saving Throw Notes**: " + checkresult; } sendChat("System", checkoutput); return; } else if (checktype === "mr") { //sendChat("System", "dexcheck checktype is magic resistance notes"); //sendChat("System", "Magic Resistannce Notes: " + getAttrByName(character.id,"magic_resistance")); checkresult = getAttrByName(character.id,"magic_resistance") if (checkresult == "") { checkoutput = "**Magic Resistance Notes**: N/A"; } else { checkoutput = "**Magic Resistance Notes**: " + checkresult; } sendChat("System", checkoutput); return; } else { //sendChat("System", "After writing **!dexcheck** you must add a space and include: **dex** for dexterity bonus; **st** for saving throw notes; or **mr** for magic resistance notes."); checkresult = ""; sendChat("System", checkoutput); return; } }