List of Configurable Signals and their Parameters¶
16 min read
[admin-level article]
Important
This RG article is intended for Signals Managers, i.e. users that are allowed to create signals for an organization or a team. It enlists the available configurable Revenue signals, their descriptions, parameters, and templates.
Revenue Signals are manually or automatically created alerts for sales representatives that notify about important occurrences and overall deal progress. They ensure that no event, email, or status change remains unnoticed or unreplied.
When a deal reaches a specific stage or a critical occurrence takes place (a new email received, a meeting invite is unresponded for a particular number of days, etc.), signals notify the accountable employees about that and suggest the next steps to take.
Besides the signals enabled by default and manually created signals, Revenue Grid revenue intelligence package includes a flexible Signal Builder for creating custom signals of specific types. Below, you can find the detailed overview of the available signals presets, their configurable parameters, and sample templates. The enlisted signals presets are available by default.
Tip
Refer to this article for an overview of Revenue signals for end users and to this RGES article to learn how to manage signals directly from your email client
1. Chosen conditions met for the Salesforce object¶
Description
This signal will be triggered when the chosen object meets all configured conditions.
The generic Salesforce check job is intended to collect Salesforce objects which match the predefined filter and generate a signal for each of such objects.
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the GenericSalesforceCheckConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Salesforce. Therefore this user must have complete visibility in Salesforce |
– |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
*/30 * * * * (i.e., every thirty minutes) |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After a specified time period (in hours), the signal is auto-dismissed. The value should be higher than or equal to 1 |
336 |
SignalScore |
Score to assign to the created signal |
-1 |
SignalPririty |
Priority of the generated signals Possible values are:
|
0 |
ObjectType |
Salesforce object type to which filter should be applied. Possible values are:
Required |
– |
ObjectFilter |
Filter which must be applied to all Salesforce objects of type ObjectType |
– |
FilterDescription |
Caption text that will be displayed in the email subject and teams notification title Required |
– |
RepeatSignalAfterDismissDays |
The number of days to wait before sending the signal again after the user dismissed it. The related Salesforce object should still satisfy the filter configurations. Valid value range: [1; 2147483647]. |
7 |
AssigneeType |
Indicates to whom the created signals will be assigned. Possible values are:
|
– |
MaxMatchingObjectsCount |
The maximum number of Salesforce objects matching ObjectFilter for which signals are created. If the total number of matching objects exceeds the value specified in this parameter, then any signals will be created Valid value range: [1; 2147483647]. |
25 |
AssigneesSignalsIds |
The array of signal Users IDs in JSON format which must be used as signal assignees Must contain at least one item if AssigneeType is set to 3 (ListedUsers) |
– |
SignalBodyTemplate |
Razor template should be used to render signal body |
– |
IsEmailNotificationEnabled |
Indicates whether email notification will be sent to assignees after signal is created |
true |
EmailNotificationTemplate |
Razor template should be used to render email notification body |
– |
IsTeamsNotificationEnabled |
Indicates whether Teams notification will be sent to assignees after signal is created |
true |
TeamsNotificationTemplate |
Razor template to be used to render Teams notification body |
– |
LastRunDate |
The date and time job configuration was last executed Readonly |
– |
LastRunStatus |
Configuration execution status:
Readonly |
– |
Click to see the examples of signal settings
Examples of signal settings
-
I am a Sales Manager and I want to get reminders if the opportunity is less than 90, 60, or 30 days away from the close date
The opportunity is less than 90 days away from the close date
The opportunity is less than 60 days away from the close date
The opportunity is less than 30 days away from the close date
-
I am a Sales Contributor and I want to get reminders if the opportunity is less than 15 days away from the close date and is at the "Proposal Price Quote" stage
-
I'm a Sales Contributor and I want to get a notification if the close date has passed and the opportunity isn’t closed
-
I am a Sales Contributor and I want to get a notification if the opportunity is closed with an amount of more than $50 000.
-
I am a Sales Director and I want my employees to get reminders if the Title of the Lead is not filled in and the Status is not “Close-Converted”
-
I am a Sales Director and I want my employees to get a reminder if the Created date of the Lead is more than 30 days ago and has the “Opened-Not Contacted” status
-
I am a Sales Director and I want my employees to get reminders if the open opportunity doesn't have any next steps
-
I am a CEO and I want to get a notification if an opportunity was created with the value exceeding $50,000
2. Follow-up reminder after meeting with a prospect¶
Description
This signal automatically reminds the sales reps to send follow-ups after meetings if there has been no registered interaction with the relevant contact associated with a Lead since the meeting.
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the LeadMeetingFollowupReminderConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Salesforce, PeopleGraph, and Signals. Therefore this user must have complete visibility in Salesforce and on the Signals page |
- |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful for this purpose) |
0 */2 * * * (i.e., every two hours) |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (in hours), the signal is auto-dismissed |
240 |
SignalScore |
Score to assign to the created signal |
-1 |
FollowupCheckTimeoutHours |
Number of hours to wait after the event start date before checking for missing follow-up email |
24 |
LeadFilter |
SOQL query to select only significant leads (e.g. Lead_Score_SQL__c = 'X1' OR Lead_Score_SQL__c = 'X2') |
- (i.e., all Leads are applicable) |
3. Meeting follow-up reminder for the open opportunity prospect¶
Description
This signal automatically reminds sales reps to send follow-ups after meetings if there has been no registered interaction with the relevant Contact associated with an Opportunity since the meeting.
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the OpportunityMeetingFollowupReminderConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Salesforce, PeopleGraph, and Signals. Therefore this user must have complete visibility in Salesforce and Signals |
– |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 */2 * * * (i.e., every two hours) |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
240 |
SignalScore |
Score to assign to the created signal |
-1 |
FollowupCheckTimeoutHours |
Number of hours to wait after the event start date before checking for missing follow-up email |
24 |
OpportunityFilter |
SOQL query WHERE clause to select only significant Opportunities (e.g. Amount > 10000) |
IsClosed <> true AND Probability > 0 (abovementioned filter cannot be changed; the custom filter is combined (using AND) with the base filter) |
MatchOpportunitiesByAccount |
Flag indicating how to find the Opportunities that are related to event participants:
|
True |
4. No interaction with the open opportunity prospects¶
Description
The user gets a notification when there is no communication within an open Opportunity during a specific time period.
-
The Opportunity stage is not 100% Won/Lost
-
Opportunity close date is equal to or later than TODAY
-
No scheduled meeting found for the Opportunity
-
For Opportunities with a stage less than 50%:
-
No activity (email/meeting) found for the Opportunity within the last 30 days
-
-
For Opportunities with a stage 50% and more:
-
No activity (email/meeting) found for the Opportunity during the last 15 days
-
-
Auto-dismiss signals if:
-
Activity appeared in the Opportunity
-
SF Next step was updated
-
New scheduled meetings appeared
-
-
Signal recipient: Opportunity owner
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the NoCommunicationInOpenOpportunityForLastNDaysConfiguration table in the signals database.
Parameter |
Description |
Default value / Comments |
---|---|---|
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 */1 * * * Please note that currently, only the UTC time zone is supported, so if you want |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
336 |
SignalScore |
Score to assign to the created signal |
-3 |
StageBoundaryValue |
This value is used to split Opportunities into 2 sets:
You can configure separate date range for each set. |
50 |
AfterStageBoundaryPeriodInDays |
This value is used to construct dates filter for Opportunities having [Probability] >= [StageBoundaryValue] oppt[Probability] >= [StageBoundaryValue] and [CreatedDate] <= [UtcCurrentDate - AfterStageBoundaryPeriodInDays] |
15 days |
BeforeStageBoundaryPeriodInDays |
This value is used to construct dates filter for Opportunities having [Probability] < [StageBoundaryValue] oppt[Probability] < [StageBoundaryValue] and [CreatedDate] <= [UtcCurrentDate - BeforeStageBoundaryPeriodInDays] |
30 days |
RepeatSignalAfterDismissIntervalInDays |
Interval for repeating dismissed signal |
7 days |
OpportunityCloseDateUpperBoundaryInDays |
This value is used to construct dates range filter for Opportunities [CloseDate] field value: oppty[CloseDate] <= [UtcCurrentDate + OpportunityCloseDateUpperBoundaryInDays] |
180 days |
SalesForceOpportunitiesMasterFilter |
Additional filter that can be applied for selected Opportunities |
|
SignalBodyTemplate |
Razor page signal body template |
See below |
Click to see the default signal body template
Default signal body template
<div class="signals-body">
@if (Model.LastTouch == null)
{
<h3>No activities found</h3>
}
else
{
if (!string.IsNullOrEmpty(Model.LastTouch.Recipients))
{
<b>Suggested action:</b>
<ul>
<li>Send follow up to @Model.LastTouch.Recipients</li>
</ul>
}
<p/>
<b>Last @Model.LastTouch.ActivityType:</b>
<ul>
<li><b>Subject:</b> @Model.LastTouch.Subject</li>
<li><b>Date:</b> @Model.LastTouch.Date</li>
<li><b>From:</b> @Model.LastTouch.From</li>
<li><b>To:</b> @Model.LastTouch.To</li>
<li><b>Cc:</b> @Model.LastTouch.Cc</li>
</ul>
if (!string.IsNullOrEmpty(Model.LastTouch.Body))
{
<hr/>
@Raw(@Model.LastTouch.Body)
}
}
</div>
<style>
.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: inline-block;
vertical-align: text-top;
width: 500px;
}
.signals-body {
font-family: 'Nunito Sans', sans-serif !important;
font-size: 14px !important;
font-weight: 400;
line-height: 1.5;
color: #3e5569;
text-align: left;
}
</style>
5. No next steps for an open opportunity¶
Description
This signal reminds an Opportunity owner that there's no next step planned for an open Opportunity.
This signal is pushed to the Opportunity owner when there is no next step scheduled for an open Opportunity.
Use case
-
Signal score: -5
-
Opportunity stage is not in 100%
-
The close date is actual
-
Next meeting (SF or CH) AND SF task AND SF Next step wasn't found
-
Check period: every 1 day
-
Auto-resolve signal if some next step appeared for the Opportunity
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the OpportunityNextStepNotScheduledConfiguration table in the signals database.
Parameter |
Description |
Default value / Comments |
---|---|---|
SalesForceOpportunitiesMasterFilter |
SOQL filter expression to be added to the default Opportunities filter expression |
|
RepeatSignalAfterDismissInDays |
Dismissed signal may be reactivated after specified time period (number of days) if it's still actual |
7 |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 9 * * * Please note that currently only the UTC time zone is supported, so if you want |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
240 |
SignalScore |
Score to assign to the created signal |
-5 |
6. Response delay from a prospect¶
Description
This signal notifies the sales reps that their Leads haven't been responded to for a number of days.
This signal is sent if the external recipient of the email did not send any outbound email and did not participate in any meeting after the original email was sent.
If any Lead related to an active "no response from Lead" signal is no longer treated as significant or Contact related to that Lead was involved in any interaction (has an inbound or outbound email or participated in a meeting) since the original email was sent, then the corresponding signal is auto-dismissed.
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the NoResponseFromLeadConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Salesforce, PeopleGraph, Signals, and Drip. Therefore this user must have complete visibility in Salesforce, Signals, and Drip |
– |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 */2 * * 1-5 (i.e., every two hours on workdays) |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
240 |
SignalScore |
Score to assign to the created signal |
-1 |
ResponseCheckWorkdays |
For how long to wait (the number or business days) since email receipt before generating the "no response from Lead" signal |
5 |
LeadFilter |
SOQL query to select only significant leads (e.g. Lead_Score_SQL__c = 'X1' OR Lead_Score_SQL__c = 'X2') |
– (i.e., all Leads are applicable) |
LeadIdentityFieldName |
Name of Salesforce Lead field, which identifies Lead. This field's value is used in the signal subject to reference the Lead. e.g. "No response from our side to X1 lead..." if LeadIdentityFieldName = Lead_Score_SQL__c "No response from our side to John Dow lead..." if LeadIdentityFieldName = Name. "No response from our side to [email protected] lead..." if LeadIdentityFieldName = Email. |
Name |
SkipContactsInActiveDripCampaign |
Flag indicating whether to skip Leads that are currently under an active Drip sequence |
True |
7. Response delay from the open opportunity prospect¶
Description
This signal notifies the sales reps when their Opportunity contacts haven't been responded to for a number of days.
This signal is sent if any Contact related to the same Opportunity as the original recipient of the email did not send any outbound email and did not participate in any meeting after the original email was sent.
If any Opportunity related to an active "no response from Opportunity" signal is no longer treated as significant, or Contact related to that Opportunity was involved in any interaction (has an inbound or outbound email or participated in a meeting) since the original email was sent then corresponding signal is auto-dismissed.
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the NoResponseFromOpportunityConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Salesforce, PeopleGraph, Signals, and Drip. Therefore this user must have complete visibility in Salesforce, Signals, and Drip |
– |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 */2 * * 1-5 (i.e., every two hours on workdays) |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
240 |
SignalScore |
Score to assign to the created signal |
-1 |
ResponseCheckWorkdays |
For how long to wait (the number or business days) since email receipt before generating the "no response from Opportunity" signal |
5 |
OpportunityFilter |
SOQL query WHERE clause to select only significant Opportunities (e.g. Amount > 10000) |
|
MatchOpportunitiesByAccount |
Flag indicating how to find the Opportunities that are related to email:
|
True |
SkipContactsInActiveDripCampaign |
Flag indicating whether to skip contacts that are currently under an active Drip sequence |
True |
8. Response delay to a prospect¶
Description
This signal notifies the sales reps that an email from a Lead hasn't been replied to for a number of days.
This signal is sent if the sender of the email did not receive any inbound emails and did not participate in any meeting after the original email was sent.
If any lead related to an active "no response to Lead" signal is no longer treated as significant, or Contact related to that Lead was involved in any kind of interaction (has an inbound or outbound email or participated in a meeting) since the original email was sent then corresponding signal is auto-dismissed.
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the NoResponseToLeadConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Salesforce, PeopleGraph, Signals, and Drip. Therefore this user must have complete visibility in Salesforce, Signals, and Drip |
– |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 */2 * * 1-5 (i.e., every two hours on workdays) |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
240 |
SignalScore |
Score to assign to the created signal |
-1 |
ResponseCheckWorkdays |
The number of business days since email receipt before the "no response to Lead" signal is created |
5 |
LeadFilter |
SOQL query to select only significant leads (e.g. Lead_Score_SQL__c = 'X1' OR Lead_Score_SQL__c = 'X2') |
– (i.e. all Leads are applicable) |
LeadIdentityFieldName |
Name of Salesforce Lead field, which identifies lead. This field's value is used in the signal subject to reference the Lead. e.g. "No response from our side to X1 lead..." if LeadIdentityFieldName = Lead_Score_SQL__c "No response from our side to John Dow lead..." if LeadIdentityFieldName = Name. "No response from our side to [email protected] lead..." if LeadIdentityFieldName = Email. |
Name |
SkipContactsInActiveDripCampaign |
Flag indicating whether to skip Leads that are currently involved in an active Drip sequence |
True |
9. Response delay to the open opportunity prospect¶
Description
This signal notifies sales reps that an email from an Opportunity hasn't been replied to for a number of days.
This signal is generated if the sender of the email did not receive any inbound emails and did not participate in any meeting after the original email was sent.
If any opportunity related to an active "no response to Opportunity" signal is no longer treated as significant, or Contact related to that Opportunity was involved in any interaction (has an inbound or outbound email or participated in the meeting) since the original email was sent then corresponding signal is auto-dismissed.
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the NoResponseToOpportunityConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Salesforce, PeopleGraph, Signals, and Drip. Therefore this user must have complete visibility in Salesforce, Signals, and Drip |
– |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 */2 * * 1-5 (i.e., every two hours on workdays) |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
240 |
SignalScore |
Score to assign to the created signal |
-1 |
ResponseCheckWorkdays |
For how long to wait (the number or business days) since email receipt before generating the "no response to Opportunity" signal |
5 |
OpportunityFilter |
SOQL query WHERE clause to select only significant Opportunities (e.g. Amount > 10000) |
|
MatchOpportunitiesByAccount |
Flag indicating how to find Opportunities that are related to email:
|
True |
SkipContactsInActiveDripCampaign |
Flag indicating whether to skip contacts that are currently involved in an active Drip sequence |
True |
10. Opportunity renewal reminder¶
Decription
This signal notifies about the upcoming renewal date for your Opportunity
-
The customer sets up an opportunities filter to select matching records
-
Signals for matching Opportunities are generated every business day, and the Opportunity's CloseDate value is used to generate the signal titles
-
If a signal for a given Opportunity already exists, but it's "too old", a reminder signal is generated
-
If a reminder already exists, but it's "too old" it's "snoozed"
Patameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the OpportunityRenewalReminderConfiguration table in the signals database.
Parameter |
Description |
Default value / Comments |
---|---|---|
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 0 * * 1-5 Please note that currently only the UTC time zone is supported, so if you want |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
336 |
SignalScore |
Score to assign to the created signal |
-1 |
RepeatSignalAfterDismissIntervalInDays |
Interval for repeating dismissed signal |
7 days |
SalesForceOpportunitiesFilter |
Custom filter for matching Opportunities selection |
See the signal workflow section |
OverdueInDays |
This value is used to find outdated signals/reminders. |
3 |
SignalBodyTemplate |
Razor page signal body template |
See below |
Click to see the default signal body template
Default signal body template
<div class="signals-body">
<h3>Suggested Actions:</h3>
<ul>
<li>Update the renewal date for @Helper.FormatSalesforceLink(@Model.Opportunity.Name, @Model.Opportunity.Id)</li>
@if (!string.IsNullOrEmpty(Model.Opportunity?.Account?.Id) && !string.IsNullOrEmpty(Model.Opportunity?.Account?.Name))
{
<li>Follow up with your contact from @Helper.FormatSalesforceLink(@Model.Opportunity.Account.Name, @Model.Opportunity.Account.Id)</li>
}
</ul>
</div>
<style>
.signals-body {
font-family: 'Nunito Sans', sans-serif !important;
font-size: 14px !important;
font-weight: 400;
line-height: 1.5;
color: #3e5569;
text-align: left;
}
</style>
11. The close date doesn’t correspond to the stage¶
Description
This signal notifies when low-stage Opportunities get close to their Close dates.
The Opportunity stage alert signal is intended to notify a user when any of their Opportunities does not meet recommendations depending on the time remaining to the Opportunity close date. Recommendations are based on the Opportunity’s probability and next step update interval.
Patameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the OpportunityStageAlertConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Salesforce. Therefore this user must have complete visibility in Salesforce |
- |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
*/30 * * * 1-5 (i.e. every thirty minutes) |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
72 |
SignalScore |
Score to assign to the created signal |
-1 |
RepeatSignalAfterDismissDays |
The number of days to wait before sending the signal after the user dismissed it if the opportunity still does not meet the recommendation. Valid value range: [-1; 2147483647]. -1 means that this signal will never be sent again for a particular Opportunity after the user dismisses it. |
7 |
Stage1DaysTillCloseDate |
Number of days before the Opportunity close date for the first recommendation Valid value range: [1; 2147483647]. |
30 |
Stage1Probability |
Expected probability for the first recommendation Valid value range: [1; 99]. |
50 |
Stage1NextStepUpdateIntervalDays |
Expected Opportunity next step update frequency for the first recommendation Valid value range: [0; 2147483647] 0 means that the next step update frequency does not matter |
3 |
Stage1OpportunityFilter |
SOQL query WHERE clause to select only a subset of Opportunities for the first recommendation (e.g. Amount > 10000) |
- |
Stage2DaysTillCloseDate |
Number of days before the Opportunity close date for the second recommendation Valid value range: [1; 2147483647]. |
45 |
Stage2Probability |
Expected probability for the send recommendation Valid value range: [1; 99]. |
30 |
Stage2NextStepUpdateIntervalDays |
Expected Opportunity next step update frequency for the second recommendation Valid value range: [0; 2147483647] 0 means that the next step update frequency does not matter |
0 |
Stage2OpportunityFilter |
SOQL query WHERE clause to select only a subset of Opportunities for a second recommendation (e.g. Amount > 10000) |
– |
12. Context reminder before the meeting with a Prospect¶
Description
An automatic reminder for sales reps to mention a certain topic during upcoming events.
This signal is designed for people with the authority to set up signals for other users within the org.
This signal is a live recurrent reminder of sales playbook steps associated with the particular group of objects AND a signal for updates from the sales playbook.
Conditions
-
The user needs to set up a custom reminder linked to a certain activity type
-
The recipient of the signal should be an event owner/event organizer
-
Activities are taking place in the future, first – check ClickHouse, then use Salesforce as a source of data. If it is a call activity – only Salesforce
-
Object/Activity type is defined by the user by filters
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the MeetingReminderConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Salesforce. Therefore this user must have full visibility there. |
– |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
*/15 * * * 1-5 (i.e., every 15 minutes) |
AutoDismissSignalAfterHours |
The number of hours signal remains actual since its due date. After the specified time period (number of hours), the signal is auto-dismissed |
72 |
SignalScore |
Score to assign to the created signal |
0 |
IsTeamsNotificationEnabled |
Flag indicating whether this job should send a signal to Microsoft Teams bot |
true |
IsPushNotificationEnabled |
Flag indicating whether this job should send signal as a push notification |
true |
TeamsNotificationTemplate |
Microsoft Teams notification template |
The default template |
RelatedObjectType |
Enum, defines a type of Salesforce object, meeting should be related to. Possible values: Lead = 0, |
0 (Lead) |
RelatedObjectTypeFilter |
SOQL string filter, applied to RelatedObjectType. |
CreatedDate = LAST_N_DAYS:365 |
EventDataSource |
Enum, defines a source and object type of meetings processed by signal: SalesforceEvent = 0, |
0 (Salesforce event) |
SalesforceEventFilter |
SOQL string filter applied on event or task. Applied on EventDataSource != 2 |
null (empty) |
ContactRolesMode |
Enum, defines a mode of processing Opportunity contacts, applied only for RelatedObjectType = 2: Disabled = 0, |
0 (Disabled) |
ContactRolesNames |
JSON Array of contact roles to be filtered. Applied only when ContactRolesMode != 0. |
[] (empty array) |
SendReminderBeforeMinutes |
Minutes (more than 0) before the meeting when the signal should appear |
15 |
ReminderMessage |
A reminder message string |
null (empty) |
ActiveAfterDateTime |
A date-time, a job is active after (should be less than ActiveBeforeDateTime) |
DateTime.MinValue |
ActiveBeforeDateTime |
A date-time, a job is active before (should be greater than ActiveAfterDateTime) |
DateTime.MaxValue |
SignalBodyTemplate |
UI notification template |
The default template |
13. Summary received for the past event¶
Description
This signal notifies sales reps that they received the summary of the past event from the organizer.
The sales rep held the meeting with the customer and sent a summarizing email after the meeting. If the sales rep missed this step, the one would get a signal Follow up reminder after meeting with the Opportunity contact.
The signal consists of the following data in summary:
- The Opportunity Name
- The Follow-up sender’s Name
- Email recipient’s Names
- Date of the email
- Email body
- Subject line
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the SummaryReceivedForPastEventFromSalesRep table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Salesforce, PeopleGraph, and Signals. Therefore this user must have complete visibility in Salesforce and Signals |
– |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 */2 * * * (i.e., every two hours) |
HierarchyRoleName |
Name of Salesforce role, for which hierarchy will be built (mandatory if TeamQueryMode = 0 (by hierarchy)) |
CEO (*) (* - NULL by default, should be filled) |
AutoDismissSignalAfterHours |
The number of hours signal remains actual since its due date. After the specified time period (number of hours), the signal is auto-dismissed |
240 |
SignalScore |
Score to assign to the created signal |
0 |
OpportunityFilter |
SOQL query WHERE clause intended to select only significant opportunities (e.g. Amount > 10000) |
IsClosed <> true AND Probability > 0 (abovementioned filter cannot be changed; the custom filter is combined (using AND) with the base filter) |
MatchOpportunitiesByAccount |
Flag indicating how to find Opportunities that are related to event participants:
|
True |
AssigneeUserId |
Mandatory. |
|
TeamSignalUsersIds |
A string, JSON array of signals User IDs of a team (mandatory if TeamQueryMode = 1 (by signal ids)) |
JSON array of strings. |
TeamQueryMode |
Enum, values 0 – by hierarchy, 1 – by signals IDs; determines the strategy of querying users of a team |
0 |
MaxSummaryResponseTime |
The time span, the time between an event and a summary email |
4 |
14. Summary: Team meetings with customers¶
Description
A daily summary of important, upcoming customer meetings.
The digest is sent on workdays, not earlier than DigestTime. It includes the meetings for last, current, and future workdays.
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable parameters
Configuration parameters are stored in the TeamMeetingsDigestConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that is used to query data from Salesforce, PeopleGraph, Signals, and Drip. Therefore, this user must have complete visibility in Salesforce, Signals, and Drip |
– |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
*/30 * * * * (i.e., every 30 minutes) |
TeamQueryMode |
Mode of team participants query. Values: 0 - ByHierarchy, 1 - BySignalIds. |
0 (ByHierarchy) |
HierarchyRoleName |
Name of Salesforce role, for which hierarchy will be built (mandatory if TeamQueryMode = 0) |
CEO (*) (* - NULL by default, should be filled) |
TeamSignalsIds |
JSON array of signal IDs to be queried as a team for digest (mandatory if TeamQueryMode = 1) |
the array of Guid (*) (* - NULL by default, should be filled) |
RecipientsEmailAddresses |
JSON array of email addresses to receive a digest (f.e., ["andy.young@revenuegrid.com"]) |
– (Email message with a digest will be sent to all managers) |
OpportunityFilter |
SOQL query WHERE clause to select only significant Opportunities |
– (all Opportunities) |
TimeZoneOffsetTicks |
Time zone offset in ticks; ticks from the UTC time zone. Filled in automatically based on Salesforce time zone of AssigneeUser or ContextUser. |
|
DigestTime |
Digest time in time zone defined by TimeZoneOffsetTicks |
08:00:00 |
AssigneeUserId |
The main recipient of the signal. RG signal will be assigned to this user, as well as the time zone determined. If there is an Email in Salesforce for this user, it will also be added to the list of recipients (Mandatory) |
15. Summary: Top templates by success rate¶
Description
Monthly summary of top templates by success rate.
This signal shows what templates performed best in terms of success rate over a specific period of time, e.g., LAST 30 days.
Admins receive this signal once a week.
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the TopRatedTemplatesStatsConfiguration table in the signals database.
Parameter |
Description |
Default value / Comments |
---|---|---|
PeriodInDays |
Number of days the selection is made for |
default value – 30 days, min value – 1 day |
NotificationUserId |
The ID of the signals User that will receive the selected data |
No default value, this user must be specified before running the signal |
MaxItemsCount |
Max number of items to select for the rating |
20 |
SignalBodyTemplate |
Signal body template in Razor syntax |
see signal body template below |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 9 * * FRI Please note that currently, only the UTC time zone is supported, so if you want |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
336 |
SignalScore |
Score to assign to the created signal |
-1 |
Click to see the sample signal body template
Sample signal body template
<div class="signals-body">
@if (Model.Stats != null && Model.Stats.Any())
{
<table class="digest-table">
<caption><h3>Templates</h3></caption>
<thead>
<tr class="table-header">
<th class="align-items-center"><span class="mr-15">Name</span></th>
<th class="align-items-center"><span class="mr-15">Created</span></th>
<th class="align-items-center"><span class="mr-15">Success rate (@Model.Period)</span></th>
<th class="align-items-center"><span class="mr-15">Success rate (general)</span></th>
</tr>
</thead>
<tbody>
@foreach (var mt in Model.MailTemplatesStats)
{
<tr>
<td><span class="text-truncate mr-15"><a class="font-weight-bold" href="@mt.DripsUrl" target="_blank">@mt.Name</a></span></td>
<td class="align-right nowrap"><span class="mr-15">@mt.Created</span></td>
<td class="numeric-cell"><span class="mr-15">@mt.RecipientsSuccessRate</span></td>
<td class="numeric-cell"><span class="mr-15">@mt.OverallHistoricalSuccessRate</span></td>
</tr>
}
</tbody>
</table>
}
</div>
<style>
.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: inline-block;
vertical-align: text-top;
width: 500px;
}
.mr-15 {
margin-right: 15px;
}
.signals-body {
font-family: 'Nunito Sans', sans-serif !important;
font-size: 14px !important;
font-weight: 400;
line-height: 1.5;
color: #3e5569;
text-align: left;
}
.align-right {
text-align: right;
}
.nowrap {
white-space: nowrap;
}
.ci-circle-information::before {
content: "\f118";
}
.ci::before {
font-family: ci !important;
font-style: normal;
font-weight: normal !important;
vertical-align: middle;
}
.ci {
line-height: 1;
display: inline;
margin-right: 5px;
}
*, ::after, ::before {
box-sizing: border-box;
}
.align-items-center {
-ms-flex-align: center !important;
align-items: center !important;
}
.table-header {
border-bottom: 1px solid #dee2e6 !important;
white-space: nowrap;
}
.font-weight-bold {
font-weight: 700 !important;
}
a, a:hover {
text-decoration: none !important;
background-color: transparent;
}
a:not(.sidebar-link, .breadcrumb, .settings-link), a:hover:not(.sidebar-link, .breadcrumb, .settings-link) {
color: #316BBA;
}
.numeric-cell {
padding-left: 20px;
padding-right: 5px;
vertical-align: top;
text-align: right;
white-space: nowrap;
}
.prompt {
border-radius: .25em;
min-width: 54px;
padding: .25rem;
padding-left: .5rem;
padding-right: .5rem;
display: inline-block;
margin: 5px 0 5px;
}
td:first-child {
padding-right: 40px;
}
tr:first-child > td {
padding-top: 10px;
}
.bg-good {
background: #eff4eb;
}
.table-header > th {
border-bottom: 1px solid #dee2e6 !important;
}
.digest-table {
border-collapse: collapse;
}
.side-btn {
position: absolute;
right: 10px !important;
top: 0px;
text-align: center;
vertical-align: middle;
display: inline !important;
}
.side-btn > span {
vertical-align: sub;
}
.btn:not(:disabled):not(.disabled) {
cursor: pointer;
}
.btn-secondary:not(.active) {
background-color: #2F3341 !important;
}
.btn {
border-radius: 5px;
}
.btn-secondary, .btn-secondary:hover {
border: 1px solid #2F3341 !important;
}
.btn-secondary {
min-width: 125px;
height: 40px;
color: #fff !important;
background-color: #6c757d;
border-color: #6c757d;
}
.btn {
height: 40px;
transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out !important;
padding: .375rem .75rem !important;
font-size: .875rem !important;
align-items: center;
}
.btn-secondary:hover:not(.disabled) {
background: white !important;
color: #2F3341 !important;
}
.btn-secondary, .btn-secondary:hover {
border-color: #2F3341 !important;
}
.btn:hover {
transform: none !important;
box-shadow: none !important;
}
.btn:hover {
color: #212529;
/* text-decoration: none; */
}
</style>
16. Summary: Top sequences by success rate¶
Description
Monthly summary of top sequences by success rate.
This signal shows what sequences performed best in terms of success rate over a period of time, e.g., LAST 30 days.
Admins receive this signal once a week.
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the TopRatedCampaignsStatsConfiguration table in the signals database.
Parameter |
Description |
Default value / Comments |
---|---|---|
PeriodInDays |
Number of days the selection is made for |
default value – 30 days, min value – 1 day |
NotificationUserId |
The ID of the signals user that will receive the selected data |
No default value, this user must be specified before running the signal. |
MaxItemsCount |
Max number of items to select for the rating |
20 |
SignalBodyTemplate |
Signal body template in Razor syntax |
see signal body template below |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 9 * * FRI Please note that currently only UTC time zone is supported, so if you want |
AutoDismissSignalAfterHours |
The number of hours signal remains actual since its due date. After the specified time period (the number of hours), the signal is auto-dismissed |
336 |
SignalScore |
Score to assign to the created signal |
-1 |
Click to see the sample signal body template
Sample signal body template
<div class="signals-body">
@if (Model.Stats != null && Model.Stats.Any())
{
<table class="digest-table">
<caption><h3>Sequences</h3></caption>
<thead>
<tr class="table-header">
<th class="align-items-center"><span class="mr-15">Name</span></th>
<th class="align-items-center"><span class="mr-15">Created</span></th>
<th class="align-items-center"><span class="mr-15">Recipients</span></th>
<th class="align-items-center"><span class="mr-15">Success rate (@Model.Period)</span></th>
<th class="align-items-center"><span class="mr-15">Success rate (general)</span></th>
</tr>
</thead>
<tbody>
@foreach (var cs in Model.CampaignsStats)
{
<tr>
<td><span class="text-truncate mr-15"><a class="font-weight-bold" href="@cs.DripsUrl" target="_blank">@cs.Name</a></span></td>
<td class="align-right nowrap"><span class="mr-15 align-right">@cs.Created</span></td>
<td class="numeric-cell"><span class="mr-15">@cs.RecipientsCount</span></td>
<td class="numeric-cell"><span class="mr-15">@cs.RecipientsSuccessRate</span></td>
<td class="numeric-cell"><span class="mr-15">@cs.OverallHistoricalSuccessRate</span></td>
</tr>
}
</tbody>
</table>
}
</div>
<style>
.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: inline-block;
vertical-align: text-top;
width: 500px;
}
.mr-15 {
margin-right: 15px;
}
.signals-body {
font-family: 'Nunito Sans', sans-serif !important;
font-size: 14px !important;
font-weight: 400;
line-height: 1.5;
color: #3e5569;
text-align: left;
}
.align-right {
text-align: right;
}
.nowrap {
white-space: nowrap;
}
.ci-circle-information::before {
content: "\f118";
}
.ci::before {
font-family: ci !important;
font-style: normal;
font-weight: normal !important;
vertical-align: middle;
}
.ci {
line-height: 1;
display: inline;
margin-right: 5px;
}
*, ::after, ::before {
box-sizing: border-box;
}
.align-items-center {
-ms-flex-align: center !important;
align-items: center !important;
}
.table-header {
border-bottom: 1px solid #dee2e6 !important;
white-space: nowrap;
}
.font-weight-bold {
font-weight: 700 !important;
}
a, a:hover {
text-decoration: none !important;
background-color: transparent;
}
a:not(.sidebar-link, .breadcrumb, .settings-link), a:hover:not(.sidebar-link, .breadcrumb, .settings-link) {
color: #316BBA;
}
.numeric-cell {
padding-left: 20px;
padding-right: 5px;
vertical-align: top;
text-align: right;
white-space: nowrap;
}
.prompt {
border-radius: .25em;
min-width: 54px;
padding: .25rem;
padding-left: .5rem;
padding-right: .5rem;
display: inline-block;
margin: 5px 0 5px;
}
td:first-child {
padding-right: 40px;
}
tr:first-child > td {
padding-top: 10px;
}
.bg-good {
background: #eff4eb;
}
.table-header > th {
border-bottom: 1px solid #dee2e6 !important;
}
.digest-table {
border-collapse: collapse;
}
.side-btn {
position: absolute;
right: 10px !important;
top: 0px;
text-align: center;
vertical-align: middle;
display: inline !important;
}
.side-btn > span {
vertical-align: sub;
}
.btn:not(:disabled):not(.disabled) {
cursor: pointer;
}
.btn-secondary:not(.active) {
background-color: #2F3341 !important;
}
.btn {
border-radius: 5px;
}
.btn-secondary, .btn-secondary:hover {
border: 1px solid #2F3341 !important;
}
.btn-secondary {
min-width: 125px;
height: 40px;
color: #fff !important;
background-color: #6c757d;
border-color: #6c757d;
}
.btn {
height: 40px;
transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out !important;
padding: .375rem .75rem !important;
font-size: .875rem !important;
align-items: center;
}
.btn-secondary:hover:not(.disabled) {
background: white !important;
color: #2F3341 !important;
}
.btn-secondary, .btn-secondary:hover {
border-color: #2F3341 !important;
}
.btn:hover {
transform: none !important;
box-shadow: none !important;
}
.btn:hover {
color: #212529;
/* text-decoration: none; */
}
</style>
17. Summary: Top engaged sequence prospects¶
Description
A daily summary of top engaged Leads of your active sequences.
The Top Engaged Leads signal is intended for:
-
maintaining the Top Engaged tag on Drip contacts
-
maintaining the Action Required tag on Drip contacts
-
sending daily notifications about top engaged Leads to Drip contacts' owner
On schedule, for each Drip contact, the signal retrieves an active sequence within which the Contact was added for the last time. Only Contacts in the “InProgress” state and campaigns in the “Running” state are considered.
For each Contact, the last sequence pair retrieves the number of link clicks, and email opens from MailApp
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the TopEngagedLeadsConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Drip and MailApp. Therefore this user must have complete visibility there. |
– |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e. customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 8 * * * (i.e., every day at 8:00 AM) |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
24 |
SignalScore |
Score to assign to the created signal |
0 |
ContactsCount |
The number of most active Contacts to collect. Valid value range (0; 2147483647] |
20 |
SignalBodyTemplate |
Signal body template in Razor syntax |
see the signal body template below |
Click to see the signal body template
Signal body template
<div class="signals-body">
<div>We have collected @(Model.Contacts.Count == 1 ? "" : Model.Contacts.Count + " ")top engaged @(Model.Contacts.Count == 1 ? "lead" : "leads") based on your active sequences</div>
<div class="prompt bg-good p-1 pl-3 pr-3 align-items-center"><i class="ci ci-circle-information"></i><span class="text-truncate">Suggested action: review and move @(Model.Contacts.Count == 1 ? "lead" : "leads") to a special sequence.</span></div>
<table class="digest-table">
<thead>
<tr class="table-header">
<th class="align-items-center"><span class="text-truncate mr-15">Name</span></th>
<th class="align-items-center"><i class="ci ci-small ci-eye"></i><span class="text-truncate mr-15">Opens</span></th>
<th class="align-items-center"><i class="ci ci-small ci-click"></i><span class="text-truncate mr-15">Clicks</span></th>
</tr>
</thead>
<tbody>
@foreach (var contact in Model.Contacts)
{
<tr>
<td><a class="font-weight-bold" href="@contact.DripUrl">@contact.Name</a><br>@contact.Title</td>
<td class="numeric-cell">@contact.OpensCount</td>
<td class="numeric-cell">@contact.ClicksCount</td>
</tr>
}
</tbody>
</table>
<a href="@Model.ActionRequiredContactsUrl" class="btn btn-secondary side-btn"><span class="align-items-center">View Leads</span></a>
</div>
<style>
.text-truncate {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
display: inline;
vertical-align: text-top;
}
.mr-15 {
margin-right: 15px;
}
.signals-body {
font-family: 'Nunito Sans', sans-serif !important;
font-size: 14px !important;
font-weight: 400;
line-height: 1.5;
color: #3e5569;
text-align: left;
}
.ci-eye::before {
content: "\f12f";
}
.ci-circle-information::before {
content: "\f118";
}
.ci::before {
font-family: ci !important;
font-style: normal;
font-weight: normal !important;
vertical-align: middle;
}
.ci {
line-height: 1;
display: inline;
margin-right: 5px;
}
*, ::after, ::before {
box-sizing: border-box;
}
.ci-click::before {
content: "\f11c";
}
.align-items-center {
-ms-flex-align: center !important;
align-items: center !important;
}
.table-header {
border-bottom: 1px solid #dee2e6 !important;
}
.font-weight-bold {
font-weight: 700 !important;
}
a, a:hover {
text-decoration: none !important;
background-color: transparent;
}
a:not(.sidebar-link, .breadcrumb, .settings-link), a:hover:not(.sidebar-link, .breadcrumb, .settings-link) {
color: #316BBA;
}
.numeric-cell {
padding-left: 20px;
padding-right: 5px;
vertical-align: top
}
.prompt {
border-radius: .25em;
min-width: 54px;
padding: .25rem;
padding-left: .5rem;
padding-right: .5rem;
display: inline-block;
margin: 5px 0 5px;
}
td:first-child {
padding-right: 40px;
}
tr:first-child > td {
padding-top: 10px;
}
.bg-good {
background: #eff4eb;
}
.table-header > th {
border-bottom: 1px solid #dee2e6 !important;
}
.digest-table {
border-collapse: collapse;
}
.side-btn {
position: absolute;
right: 10px !important;
top: 0px;
text-align: center;
vertical-align: middle;
display: inline !important;
}
.side-btn > span {
vertical-align: sub;
}
.btn:not(:disabled):not(.disabled) {
cursor: pointer;
}
.btn-secondary:not(.active) {
background-color: #2F3341 !important;
}
.btn {
border-radius: 5px;
}
.btn-secondary, .btn-secondary:hover {
border: 1px solid #2F3341 !important;
}
.btn-secondary {
min-width: 125px;
height: 40px;
color: #fff !important;
background-color: #6c757d;
border-color: #6c757d;
}
.btn {
height: 40px;
transition: color 0.2s ease-in-out, background 0.2s ease-in-out, border 0.2s ease-in-out !important;
padding: .375rem .75rem !important;
font-size: .875rem !important;
align-items: center;
}
.btn-secondary:hover:not(.disabled) {
background: white !important;
color: #2F3341 !important;
}
.btn-secondary, .btn-secondary:hover {
border-color: #2F3341 !important;
}
.btn:hover {
transform: none !important;
box-shadow: none !important;
}
.btn:hover {
color: #212529;
/* text-decoration: none; */
}
</style>
18. Sequence daily digest¶
Description
Daily digest that shows users their sequence activities.
Email digest for user's active sequences ( private or shared) and the same digest for each delegator.
The signal starts at 6 a.m.
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see a screenshot
Click to see a screenshot
19. No Salesforce activity after the object was changed¶
Description
Automatic reminders for sales reps if the required activities haven't been performed after changing the object.
This signal activated if Salesforce business object was changed recently (any field value change) with no activity created in Salesforce afterwards. The signal activates for every object with:
-
metadata attributes:
-
queryable: true
-
searchable: true
-
retrievable: true
-
-
Task and Event that contains WhoId or WhatId relationship to this object
-
Histories relationship
-
Owner reference
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the NoSalesforceActivityAfterObjectWasChangedConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Salesforce, PeopleGraph, and Signals. Therefore this user must have complete visibility in Salesforce and Signals |
– |
TenantId |
Tenant ID which will be used to query data from Salesforce, PeopleGraph, and Signals. |
– |
Created Date |
Date of signal configuration creation |
– |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 */2 * * * (i.e., every two hours) |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
336 |
ProcessingStartDate |
Start date for tracking changes |
– |
SObjectTypeName |
Name of SObject type to be used. Only Lead and Contact are affected by the first iteration. |
– |
SObjectAnchorFieldName |
Name of anchor field of SObjectTypeName to be triggered on |
– |
SObjectAnchorFieldHistoryName |
Name of anchor field of SObjectTypeName History to be triggered on |
– |
SObjectFilter |
SOQL filter for SObject |
string |
ActivityCheckTimeoutHours |
Time after SObjectAnchorFieldName change should be tracked |
336 |
ActivitiesChecks |
Parameter to set activities checks.
Values:
|
3 |
TaskFilter |
SOQL filter for the related task |
empty |
EventFilter |
SOQL filter for the related event |
empty |
SignalBodyTemplate |
Razor template for rendering signal body |
– |
IsEmailNotificationEnabled |
Indicates whether email notification will be sent to assignees after signal is created |
false |
EmailNotificationTemplate |
Razor template for rendering email notification body |
– |
IsTeamsNotificationEnabled |
Indicates whether Teams notification will be sent to assignees after signal is created |
true |
TeamsNotificationTemplate |
Razor template to be used to render Teams notification body |
– |
SignalScore |
Score to assign to the created signal |
-1 |
SignalPriority |
Priority of the generated signals Possible values are:
|
|
RepeatSignalAfterDismissDays |
The number of days to wait before sending the signal after the user dismissed it if the related Salesforce object still meets filter settings. Valid value range: [1; 2147483647]. |
7 |
20. Follow-up reminder after Salesforce event with Salesforce object¶
Description
Automatic reminders for sales reps if no task was created or no field was changed after the relevant event took place.
Existing follow-up reminder signals apply only to events from Calendar, while this signal functions upon Salesforce events and generic relations.
The signal activates for every object with:
-
metadata attributes:
-
queryable: true
-
searchable: true
-
retrievable: true
-
-
Event containing WhoId or WhatId relationship to this object
-
AccountId field and Account that include a reference (If AccountFieldUpdateCheckEnabled)
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the LeadMeetingFollowupReminderConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Salesforce, PeopleGraph, and Signals. Therefore this user must have complete visibility in Salesforce and Signals |
– |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 */2 * * * (i.e., every two hours) |
SObjectTypeName |
Name of SObject type to be used. Only Lead and Contact are affected by the first iteration |
Lead |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
240 |
SignalScore |
Score to assign to the created signal |
-1 |
FollowupCheckTimeoutHours |
Number of hours to wait after the event start date before checking for missing follow-up email |
24 |
SObjectFilter |
SOQL query to select only significant leads (e.g. Lead_Score_SQL__c = 'X1' OR Lead_Score_SQL__c = 'X2') |
– (i.e., all Leads are applicable) |
TaskFilter |
Related task object filter (By agreement, TaskFilter and EventFilter should contain direct object or relation query based on shared activities set up for the environment.) |
|
EventFilter |
Related event object filter (shouldn't include any of the date-time properties. By agreement, TaskFilter and EventFilter should contain direct object or relation query, based on shared activities set up for the environment.) |
|
AccountFieldUpdateCheckEnabled |
Flag indicating that an additional account history check should be added to filtering (can't be set for objects without Account reference, for example, Lead) |
False |
AccountFieldName |
Name of field to track (should be tracked by SF) (mandatory if AccountFieldUpdateCheckEnabled) |
21. New response from a prospect¶
Description
The user is notified when a new email is received from an Opportunity over a certain size.
-
For signal generation, the system collects all emails which were added since the last mail check. The emails matching the following conditions are being excluded:
-
Email's related Contact is from the organization’s domain
-
Email is outbound and was sent earlier than inbound email for the same Contact
-
Email’s related Contact is involved in the active Drip campaign and the "Skip Contacts In Active Drip Campaign" parameter is set to "True"
-
-
Depending on the "Match Opportunities By Account" parameter, for each email, the system finds a significant matching Opportunity in Salesforce: the email’s related Contact is assigned to the Opportunity contact role, or the email’s related Contact and Opportunity are bound to the same account.
-
Send the signal to the Opportunity owner and manager (to signal the user with a manager role), who are not involved in this communication. If the Opportunity owner and all managers are being the recipients ‐ do not send them the signal.
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the NewResponseFromOpportunityConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Salesforce, PeopleGraph, Signals, and Drip. Therefore this user must have complete visibility in Salesforce, Signals, and Drip |
– |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 */2 * * 1-5 (i.e., at minute 0 past every 2nd hour on every day-of-week from Monday through Friday) |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
336 |
SignalScore |
Score to assign to the created signal |
3 |
OpportunityFilter |
SOQL query WHERE clause intended to select only significant Opportunities (e.g. Amount > 10000) |
|
MatchOpportunitiesByAccount |
Flag indicating how to find Opportunities that are related to email:
|
True |
SkipContactsInActiveDripCampaign |
Flag indicating whether to skip contacts that are currently under an active Drip sequence |
True |
LastSyncDateTime |
UTC date and time when mail was checked for a particular tenant. Null means that check has never been run before |
22. New response to a prospect¶
Description
The user is notified, when a new email has been sent to an Opportunity over a certain size.
-
For signal generation, the system collects all emails which were added since the last mail check. The emails matching the following conditions are being excluded:
-
Email's related Contact is from the organization’s domain
-
Email is inbound and was sent earlier than outbound email for the same Contact
-
Email’s related Contact is involved in the active Drip campaign and the "Skip Contacts In Active Drip Campaign" parameter is set to "True"
-
-
Depending on the "Match Opportunities By Account" parameter, for each email, the system finds a significant matching Opportunity in Salesforce: the email’s related Contact is assigned to the Opportunity contact role, or the email’s related Contact and Opportunity are bound to the same account.
-
Send the signal to the Opportunity owner and manager (to signal the user with a manager role), who are not involved in this communication. If the Opportunity owner and all managers are being the recipients ‐ do not send them the signal.
Parameters |
|
---|---|
Trigger
|
Action
|
Click to see the Configurable Parameters
Configurable Parameters
Configuration parameters are stored in the NewResponseFromOpportunityConfiguration table in the signals database.
Parameter |
Description |
Default value |
---|---|---|
ContextUserId |
Signals User ID that will be used to query data from Salesforce, PeopleGraph, Signals, and Drip. Therefore this user must have complete visibility in Salesforce, Signals, and Drip |
– |
IsBlocked |
Flag indicating whether this job is disabled by RG authority (i.e., CSM, DevOps, admins, etc.) |
False |
IsEnabled |
Flag indicating whether this job is enabled by tenant owner (i.e., customer) |
True |
Schedule |
Cron recurrence rule to execute this job (this editor may be useful) |
0 */2 * * 1-5 (i.e., at minute 0 past every 2nd hour on every day-of-week from Monday through Friday) |
AutoDismissSignalAfterHours |
For how long the signal remains actual since its due date (the number of hours). After the specified time period (number of hours), the signal is auto-dismissed |
336 |
SignalScore |
Score to assign to the created signal |
-1 |
OpportunityFilter |
SOQL query WHERE clause intended to select only significant Opportunities (e.g. Amount > 10000) |
|
MatchOpportunitiesByAccount |
Flag indicating how to find Opportunities that are related to email:
|
True |
SkipContactsInActiveDripCampaign |
Flag indicating whether to skip contacts that are currently under an active Drip sequence |
True |
LastSyncDateTime |
UTC date and time when mail was checked for a particular tenant. Null means that check has never been run before |