Salesforce Dictionary - Free Salesforce GlossarySalesforce Dictionary
DictionaryAAction Link Templates
Core CRMBeginner

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.

§ 01

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.

§ 02

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.

§ 03

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.

  1. 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).

  2. 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.

  3. 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.

  4. 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.

  5. Publish the template

    Change status to Published. Once any feed item references it, the template becomes immutable. Edit only by creating a new version.

Mandatory fields
Action Typerequired

Api, ApiAsync, Download, or Ui.

Action URLrequired

The HTTP endpoint, file URL, or destination URL. Supports binding placeholders.

HTTP Methodrequired

GET, POST, PUT, DELETE, PATCH, or HEAD. Only relevant for Api and ApiAsync.

Label Keyrequired

Reference to a system-defined enum that controls button text in each state (New, Pending, Successful, Failed).

User Visibilityrequired

Who can see and click the link at runtime.

Requires Confirmationrequired

Boolean. True shows a confirm dialog before the action fires.

Named Credentialrequired

Optional. Auth profile used when the action calls an external API.

HTTP Headers / Bodyrequired

Optional. Header pairs and a body template for POST, PUT, and PATCH actions.

Gotchas
  • 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

Sources

Cross-checked against the following references.

Official documentation

Straight from the source - Salesforce's reference material on Action Link Templates.

Keep learning

Hands-on resources to go deeper on Action Link Templates.

Was this entry helpful?
Help us write better definitions. Quick reactions or detailed edit suggestions.

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…

Loading discussion…