Create a macro
Open to any account member. name and actions are required; each action’s action_name must be one of the values on the MacroAction schema — anything else is refused as validation_failed, naming the unsupported actions.
An agent’s macro is always forced to visibility: personal, whatever the payload sends. Only an administrator can create a global one.
Authorizations
The id_token from POST /auth/v1/signin, sent as Authorization: Bearer <id_token>. Not the access_token — that one does not carry the identity Cloud Chat authorizes on.
Headers
Your Cloud Chat instance ID — an integer, fixed for your company, told at onboarding. The API overview explains how instances work, how to find yours, and the errors a wrong or missing value produces.
1
Path Parameters
Your Cloud Chat account. It has to be an account your token grants membership on, and it has to live on the instance in the cloudchat-instance header — the two travel together. Account numbers are only unique within an instance, so the same number is a different company on another instance. Usually a mismatched pair fails closed with a 401, because your user does not exist on the other instance — but if your identity happens to exist on both, the call succeeds against the other company's data, silently. Read it and you are looking at the wrong help center; write it and you have stored into the wrong account. Send the two values that were given to you together, and never try a number to see what answers.
1
Body
The macro goes under a macro wrapper. Open to any account member — an agent's macro is always forced to visibility: personal regardless of what is sent.
Response
Created.
A macro of the account — either global (visible to everyone) or personal (visible only to its author).
21
"Refund flow"
global, personal "global"
"2026-05-02T11:04:17.000Z"
"2026-08-10T14:32:05.123Z"