Thanks again @E1cid for your suggestions. I got everything working using your 'in series' suggestion. Here's the flow in case it helps anyone else:
[{"id":"423144e8.afb2ec","type":"tab","label":"Kyocera Status Email ","disabled":false,"info":""},{"id":"5e68b053.a8876","type":"e-mail","z":"423144e8.afb2ec","server":"smtp.gmail.com","port":"465","secure":true,"tls":false,"name":"someone@gmail.com","dname":"Send Email","x":590,"y":580,"wires":[]},{"id":"3f5e0e7e.1170a2","type":"api-current-state","z":"423144e8.afb2ec","name":"Black","server":"","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"sensor.ecosys_m5526cdw_black_tk_5240k","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":150,"y":340,"wires":[["1c55de1e.f4aa12"]]},{"id":"fc14ecd9.50a8e","type":"api-current-state","z":"423144e8.afb2ec","name":"Cyan","server":"","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"sensor.ecosys_m5526cdw_cyan_tk_5240cs","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":150,"y":420,"wires":[["b5c2c714.867db8"]]},{"id":"e9d70752.152be8","type":"inject","z":"423144e8.afb2ec","name":"Trigger","props":[{"p":"payload"},{"p":"topic","vt":"str"}],"repeat":"","crontab":"00 08 * * 2","once":false,"onceDelay":0.1,"topic":"Kyocera Toner Status","payload":"","payloadType":"date","x":100,"y":260,"wires":[["3f5e0e7e.1170a2"]]},{"id":"c2cd77bc.4c7c78","type":"template","z":"423144e8.afb2ec","name":"HTML","field":"payload","fieldType":"msg","format":"handlebars","syntax":"mustache","template":"<html>\n<head>\n<style>\n table, th, td {\n border: 1px solid black;\n border-collapse: collapse;\n }\n th, td {\n padding: 15px;\n }\n</style>\n</head>\n<body>\n <p>Current toner cartridge levels are:</p>\n <table>\n <tr>\n <th>Cartridge</th>\n <th>Level</th>\n </tr>\n <tr>\n <td>Black</td>\n <td>{{flow.black}}%</td>\n </tr>\n <tr>\n <td>Cyan</td>\n <td>{{flow.cyan}}%</td>\n </tr>\n <tr>\n <td>Magenta</td>\n <td>{{flow.magenta}}%</td>\n </tr>\n <tr>\n <td>Yellow</td>\n <td>{{flow.yellow}}%</td>\n </tr> \n </table>\n</body>\n\n\n\n\n","output":"str","x":450,"y":580,"wires":[["5e68b053.a8876"]]},{"id":"8069b415.1bb5d8","type":"api-current-state","z":"423144e8.afb2ec","name":"Magenta","server":"","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"sensor.ecosys_m5526cdw_magenta_tk_5240ms","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":160,"y":500,"wires":[["3174e245.bac53e"]]},{"id":"7a8bb93.68d7148","type":"api-current-state","z":"423144e8.afb2ec","name":"Yellow","server":"","version":1,"outputs":1,"halt_if":"","halt_if_type":"str","halt_if_compare":"is","override_topic":false,"entity_id":"sensor.ecosys_m5526cdw_yellow_tk_5240ys","state_type":"str","state_location":"payload","override_payload":"msg","entity_location":"data","override_data":"msg","blockInputOverrides":false,"x":150,"y":580,"wires":[["ad3f8bc0.dc5218"]]},{"id":"1c55de1e.f4aa12","type":"change","z":"423144e8.afb2ec","name":"Black","rules":[{"t":"set","p":"payload","pt":"msg","to":"black","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":310,"y":340,"wires":[["fc14ecd9.50a8e"]]},{"id":"b5c2c714.867db8","type":"change","z":"423144e8.afb2ec","name":"Cyan","rules":[{"t":"set","p":"payload","pt":"msg","to":"cyan","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":310,"y":420,"wires":[["8069b415.1bb5d8"]]},{"id":"3174e245.bac53e","type":"change","z":"423144e8.afb2ec","name":"Magenta","rules":[{"t":"set","p":"payload","pt":"msg","to":"magenta","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":320,"y":500,"wires":[["7a8bb93.68d7148"]]},{"id":"ad3f8bc0.dc5218","type":"change","z":"423144e8.afb2ec","name":"Yellow","rules":[{"t":"set","p":"payload","pt":"msg","to":"yellow","tot":"flow"}],"action":"","property":"","from":"","to":"","reg":false,"x":310,"y":580,"wires":[["c2cd77bc.4c7c78"]]}]
Essentially I used a single input node as the trigger and then for each toner cartridge entity captured the value with a current state node and then wrote the value to a flow context variable (ie one variable for each entity) using a change node. (I started off using a function node with some JavaScript before realising the change node could do this.) Finally, I used a template node to extract the flow context variables in to an HTML table for passing to an email node.
It's all working very nicely but since I'm completely new to this if there are improvements I'd love to know about them. Thanks!