Skip to Content
🚀 Novigem 1.9 is live. Read Changelog
IntegrationsSend awards to Slack

Send awards to Slack

Novigem publishes a platform event every time someone earns points, wins a badge or completes a challenge. Any org with Slack connected to Salesforce can subscribe to that event with a Flow and post a message. Clicks, no code, and nothing to wait for from us.

There is no packaged Slack toggle yet. That is on the roadmap. What follows works today and takes about five minutes.

The event

Award_Granted__e fires on every award. It is a high-volume platform event published after commit, so it only fires once the underlying record actually saved.

FieldHolds
User_Id__cThe user who earned it
Points__cPoints awarded
Title__cShort headline for the award
Message__cLonger description
Rule_Name__cThe rule that fired, when it was a rule award
Challenge_Name__c · Challenge_Id__cThe challenge, when the award came from one
Badge_Name__c · Badge_Id__cThe badge, when one was earned
Badge_Description__c · Badge_Icon_Color__cBadge presentation detail
Source_Record_Id__cThe Salesforce record the behaviour happened on

In a subscriber org these carry the ngm__ namespace prefix. The Flow field picker shows labels rather than API names, so this matters only if you are writing formulas.

Before you start

  • Slack connected to your Salesforce org, so the standard Send Slack Message action is available in Flow
  • Permission to create and activate Flows
  • At least one active Novigem rule, otherwise nothing will fire to test against

Build the Flow

Create a platform-event-triggered Flow

Setup → Flows → New Flow → Platform Event-Triggered Flow.

For the platform event, choose Award Granted.

Resolve the user

The event carries User_Id__c, not a name. Add a Get Records on User, filtered where Id equals the event’s User_Id__c, to get the name, and the Slack handle if you store one.

Add the Slack message

Add the Send Slack Message action. Pick the channel, then build the message text from the event fields and the user you just retrieved.

A message that reads well is usually the name, the points, and the reason:

{!Get_User.Name} earned {!$Record.Points__c} points · {!$Record.Title__c}

Activate

Save and activate. Trigger a rule in your org and watch the channel.

The detail people trip over

The Send Slack Message action is restricted to asynchronous paths in a record-triggered Flow. That restriction is why most people abandon this approach.

It does not apply here. Platform-event-triggered flows are asynchronous by nature, so the action is available directly, with no scheduled path to configure.

Before you turn it on for everyone

Award_Granted__e is a high-volume event and Novigem fires it on every award. On an active sales floor that can be a lot of messages.

Worth doing one of these before you point it at a busy channel:

  • Filter the trigger. Set an entry condition on the Flow so only badge awards or challenge completions post, rather than every points award.
  • Use a dedicated channel so the volume does not bury other conversation.
  • Check your event allocation. High-volume platform events have delivery limits per org per day, shared across every subscriber.

Teams, Discord, and anything else

Nothing above is specific to Slack. The pattern is: subscribe to Award_Granted__e from a platform-event-triggered Flow, then call whatever action or HTTP callout your destination needs.

If it can be reached from a Flow, it can be reached from a Novigem award today.

Last updated on