Centro Support Center

Contact Us

Salesforce Tables in Slack from Centro

Salesforce Tables in Slack from Centro lets you send rich, HTML-based tables directly into Slack channels using Salesforce Flow. You can use it to post open cases, pipeline summaries, or any tabular data your teams need to see in Slack.

This article walks through two ways to send tables to Slack:

  1. Attaching a Salesforce report as an HTML table.

  2. Building a fully custom HTML table inside a Flow.

Use cases: Daily open case lists, owner-based reminders, pipeline snapshots, customer health views, and more — all delivered to the Slack channels where people collaborate.

Prerequisites

How It Works

Slack supports basic HTML tables in rich text messages. Centro’s Send Notification Flow element can post those HTML tables to any Slack channel. You can either:

In Slack, the first row of the table is automatically rendered in bold. You can treat that row as your header, or simply use it as an emphasized line of data.

Option 1: Send a Salesforce Report as an HTML Table

Use this approach when you already have a standard or custom report that includes the columns, subtotals, and totals you want to show in Slack.

Step 1: Create or Identify Your Report

  1. In Salesforce, open or create the report you want to send (e.g., “Open Opportunities”).

  2. Include all necessary columns, groupings, subtotals, and grand totals.

  3. Save and make sure you have access to run the report.

Step 2: Build a Scheduled or Autolaunched Flow

  1. Go to Setup > Flow and create a new Flow.

  2. Choose a Scheduled Flow or Autolaunched Flow depending on how you want to trigger the notification (for example, daily at 8am).

  3. Configure the start and save the Flow.

Step 3: Add the Centro Send Notification Element

  1. In the Flow canvas, drag in the Centro Send Notification element.

  2. In the element properties, configure:

    • Slack Channel – You can hard-code a channel (e.g., #case-reminders) or use a variable.

    • Header / Message – Add context such as “Daily Open Opportunities” or “Open Cases for Hannah”.

Step 4: Attach the Report as a Table

  1. Within the same Send Notification element, find the Attached Report section.

  2. Select the Report you created in Step 1.

  3. Set File Format to Text. This tells Centro to send the report as an HTML-compatible table directly into Slack.

  4. Save your changes and activate the Flow.

When the Flow runs, the report will be posted into your target Slack channel as a formatted HTML table with all of the columns, subtotals, and totals from the report.

Option 2: Build a Custom HTML Table in Flow

Use this approach when you want full control over the fields, ordering, and formatting of each row. In this example, we’ll send a list of open Cases to a Slack channel.

Step 1: Create a Scheduled Flow

  1. Create a new Scheduled Flow (e.g., scheduled on the User object).

  2. Configure the schedule and criteria for which users (or records) should receive the reminder.

Step 2: Get the Records for Your Table

  1. Add a Get Records element for the object you want (e.g., Case).

  2. Set your filter criteria (e.g., Status = Open, Owner = the current User).

  3. Ensure the element is configured to Get all records.

Step 3: Create Variables for the Table

  1. Create a Text variable (e.g., varListRows) that will store the HTML for your table.

  2. Optionally, create a second variable (e.g., varOwnerName) if you want to mention or reference the Case Owner in the message header.

Step 4: Assignment – Start the Table

Add an Assignment element (e.g., “Set Table Start”) with the following:

  1. Set varListRows using the Add operator to the table header HTML, for example:

<table>
  <tr>
    <td>Case Number</td>
    <td>Subject</td>
    <td>Account</td>
    <td>Status</td>
  </tr>

This creates the opening <table> tag and your header row. Slack will render this first row in bold.

Step 5: Loop Through the Records

  1. Add a Loop element over your Case collection from the Get Records step.

  2. Inside the loop, you’ll combine:

    • an Assignment element to add a row to varListRows, and

    • a Text Template resource that defines how each row should look.

Step 6: Configure the Text Template for Each Row

Create a new Text Template resource (e.g., “Row Template”) with HTML like:

<tr>
  <td>{!Loop_Case.CaseNumber}</td>
  <td>{!Loop_Case.Subject}</td>
  <td>
    <a href="{!Loop_Case.Account.Link}">{!Loop_Case.Account.Name}</a>
  </td>
  <td>{!Loop_Case.Status}</td>
</tr>

Replace the field API names in the merge fields with your own Flow variables. The link example shows how you can make the Account name clickable in Slack.

Step 7: Assignment – Add Each Row

  1. Inside the loop, add an Assignment element (e.g., “Set Open Cases Rows”).

  2. Use the Add operator to append the Text Template to varListRows:

    • Variable: varListRows

    • Operator: Add

    • Value: your row Text Template (e.g., {!Row_Template})

  3. Optionally, set varOwnerName to the Case Owner in the same Assignment so you can mention them later in the Slack message.

Step 8: Assignment – End the Table

After the loop, add one more Assignment element (e.g., “Set End Table”) to close the table:

varListRows (Add) = "</table>"

At this point, varListRows contains the full table: the header row, all of the data rows, and the closing tag.

Step 9: Send the Table to Slack Using Centro

  1. Add the Centro Send Notification element at the end of your Flow.

  2. Configure:

    • Slack Channel: Hard-code a channel like #case-reminders or use a variable.

    • Header / Message: For example: @{!varOwnerName} – Open Cases

    • Rich Text Body: Insert the {!varListRows} text variable.

  3. Save and activate the Flow.

When the Flow runs, Centro posts your HTML table into Slack as part of the rich text message. Each row you built in the loop appears as a row in the table, just as demonstrated in the video.

Troubleshooting Tips

Next Steps

Once you have your first table working, you can reuse the pattern for:

If you’d like help modeling a specific use case or adapting these patterns to your org, please contact the Centro team.