Chat actions
Say things, run commands, alert yourself, and write to the client console.
Four blocks that produce text: two send it to the server, two send it to you.
All four expand tokens before sending. A flow never stores a value, only the token, so the same flow works on every client, each using its own values.
| Token | Meaning |
|---|---|
{{name}} | A value saved on the client, in its Variables panel. Required: the client lists it as needed until you fill it in. |
{{name|fallback}} | The same, but optional: fallback is used while nothing is set, and the client does not ask for it. |
{{var:name}} | A value set while the flow runs, by set variable or handed over by a trigger. |
{{round}}, {{round0}} | The current loop pass, 1-based and 0-based. Reserved: a variable cannot shadow them. |
{{secret:name}} | An older explicit form for a client variable. Still valid; new flows do not need it. |
A variable saved on a client can be tagged secret. A secret is encrypted at rest, is never shown again after you save it, is never returned to the editor, and never appears in the client log.
Until a required variable is filled in, the client will not start, and it tells you which values are missing.
Double braces are deliberate: game commands carry single-brace NBT
(/give @p stone{display:{Name:"x"}}), and substituting inside that would corrupt the
command.
chat
Sends a line of public chat.
| Field | Type | Required | Notes |
|---|---|---|---|
text | 1–256 chars | yes | Expanded before sending. |
A leading / makes this a command as far as the server is concerned, but use the
command block for that. It is clearer, and it adds
the slash for you.
The text is cleaned before it goes out: § and control characters are removed, and a new
line starts a separate message. Text that is empty after that is skipped with a warning.
A client sends 5 messages at once, then one a second, across chat and commands together;
anything over that waits its turn and is never dropped. If the text uses a {{secret:name}}
that is not set, the step fails with a warning naming it and nothing is sent.
command
Runs a chat command. The leading / is added for you, on every line when the text has several.
| Field | Type | Required | Notes |
|---|---|---|---|
text | 1–256 chars | yes | Without the leading slash. Expanded before sending. |
Passwords belong in a variable, not in the text. Open the client's Variables panel,
add password, and leave it tagged secret. The value is filled in when the client runs,
is never written into the flow, and never reaches the logs, and the same flow can drive
twenty clients, each logging in with its own password.
The editor's ready-made Log in and Register blocks write exactly this for you:
The Register block sends the secret twice, which is what most /register commands
expect. Most login plugins ask you to register once and then log in on every later join,
so pair it with a chat trigger on the server's "please register" line.
notify
Sends a message to you through the in-app mail plus every notification channel you have configured (Discord, webhook, browser push).
| Field | Type | Required | Notes |
|---|---|---|---|
message | 1–256 chars | yes | Expanded before sending. |
Do not use this to trace a flow step by step: every call reaches your phone. Use log for that.
A message that comes out empty after expanding, for example one made only of a variable that holds nothing, is not sent. The console warns instead.
Sending to one channel
The notify … to block sends to a single saved channel and nowhere else: no mail row, no push, none of your other channels. Pick the channel from the dropdown; it lists what you have set up under Settings › Notifications.
The block stores the channel's id, not its address, so a flow you export or publish never carries your webhook URL with it. The other side of that: a flow imported from the Flow library names a channel that does not exist in your account, and the block shows (no channels saved). The action still delivers: an unresolvable channel falls back to your normal ones rather than going nowhere. Repoint it at one of yours to make it specific again.
log
Writes a line to this client's console and log history. Goes nowhere else.
| Field | Type | Required | Notes |
|---|---|---|---|
message | 1–256 chars | yes | Expanded before writing. |
This is the debugging tool. Log history is pruned after 7 days.