@Mention Email Notifications
Introduction
Notifications keep workers informed about recent activity when they’re watching a record or someone @mentions
them. Notifications are displayed in the top right when a worker is logged in. This is great for workers who use Cerb as part of their daily routine, but workers who only log in when they’re needed should be notified in real-time a different way.
In this guide we’ll build a workflow for instantly relaying new notifications to email. This can be customized to notify workers in different ways (Slack, SMS, etc).
You will need at least Cerb 11.0 to follow along.
Installation
This workflow is built into Cerb 11.0+. It will automatically update.
You can enable it from Search » Workflows » (+) » @Mention Email Notifications.
Usage
Comment on any record (e.g. ticket) with an @mention
.

Cerb will send an email notification to the worker. You can find this in Setup » Mail » Outgoing » Queue or Setup » Mail » Outgoing » Log.

Reference
You can build your own @Mention Email Notifications workflow using this template as a reference.
Change occurrences of cerb.notifications.mention_emailer to your own workflow identifier. Use a prefix based on a domain you own (e.g. com.example.workflow
).
workflow:
name: cerb.notifications.mention_emailer
version@date: 2024-10-16T00:00:00Z
description: Email workers when they are @mentioned in a comment
website: https://cerb.ai/workflows/cerb.notifications.mention_emailer/
requirements:
cerb_version: >=11.0 <11.1
cerb_plugins: cerberusweb.core,
records:
automation/automationMentionEmail:
fields:
name: cerb.notifications.mention_emailer
extension_id: cerb.trigger.record.changed
description: Email workers when they are @mentioned in a comment
script@raw:
start:
# We only want to process newly created comments
outcome/validate:
if@bool:
{{
'created' != change_type
or record__context is not record type ('comment')
}}
then:
return:
# Find @mentions in the comment body
set:
mentions@json: {{cerb_extract_mentions(record_comment)|json_encode}}
# Send an email to each mentioned worker
repeat:
each@csv: {{mentions|keys|join(',')}}
as: i
do:
outcome/isWorker:
if@bool: {{mentions[i]._type is record type ('worker')}}
then:
record.create/draft:
output: new_draft
inputs:
record_type: draft
fields:
type: mail.transactional
is_queued@int: 1
queue_delivery_date@date: now
name: @mention notification for {{mentions[i]._label}}
to: {{mentions[i].address_email}}
params:
to: {{mentions[i].address_email}}
subject: [Cerb] You were @mentioned in a comment by {{record_author__label}}
content@text:
You were @mentioned in a comment by {{record_author__label}}
{{record_comment}}
Link: {{record_record_url}}
on_error:
policy_kata@raw:
commands:
record.create:
deny/type@bool: {{inputs.record_type is not record type ('draft')}}
allow@bool: yes
automation_event_listener/listener_mentions:
fields:
name: @mentions Emailer
event_name: record.changed
priority: 200
is_disabled: 0
event_kata@raw:
automation/mentions:
uri: cerb:automation:cerb.notifications.mention_emailer
disabled@bool:
{{
'created' != change_type
or record__context is not record type ('comment')
or '@' not in record_comment
}}