Action Link Templates
An Action Link Template is a reusable definition of an Action Link, which is a clickable button or link rendered on a Chatter feed item that triggers a pre-configured action.
Definition
An Action Link Template is a reusable definition of an Action Link, which is a clickable button or link rendered on a Chatter feed item that triggers a pre-configured action. Action Links themselves can invoke a REST API call, open an external URL, download a file, or initiate an OAuth-protected request. Without a template, each Action Link has to be defined inline whenever code creates a feed item, which makes them tedious to use at any kind of scale. The template stores the action's type, endpoint, HTTP method, body, headers, button labels, and user visibility in Setup. Code that creates a feed item references the template by ID, and Salesforce instantiates the actual Action Link from it.
Action Link Templates exist because most integrations that surface a clickable button in Chatter generate the same shape of post many times over. A procurement workflow posts Approval requested to Chatter and every approver should see Approve and Reject buttons. Hard-coding the URL and request body into every post is fragile and clutters integration code. The template centralises that definition, supports placeholder bindings that get substituted at post time, and version-controls the action so a single change in Setup updates every future feed item that references it.
How Action Link Templates actually behave
The four Action Link types
Salesforce supports four Action Link types. Api makes a synchronous server-side REST call to a configured endpoint. ApiAsync does the same but does not block the caller. Download triggers a file download for the user. Ui opens a URL in a new browser tab. The choice depends on what the click should do. A Pay Now button that goes to an invoice page is Ui. A Mark Approved button that posts an approval back to a service is Api or ApiAsync.
Template versioning and the Draft, Published, Archived states
Templates have a status that flips between Draft, Published, and Archived. Published is the only status that can be referenced by new feed items. Once any live feed item references a published template, the template becomes effectively immutable. Salesforce stops you from editing the URL, method, or body, because every existing feed item depends on the saved definition. To change behaviour, create a new template (or new version) and publish it.
Authentication and the Requires Confirmation flag
Templates can require a confirmation dialog before the action fires, and they can attach Named Credentials so an API call carries a token. The Requires Confirmation flag is the most common belt-and-suspenders setting. It prevents accidental clicks on destructive actions like Cancel Order. Named Credentials keep the secret out of metadata and make the same template portable across sandboxes without hard-coded URLs or tokens.
Bindings and runtime substitution
Action Link Templates use the {!Bindings.X} syntax inside the URL, body, and headers to inject runtime values when the feed item is created. The caller passes a Map of binding names to values. This is how the same template can produce buttons that point to different record IDs, different amounts, or different recipients without storing those values in Setup. Binding names are case-sensitive and must match the runtime keys exactly.
User Visibility
User Visibility controls who can see and click the Action Link. Options are Everyone Can See, Only Custom User Can See (specified at runtime), Everyone Except Custom User, Only Creator, and Only Custom User Group. Approval workflows use Only Custom User to make sure only the named approver sees the buttons. Forgetting to set this on an approval post is how every user in the feed ends up able to approve their colleagues' requests.
Action Link states and label keys
Each Action Link has a state machine: New, Pending, Successful, Failed. A template defines the labels shown in each state via the Label Key field, which references a system-defined set like Approve / Approve Pending / Approved / Approve Failed. This UI affordance prevents accidental double-execution. A button that reads Approved after the click is what stops a second user from clicking the same Approve minutes later.
Action Link Groups for rows of buttons
An Action Link Group bundles several related Action Links (Approve, Reject, More Info) that appear together on a feed item. Group Templates wrap a set of single Action Link Templates and are how you produce a row of buttons rather than one. Most production integrations use group templates, since approvals, reviews, and tasks almost always come as a pair or trio of options.
Limitations and common pitfalls
Action Link Templates do not always render the same way in Lightning Experience as they did in Chatter Classic. The API support remains, but visual differences can surprise users mid-migration. There are also payload size limits, no support for binary request bodies, and a cap on the number of links per feed item. Teams sometimes hit auth scope limits when a template's Named Credential lacks the right scope for the target service.
How to create an Action Link Template
Action Link Templates live in Setup, but most of the value shows up only after integration code references them. Design the call site before configuring the template, not after.
- Open Action Link Templates in Setup
Setup, then search for Action Link Templates. The list view shows existing templates with their status (Draft, Published, Archived).
- Create a new template
Click New. Provide a Label, Action URL, HTTP Method, and Action Type (Api, ApiAsync, Download, Ui). Save the template as Draft until the configuration is fully tested.
- Configure bindings
Use {!Bindings.RecordId} or similar placeholders inside the URL, body, or headers. Document the binding names for the team that writes the code that will create feed items, since typos surface as broken buttons with no error.
- Set User Visibility and Requires Confirmation
Choose who should see the link. For destructive actions, check Requires Confirmation so users see a dialog before the action fires.
- Publish the template
Change status to Published. Once any feed item references it, the template becomes immutable. Edit only by creating a new version.
Api, ApiAsync, Download, or Ui.
The HTTP endpoint, file URL, or destination URL. Supports binding placeholders.
GET, POST, PUT, DELETE, PATCH, or HEAD. Only relevant for Api and ApiAsync.
Reference to a system-defined enum that controls button text in each state (New, Pending, Successful, Failed).
Who can see and click the link at runtime.
Boolean. True shows a confirm dialog before the action fires.
Optional. Auth profile used when the action calls an external API.
Optional. Header pairs and a body template for POST, PUT, and PATCH actions.
- Once a template is Published and referenced by a live feed item, key fields like URL and Method become locked. Plan to version the template instead of editing in place.
- Binding names are case-sensitive and must match the keys passed at runtime exactly. Typos render the button broken with no obvious error message.
- User Visibility Only Custom User must be set per feed item at creation time. Forgetting it means every user in the feed sees the approval buttons, not only the approver.
- Action Links render in a different surface in Lightning Experience than they did in Chatter Classic. Verify rendering in Lightning before assuming the template still works as designed.
Trust & references
Cross-checked against the following references.
- Action Link TemplatesConnect REST API Developer Guide
- Action Links OverviewConnect REST API Developer Guide
Straight from the source - Salesforce's reference material on Action Link Templates.
- Configure Action LinksSalesforce Help
Hands-on resources to go deeper on Action Link Templates.
About the Author
Dipojjal Chakrabarti is a B2C Solution Architect with 29 Salesforce certifications and over 13 years in the Salesforce ecosystem. He runs salesforcedictionary.com to help admins, developers, architects, and cert/interview candidates sharpen their fundamentals. More about Dipojjal.
Test your knowledge
Q1. Which Salesforce Cloud is Action Link Templates most closely associated with?
Q2. Who would typically configure or interact with Action Link Templates?
Q3. What happens when Action Link Templates data is not maintained properly in Salesforce?
Discussion
Loading discussion…