Send Notification Native Action
The Send Notification native action enables you to send actionable email alerts to users and groups. Notifications can include contextual data and provide rich redirection options to help users take immediate action.
Overview
The Send Notification action allows playbook authors to:
- Send email alerts to specific users or groups
- Include dynamic content using playbook properties and expressions
- Provide clickable links to records, reports, dashboards, or playbooks
- Deliver notifications via email based on user email frequency preferences
Key Benefits
- Native Action: Integrated directly into the playbook builder for streamlined workflow creation.
- Flexible Recipients: Send to individual users, user groups, or dynamically reference recipients using expressions.
- Dynamic Content: Use playbook properties and expressions to inject contextual information into notification titles and bodies.
- Click Targets: Provide direct links to relevant content (records, reports, dashboards, playbooks) in email notifications for immediate action.
- Email Delivery: Notifications are automatically sent via email based on user email frequency preferences (default: every 30 minutes).
Inputs
The Send Notification action requires the following inputs:
Required Inputs
- Title: The notification title/header text displayed in the notification.
- Can be plain text or include playbook properties/expressions
- Example: "Security Alert: ${$event.data.threatType}"
- Recipients: The users or groups who will receive the notification.
- Can be selected from dropdown (users or groups)
- Can reference playbook properties (e.g., $actions.createRecordName.result.assigned-to)
- Can use expressions to dynamically determine recipients
- Supports multiple recipients (array of user/group objects or email addresses)
- Recipient format:
- User/Group objects: { id: "userId", type: "User", name: "John Doe" }
- Email addresses: String values (e.g., "[email protected]")
- Playbook properties: Reference to upstream action outputs
- Body: The notification message content.
- Can be plain text or include playbook properties/expressions
- Supports multi-line text
- Example: "Record ${$actions.createRecordName.result.tracking-id} has been created and assigned to ${$actions.createRecordName.result.assigned-to}"
Optional Inputs
- Click Target Type: The type of target to open when the notification is clicked.
- Options: "record", "report", "dashboard", "playbook"
- If not specified, notification has no click target
- Click Target ID: The identifier of the target to open.
- Format depends on the click target type (see Click Targets section below)
- Can reference playbook properties or use expressions
Configuring the Send Notification Action
Step 1: Basic Configuration
- Open your playbook in the Turbine Canvas.
- From the Add Panel, drag and drop the Send Notification action into your Canvas.
- Click on the action block to configure it.
- Provide a unique Title and Key for the action:
- Title: The display name for the action (e.g., "Notify Security Team").
- Key: A system-generated unique identifier (editable but must follow naming conventions).
- Description: (Optional) Internal note to describe the purpose of the action.
Step 2: Configure Notification Details
- Notification Title:
- Enter the header text for your notification
- Use the β icon to inject playbook properties or build expressions
- Example: "Security Alert: ${$event.data.threatType}"
- Notification Recipients:
- Click to open the recipient selector
- Select users or groups from the dropdown, or
- Use the β icon to inject a playbook property or expression
- You can add multiple recipients
- Recipients can be:
- Specific users (selected from dropdown)
- User groups (selected from dropdown)
- Dynamic references (e.g., $actions.createRecordName.result.assigned-to)
- Email addresses (when using expressions)
- Notification Body:
- Compose your message using plain text
- Use the β icon to inject playbook properties or build expressions
- Supports multi-line text
- Example: "Record ${$actions.createRecordName.result.tracking-id} has been created."
Example Dynamic Parameters:
- ${$event.data.recordId} - Access event data
- ${$actions.actionName.result.tracking-id} - Access action outputs
- ${$variables.variableName} - Access playbook variables
- ${$inputs.inputName} - Access playbook inputs
Step 3: Configure Click Target (Optional)
The Click Target setting defines where users will be redirected when they click on a link in the email notification. This provides contextual access to relevant content within Turbine and allows users to take immediate action.
- Target Type: Select one of the following options:
- Application record ("record")
- Report ("report")
- Dashboard ("dashboard")
- Playbook ("playbook")
- Target ID: Configure based on the selected target type:
Application Record
Redirects users to a specific record within a selected application.
Configuration:
- Target Type: Select Application record.
- Application: Use the dropdown to select the target application.
- Tracking ID: Provide the record's tracking ID (not the internal record ID).
- Manual entry: Type the tracking ID
- Playbook Property: Use the β icon to insert a property (e.g., $actions.createRecordName.result.tracking-id)
- Expression: Build a dynamic expression
Note: The action automatically resolves tracking IDs to record IDs. The format stored is "appId/recordId", but you provide the tracking ID.
Report
Redirects users to a specific report view for quick data analysis or review.
Configuration:
- Target Type: Select Report.
- Application: Select the application that houses the report.
- Report: Choose a report from the filtered list associated with the selected application.
Use Case: Ideal for summarizing events or redirecting users to reporting dashboards built on historical data.
Dashboard
Sends users to a specific dynamic dashboard when the notification is clicked.
Configuration:
- Target Type: Select Dashboard.
- Workspace: Select the workspace containing the dashboard.
- Dashboard: Use the dropdown to choose the destination dashboard.
Use Case: Use when visual analysis is required. The dashboard should be shared with the recipients or they must have view access permissions.
Tip: Pair this with dashboard-level or runtime filters to offer a more tailored view of the data upon redirect.
Playbook
Launches or redirects the user to a specific playbook in Turbine.
Configuration:
- Target Type: Select Playbook.
- Playbook: Select the target playbook from the dropdown.
Use Case: Ideal for triggering manual actions, workflows, or enabling users to resume paused automation.
Step 4: Apply Changes
Click Apply to save your configuration and include the action in your automation flow.
Outputs
The Send Notification action provides the following outputs:
Success Output
When the notification is sent successfully, the action completes with:
- Status: Success
- Result: "NotificationSent"
Note: The Send Notification action is a fire-and-forget operation. It does not return detailed output data. The action succeeds if the notification is queued for delivery.
Error Output
If the notification fails to send, the action returns:
- error: Error information containing details about why the notification failed.
Common Error Scenarios:
- Invalid recipient IDs or email addresses
- Recipients not found or not accessible
- Invalid click target configuration
- Missing required inputs (title, recipients, body)
- Feature not enabled (UserNotifications feature must be enabled)
How Notifications Are Delivered
Notifications are delivered via email based on user email frequency preferences:
- Default email frequency: Every 30 minutes (configurable per user)
- Users can configure their email notification preferences in their user settings
- Email notifications include the notification title and body, with links to the click target (if configured)
- Click targets in email notifications allow recipients to navigate directly to relevant content (records, reports, dashboards, or playbooks)
Use Cases
Example 1: Notify on Record Creation
Scenario: Send a notification to the assigned user when a new record is created.
Configuration:
- Title: "New Record Created: ${$actions.createRecordName.result.tracking-id}"
- Recipients: $actions.createRecordName.result.assigned-to
- Body: "A new record has been created and assigned to you. Please review and take action."
- Click Target Type: "record"
- Click Target ID: "${$actions.createRecordName.result.application-id}/${$actions.createRecordName.result.tracking-id}"
Result: The assigned user receives a notification with a direct link to the new record.
Example 2: Security Alert Notification
Scenario: Notify the security team when a high-severity threat is detected.
Configuration:
- Title: "Security Alert: ${$event.data.threatType}"
- Recipients: Select "Security Team" group from dropdown
- Body: "A ${$event.data.severity} severity threat has been detected: ${$event.data.description}. Please investigate immediately."
- Click Target Type: "record"
- Click Target ID: "${$event.data.applicationId}/${$event.data.recordTrackingId}"
Result: The security team receives an immediate notification with context and a link to the threat record.
Example 3: MSSP Incident Collaboration
Scenario: MSSPs can use the Notification action to notify customers of:
- Active threats or policy violations
- Remediation status updates
- Scheduled or unscheduled service disruptions
Configuration:
- Title: "Incident Update: ${$variables.incidentId}"
- Recipients: Use expression to reference customer contact from record: $actions.getRecordName.result.customer-contact
- Body: "Your incident ${$variables.incidentId} has been updated. Status: ${$actions.updateRecordName.result.status}. Please review the details."
- Click Target Type: "report"
- Click Target: Select customer-facing incident report
Result: Customers receive timely updates via email, building trust and maintaining transparency.
Example 4: Dashboard Alert
Scenario: Notify stakeholders when key metrics exceed thresholds.
Configuration:
- Title: "Alert: ${$variables.metricName} Threshold Exceeded"
- Recipients: Select "Stakeholders" group
- Body: "The ${$variables.metricName} has exceeded the threshold of ${$variables.threshold}. Current value: ${$variables.currentValue}. Review the dashboard for details."
- Click Target Type: "dashboard"
- Click Target: Select the metrics dashboard
Result: Stakeholders receive alerts with direct access to the relevant dashboard for analysis.
Example 5: Playbook Completion Notification
Scenario: Notify users when a playbook completes successfully.
Configuration:
- Title: "Playbook Completed: ${$playbook.name}"
- Recipients: Use expression: $inputs.notifyRecipients
- Body: "The playbook '${$playbook.name}' has completed successfully. ${$actions.finalActionName.result.summary}"
- Click Target Type: "playbook"
- Click Target: Select the completed playbook
Result: Users receive completion notifications with a link to review the playbook execution details.
Best Practices
- Use Dynamic Recipients: Reference recipients from upstream actions or playbook inputs to make notifications flexible and reusable.
- Include Context: Use playbook properties and expressions to include relevant context (record IDs, status, values) in notification titles and bodies.
- Set Click Targets: Always configure click targets when possible to provide direct access to relevant content and improve user experience.
- Test Recipients: Verify that recipient references resolve correctly, especially when using dynamic expressions.
- Keep Titles Concise: Notification titles should be brief and descriptive, as they appear as email subject lines.
- Use Clear Body Text: Write notification bodies that clearly explain what happened and what action (if any) is required.
- Consider Email Frequency: Be aware that email notifications are batched based on user preferences (default: every 30 minutes). For urgent notifications, consider using other communication channels.
- Validate Click Targets: Ensure click targets (especially record tracking IDs) are valid and accessible to recipients.
Troubleshooting
- Email Not Received:
- Verify recipients are valid users or groups
- Check that recipients have access to the tenant/account
- Verify UserNotifications feature is enabled
- Check user email notification preferences (frequency settings)
- Verify user email address is configured correctly
- Check email delivery logs for errors
- Remember emails are batched (default: every 30 minutes)
- Click Target Not Working:
- Verify click target ID format is correct for the target type
- For records, ensure tracking ID is valid and record exists
- Check that recipients have access to the target (application, report, dashboard, playbook)
- Verify click target type matches the target ID format
- Invalid Recipients:
- Ensure recipient IDs or email addresses are correct
- Verify recipient references resolve to valid users/groups
- Check that recipients exist in the tenant/account
- Expression Errors:
- Verify playbook property references are correct (e.g., $actions.actionName.result.property)
- Check that referenced actions have completed successfully
- Ensure expression syntax is valid
- Feature Not Enabled:
- Ensure UserNotifications feature is enabled for your account
- Contact support if you believe this feature should be available