You can fetch a list of all macros (saved replies) in your workspace for use in automating responses.
The macros are returned in descending order by updated_at.
Pagination
This endpoint uses cursor-based pagination via the starting_after parameter. The cursor is a Base64-encoded JSON array containing [updated_at, id] of the last item from the previous page.
Placeholder Transformation
The API transforms Intercom placeholders to a more standard XML-like format:
- From:
{{user.name | fallback: 'there'}} - To:
<attribute key="user.name" default="there"/>
Security
bearerAuth
Intercom-Versionstring(intercom_version)
Intercom API version.
By default, it's equal to the version set in the app package.
Default:"2.16"
Enum:"1.0""1.1""1.2""1.3""1.4""2.0""2.1""2.2""2.3""2.4"
Example:2.16
- The production API serverhttps://api.intercom.io/macros
- The european API serverhttps://api.eu.intercom.io/macros
- The australian API serverhttps://api.au.intercom.io/macros
curl -i -X GET \
'https://api.intercom.io/macros?per_page=50&starting_after=WzE3MTk0OTM3NTcuMCwgIjEyMyJd&updated_since=1719474966' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>' \
-H 'Intercom-Version: 2.16'Successful response
dataArray of objects(Macro)
The list of macro objects
Response
- Basic list of macros
- Paginated response using starting_after cursor
- Macros filtered by updated_since parameter
- Macros with various placeholder formats
- Empty macro list (no macros or all filtered out)
- Large list with performance optimization
{ "type": "list", "data": [ { … }, { … } ], "pages": { "type": "pages", "per_page": 50, "next": { … } } }