To do this without the API is very clunky. The basic method is to create a separate sender macro for each player, and a separate reply macro for each player-player combination. The reply macros are simple in principle, but for the above you need 16 of them (well, 12, since you dont need replyAmieToAmie, for instance): So, imagine Barnie has sent a message to Amie. There's a reply macro button. he clicks that which launches this macro: /w Amie &{template:default} {{name=**Whisper from Barnie**}} {{?{input text of whisper}=[Reply To Barnie](~MacrosPCs|WhisperAmieToBarnie)}} So he sends a message, and amie also gets a button labelled Reply to Barnie. That sends the following macro. /w Barnie &{template:default} {{name=**Whisper from Amie**}} {{?{input text of whisper}=[Reply to Amie](~MacrosPCs|WhisperBarnieToAmie)}} and using those two macros, they can reply to each other pretty quickly and easily. The initial send macro is quite a bit more complicated, and one you need one per player. The following macro is the WhisperFromAmie macro, before html entities are inserted. You'd need one of these for each player. /w ?{Who|
Barnie,&{template:default}{{name=**Whisper from Amie**}}{{?{input text of whisper}=[Whisper](~MacrosPCs|WhisperBarnieToAmie)}}|
Charles,&{template:default}{{name=**Whisper from Amie**}}{{?{input text of whisper}=[Whisper](~MacrosPCs|WhisperCharlesToAmie)}}|
Debbie,&{template:default}{{name=**Whisper from Amie**}}{{?{input text of whisper}=[Whisper](~MacrosPCs|WhisperDebbieToAmie)}}} The above doesnt work as written, because you either need to insert html replacements as described here , or convert the above into a chat menu. The chat menu approach would use the already created 12 reply macros, which would look like this. The macro below is for Amie. You'd need to create another for each player with the correct buttons. /w Amie &{template:default} {{name=**Whisper To**}} {{[Barnie](~MacrosPCs|WhisperAmieToBarnie) [Charles](~MacrosPCs|WhisperAmieToCharles) [Debbie](~MacrosPCs|WhisperAmieToDebbie)}} If you don't like the chat menu approach, you can use the above macro and insert the required html entities. Restructuring the message so as little as possible is inside the query is best. That gets you something like this: !?{Who|
Barnie,[Reply](~MacrosPCs|WhisperBarnieToAmie)|
Charles,[Reply](~MacrosPCs|WhisperCharlesToAmie)|
Debbie,[Reply](~MacrosPCs|WhisperDebbieToAmie)}
/w Amie &{template:default} {{name=**Whisper from Amie**}} {{?{input text of whisper}=?{Who}}} The initial query is put at the start, preceded by an !, a little trick so it doesnt get printed to chat. It includes a html entity to replace the | symbol. That's a bit more exhaustive than I meant to write, but it was interesting to me at least.