Skip to content

Alert Templates

SetGet includes 21 system email templates that define how notifications are formatted and delivered. Templates control the subject line, body structure, and variable placeholders for each notification type. They are used by triggers and state mappings to produce consistently formatted messages across all notification channels.

Templates are managed at the workspace level and are accessible from Workspace Settings > Reminders > Templates.

Template categories

The 21 templates are organized into five categories based on the type of event they represent.

Issue lifecycle (11 templates)

These templates cover the primary lifecycle events of a work item, from creation through completion and archival.

#Template nameUsed forSubject line pattern
1State ChangeWork item state transitions[Project] Issue #ID moved to State
2AssignmentWork item assigned or reassigned[Project] Issue #ID assigned to User
3Issue CreatedNew work item created[Project] New issue: Title
4Priority AlertPriority level changed[Project] Issue #ID priority changed to Level
5Label ChangedLabels added or removed[Project] Issue #ID labels updated
6Issue CompletedWork item reached completed state[Project] Issue #ID completed
7Property ChangeGeneric property modification[Project] Issue #ID property updated
8Date ChangedStart date or due date modified[Project] Issue #ID dates updated
9Link UpdatedExternal link added or removed[Project] Issue #ID links updated
10Relation ChangedWork item relation added or removed[Project] Issue #ID relations updated
11Issue ArchivedWork item archived or unarchived[Project] Issue #ID archived

Due date (2 templates)

These templates are specifically designed for time-sensitive deadline notifications.

#Template nameUsed forSubject line pattern
12Due Date ReminderUpcoming deadline warning (pre-due date)[Project] Issue #ID due in N days
13Due Date OverdueDeadline has passed[Project] Issue #ID is overdue

WARNING

The Due Date Reminder template is for proactive warnings before the deadline. The Due Date Overdue template is for reactive alerts after the deadline has passed. Make sure triggers use the correct template for the intended timing.

Collaboration (4 templates)

These templates cover team interaction events.

#Template nameUsed forSubject line pattern
14Comment AddedNew comment on a work item[Project] New comment on Issue #ID
15MentionUser @mentioned in a comment or description[Project] User mentioned you in Issue #ID
16Cycle Issue AddedWork item added to a cycle[Project] Issue #ID added to Cycle
17Module Issue AddedWork item added to a module[Project] Issue #ID added to Module

Authentication (2 templates)

These templates handle account security and access flows. They are not configurable through the trigger system and are sent automatically by the authentication subsystem.

#Template nameUsed forSubject line pattern
18Password ResetPassword reset requestSetGet: Reset your password
19Magic Sign-In CodePasswordless login codeSetGet: Your sign-in code

TIP

Authentication templates cannot be bound to triggers. They are sent automatically when a user requests a password reset or magic sign-in link. They are listed here for completeness and can be previewed in the Templates page.

Workspace (2 templates)

These templates handle workspace-level communications.

#Template nameUsed forSubject line pattern
20Workspace InvitationInvitation to join a workspaceYou've been invited to Workspace on SetGet
21WelcomeWelcome message after joining a workspaceWelcome to Workspace on SetGet

Template variables

Each template uses variables that are automatically populated with data from the event context. Variables are enclosed in double curly braces: {{variable_name}}.

Common variables (available in all templates)

VariableDescriptionExample value
{{workspace_name}}Name of the workspaceEngineering
{{workspace_slug}}URL-friendly workspace identifierengineering
{{recipient_name}}Display name of the notification recipientJane Smith
{{recipient_email}}Email address of the recipientjane@example.com
{{app_url}}Base URL of the SetGet instancehttps://app.setget.io
{{current_date}}Current date in the workspace's localeMarch 29, 2026
{{current_time}}Current time in the workspace's timezone14:30 UTC
VariableDescriptionExample value
{{issue_id}}Sequential issue identifierENG-142
{{issue_title}}Title of the work itemFix login redirect loop
{{issue_url}}Direct URL to the work itemhttps://app.setget.io/engineering/issues/ENG-142
{{issue_state}}Current state nameIn Progress
{{issue_priority}}Current priority levelHigh
{{issue_assignee}}Current assignee display nameJohn Doe
{{issue_creator}}Creator display nameJane Smith
{{issue_due_date}}Due date if setApril 15, 2026
{{issue_labels}}Comma-separated list of labelsBug, Backend, Critical
{{project_name}}Name of the project containing the work itemPlatform API
{{project_identifier}}Project identifier prefixENG

Event-specific variables

VariableAvailable inDescription
{{old_state}}State Change, Issue CompletedPrevious state name
{{new_state}}State Change, Issue CompletedNew state name
{{old_assignee}}AssignmentPrevious assignee name (or "Unassigned")
{{new_assignee}}AssignmentNew assignee name (or "Unassigned")
{{old_priority}}Priority AlertPrevious priority level
{{new_priority}}Priority AlertNew priority level
{{comment_body}}Comment AddedText content of the comment (truncated to 500 chars)
{{comment_author}}Comment AddedDisplay name of the comment author
{{mention_context}}MentionSurrounding text where the mention occurred
{{mentioner_name}}MentionDisplay name of the user who mentioned you
{{cycle_name}}Cycle Issue AddedName of the cycle
{{module_name}}Module Issue AddedName of the module
{{days_overdue}}Due Date OverdueNumber of days past the due date
{{days_until_due}}Due Date ReminderNumber of days until the due date
{{link_url}}Link UpdatedURL of the added or removed link
{{relation_type}}Relation ChangedType of relation (blocks, is blocked by, etc.)
{{related_issue_id}}Relation ChangedID of the related work item
{{actor_name}}All event templatesDisplay name of the user who caused the event

Authentication and workspace variables

VariableAvailable inDescription
{{reset_link}}Password ResetPassword reset URL (time-limited)
{{signin_code}}Magic Sign-In CodeSix-digit sign-in code
{{inviter_name}}Workspace InvitationName of the user who sent the invitation
{{invite_link}}Workspace InvitationInvitation acceptance URL
{{workspace_description}}WelcomeBrief description of the workspace

Previewing templates

The template preview feature lets you see how a template renders with sample data before activating it in a trigger.

How to preview

  1. Navigate to Workspace Settings > Reminders > Templates.
  2. Click on any template in the list.
  3. The preview panel opens on the right side, showing the template rendered with sample data.
  4. All variables are populated with realistic placeholder values so you can evaluate formatting and layout.

The preview renders in HTML format, matching what the recipient will see in their email client. For SMS previews, the plain-text body is shown instead.

Sample data

The preview system generates sample data automatically:

Variable categorySample data source
Workspace fieldsCurrent workspace name and slug
Recipient fieldsYour own user profile
Work item fieldsSynthetic sample data (e.g., "ENG-42", "Fix login redirect")
Event fieldsSynthetic before/after values
Dates and timesCurrent date and time

Testing templates

Beyond preview, you can send a real test notification to verify end-to-end delivery.

Sending a test email

  1. Open the template preview.
  2. Click Send Test Email.
  3. The system sends the template to your registered email address with sample data.
  4. Check your inbox (and spam folder) to verify delivery and formatting.

Sending a test SMS

  1. Open the template preview.
  2. Click Send Test SMS (only available if SMS is configured).
  3. The system sends the plain-text body of the template to your registered phone number.
  4. Verify the SMS arrives and the message content is readable.

TIP

Always send a test notification after making changes to your SMTP configuration or SMS provider settings. This confirms that the delivery pipeline is working correctly.

WARNING

Test sends are recorded in the History log with a "test" label. They count toward your daily send statistics.

Language-aware rendering

Templates support language-aware rendering based on the recipient's locale preference:

  • If the recipient has a locale set in their profile, the template renders date formats, number formats, and static label text in that locale.
  • If no locale is set, the workspace default locale is used.
  • Variable content (work item titles, comment bodies, user names) is always rendered as-is regardless of locale, since this content is user-generated.

Supported locale elements:

ElementExample (en-US)Example (tr-TR)
Date formatMarch 29, 202629 Mart 2026
Time format2:30 PM14:30
Priority labelsHighYuksek
State labelsIn ProgressDevam Ediyor
Button textView IssueGoruntuye Git

Template structure

Each template consists of the following components:

ComponentDescriptionEditable
Subject lineEmail subject with variable placeholdersNo (system-defined)
HeaderSetGet branding and workspace contextNo (system-defined)
BodyMain notification content with variables and formattingNo (system-defined)
Action buttonDirect link to the relevant entity in SetGetNo (system-defined)
FooterUnsubscribe link and workspace informationNo (system-defined)
SMS bodyPlain-text short version for SMS deliveryNo (system-defined)

TIP

System templates are not user-editable in the current version of SetGet. They are designed to cover the standard notification scenarios. If you need custom formatting, submit a feature request through support.

Template-to-trigger mapping

Each trigger must reference exactly one template. The following table summarizes the recommended mapping between event types and templates:

Event typePrimary templateAlternative template
state_changedState ChangeProperty Change
assignee_changedAssignmentProperty Change
priority_changedPriority AlertProperty Change
comment_addedComment Added---
issue_createdIssue Created---
due_date_passedDue Date OverdueDue Date Reminder
label_changedLabel ChangedProperty Change
property_changedProperty Change---
issue_completedIssue CompletedState Change
mentionedMentionComment Added
date_changedDate ChangedProperty Change
cycle_changedCycle Issue AddedProperty Change
module_changedModule Issue AddedProperty Change
link_changedLink UpdatedProperty Change
relation_changedRelation ChangedProperty Change
archive_changedIssue ArchivedProperty Change

Template rendering pipeline

When a notification is dispatched, the template rendering follows this pipeline:

  1. Template selection --- The trigger or state mapping specifies which template to use.
  2. Variable resolution --- The system collects all variable values from the event context (work item, actor, project, etc.).
  3. Locale detection --- The recipient's locale preference is read from their profile. If not set, the workspace default locale is used.
  4. HTML rendering --- For email, the template body is rendered as HTML with variable substitution, locale-aware formatting, and the SetGet email layout (header, body, action button, footer).
  5. Plain text extraction --- For SMS, the template's SMS body is rendered as plain text with variable substitution.
  6. In-app rendering --- For in-app notifications, a condensed version of the template is rendered in the notification panel format.

Variable fallbacks

If a variable is not available in the event context (e.g., {{old_assignee}} when the work item was previously unassigned), the system uses sensible defaults:

VariableFallback value
{{old_assignee}}"Unassigned"
{{old_state}}"None"
{{old_priority}}"None"
{{issue_due_date}}"Not set"
{{issue_labels}}"None"
{{cycle_name}}"None"
{{module_name}}"None"

Email layout structure

All email templates share a consistent layout:

+------------------------------------------+
|  SetGet logo + Workspace name (header)   |
+------------------------------------------+
|                                          |
|  Subject line / Event title              |
|                                          |
|  Event details with variables            |
|  (state change, comment body, etc.)      |
|                                          |
|  [ View in SetGet ] (action button)      |
|                                          |
+------------------------------------------+
|  Notification preferences link (footer)  |
|  Unsubscribe link                        |
+------------------------------------------+

The action button links directly to the relevant entity in SetGet. Clicking it takes the recipient to the work item, comment, or other entity referenced in the notification.

Frequently asked questions

Can I create custom templates? Not in the current version. The 21 system templates cover the standard notification scenarios. Custom template support is planned for a future release.

Can I edit the subject line of a template? No. Subject lines are system-defined to ensure consistency. They include the project identifier, work item ID, and event-specific context.

Why do some templates appear in the list but cannot be assigned to triggers? The Authentication templates (Password Reset, Magic Sign-In Code) and Workspace templates (Invitation, Welcome) are sent automatically by their respective subsystems and cannot be assigned to user-configured triggers.

How do I know which variables are available for a template? The template preview panel shows all available variables and their sample values. Variables that are not relevant to the template's event type are not displayed.