Slack
A message in your chosen channel, with the score and full comment.
Write a rule once. When an answer matches, Pulseri tells your team and shows whether it arrived.
Five steps: a customer scores 3, a rule for scores of 6 or lower matches, an alert is created, a message appears in the team chat and the team can follow up. A switch shows a score of 10: no alert, and a review request goes out instead.
Emily CarterNorthwind Books
3“Exports take far too long.”
Rule
MatchesScore 6 or lower
Unhappy answer from Emily Carter
New alert#customer-feedback · Pulseri
New unhappy answer from Emily Carter at Northwind Books: 3 out of 10. Exports take far too long.
Owner: Camila Reyes
A rule reads like a sentence: when this happens, tell that channel.
Build a rule from an answer's score, category (such as detractor or promoter) or sentiment. Combine conditions with "all of" or "any of". Score and category rules apply to one campaign. Sentiment rules can cover every campaign.
Pulseri shows what happened to every alert.
Every alert has a delivery record: pending, delivered or failed, with the number of attempts and the last error. If the destination is briefly down, Pulseri makes up to five attempts over about 20 minutes. If it rejects the message for good, such as a deleted webhook, you see the failure straight away. Each rule alerts at most once per answer, so a busy day will not flood your channel.
Five steps: a customer scores 3, a rule for scores of 6 or lower matches, an alert is created, a message appears in the team chat and the team can follow up. A switch shows a score of 10: no alert, and a review request goes out instead.
Emily CarterNorthwind Books
3“Exports take far too long.”
Rule
MatchesScore 6 or lower
Unhappy answer from Emily Carter
New alert#customer-feedback · Pulseri
New unhappy answer from Emily Carter at Northwind Books: 3 out of 10. Exports take far too long.
Owner: Camila Reyes
Watch a score of 3 match a rule and land in team chat. Flip the switch to see a score of 10.
Pulseri can call your system when a new answer or person arrives or a campaign changes. Each call carries an X-Pulseri-Timestamp header, a unique X-Pulseri-Delivery id and an X-Pulseri-Signature header, an HMAC-SHA256 signature of the timestamp and the body. Trust only calls that match and are less than five minutes old.
import { createHmac, timingSafeEqual } from 'node:crypto'
function isFromPulseri(rawBody, timestamp, header, secret) {
if (Math.abs(Date.now() / 1000 - Number(timestamp)) > 300) return false
const expected = 'sha256=' + createHmac('sha256', secret).update(`${timestamp}.${rawBody}`).digest('hex')
const a = Buffer.from(expected)
const b = Buffer.from(header ?? '')
return a.length === b.length && timingSafeEqual(a, b)
}
Your system can also start a survey by sending Pulseri an event, with a service account key or the signed generic webhook.
Low scores that warn of churn are one use for these alerts. The customer churn guide shows a rule to copy.
Try Pulseri for 14 days. Connect Slack or Teams and send a test alert in minutes.
Free for 14 days. Cancel any time before it ends.