Creating new alerts
You can set up your website to display automated alerts that notify your users of important information. iMIS has several out-of-the-box alerts already set up for your organization to use, but you can create customized alerts if you are licensed appropriately.
Note: For more detailed information about out-of-the-box alerts, see Overview of out-of-the-box alerts.
Alerts that you configure can contain customized wording and formatting, and you can select where they display and who can view the alerts on your website. For example, you can create alerts that notify users when their membership expires within a specified amount of time OR notify staff when the contact they are currently viewing is not a member of your organization.
Each alert display can have Data sources, Conditions and an Alert. An alert display must define an Alert; Data sources and Conditions are optional.
Note: This is a licensed feature. For more information, contact your AiSP or ASI Technical Support.

You can use queries as data sources in alert tasks. When the specified data sources return records in an alert task, the task generates the user alert. Alerts display only when the data sources return records.
You should create the query before creating the task.
- From the Staff site, go to RiSE > Intelligent Query Architect.
- Select New > Query.
- (Summary tab) Enter a Name and Description of your query.
- (Sources tab) Add the sources for the query. You can add multiple sources. If you use multiple sources, specify the Relations between the sources.
- (Filters tab) Add filters to narrow your query results. Notes about queries used in alerts:
- Alerts do not support filters in the following format: "@url:id","@url:itemid". Instead, use two filters separated by an OR.
- Insert a URL parameter for an alert to only display for a selected event. For more information, see Adding dynamic filters to queries.
- (Display tab) Select columns that you want to be available to merge into the alert message. These fields will be available from the Insert field drop-down when you create an alert message.
- Save your query at $/Common/Tasks/Queries in the Document system.
- Run your query to confirm that it returns the appropriate records.
- (optional) If you only want the alert to display when a contact views their own record or on the record of the selected contact for staff users:
- Add the ContactKey property to the filters tab.
- Enter "@SelectedUser" as the property Value.
Note: If you do not add the "@SelectedUser" dynamic filter to the query, the alert will display for all contacts. Be sure you are including the quotation marks.
- (optional) (Security tab) Confirm that the appropriate security options for the query are selected. If a user does not have permission to run the query, they will not be able to view an alert generated by a task using the query as a data source. It is recommended that you do not limit access beyond authenticated users.
- Save the query.

You can create a task that displays a predefined alert on your website when specified conditions are met. Conditions instruct the task to run only when records are returned by selected data sources, filtering when the alert displays. If needed, you can specify a personalized alert message to display to a user signed in as themselves. To display the alert messages, you must group these tasks into sets.
To generate alerts, you need to create alert tasks. For each task, define Conditions and an Alert.
The Conditions determine which records qualify for the alert. The Alert is the text, images, links, and buttons that comprise the alert. In the Conditions, you specify query data sources. When the data sources return records, the task generates the Alert.
Alert sets are groups of alert tasks that you want to display as a group to users. For example, you might want to create separate alert sets for staff alerts and member alerts.
The alert set determines the order that the alerts display on the web page, so you should confirm that your alert tasks are in the correct order within the set.
Note: You must configure an Alert Display content item to display the alert set. See Adding an Alert Display content item to a web page for more information.

- From the Staff site, go to RiSE > Process automation.
- Select the Tasks tab. A list of existing tasks displays.
- Click Add new task.
- Enter a Name that indicates the purpose of the task.
- (optional) It is recommend that you enter a task Description.
- Select Alert display as the task Type.
- (optional) (Data sources tab) Create and manage query data sources for the task.
- Select Add data source.
- Enter a Data source name. It is recommended that you choose a name that indicates the type of records returned by the data source.
- Select an existing query or click Create source query to add a new query.
- If you select an existing query, the $/Common/Tasks/Queries folder opens by default.
- If you choose to add a new query, you are taken to the Intelligent Query Architect where you can define a new query.
- Save your data source.
- If needed, add additional data sources.
- (Conditions tab) Specify the Conditions that must be met in order for the task to run.
- If a query data source was defined on the Data sources or Alert tab, select one of the following options:
- Use existing data source - select a previously defined data source from the drop-down that will only display data sources that are not being used in any other Conditions.
- Use results of IQA query as data source - select this option to define a new data source.
- Enter a Data source name. It is recommended that you choose a name that indicates the type of records returned by the data source.
- Select an existing query or click Create source query to add a new query.
- If you select an existing query, the $/Common/Tasks/Queries folder opens by default.
- If you choose to add a new query, you are taken to the Intelligent Query Architect where you can define a new query.
- If there were no previously defined data sources from the Data sources or Alert tab, provide the following required information:
Enter a Data source name. It is recommended that you choose a name that indicates the type of records returned by the data source.
Select an existing query or click Create source query to add a new query.
- If you select an existing query, the $/Common/Tasks/Queries folder opens by default.
- If you choose to add a new query, you are taken to the Intelligent Query Architect where you can define a new query.
- Save your data source.
- If needed, add additional data sources.
- (Alert tab) Create the Alert that the task generates when the conditions are met.
- (optional) To insert fields (such as a contact’s name) from data sources in the defined Data sources or Conditions into the alert, specify the Data sources you want to use. To learn more about how to format and utilize these options, see Using placeholders.
- You can also Add a new data source to be used as a source for merge fields. New data sources added on the Alerts tab are not added as task Conditions.
- Enter a Data source name. It is recommended that you choose a name that indicates the type of records returned by the data source.
- Select an existing query or click Create source query to add a new query.
- If you select an existing query, the $/Common/Tasks/Queries folder opens by default.
- If you choose to add a new query, you are taken to the Intelligent Query Architect where you can define a new query.
- (optional) Add to alert set to include the task in an alert set. You can choose from existing alert sets or select Add new set to create a new alert set. The task can belong to multiple sets. (You can also add tasks to an alert set when editing the set. See Creating an alert set.)
- Enter and format the Default message.
- (optional) To insert icons in an alert, use the Image Manager.
- (optional) To insert fields from the selected Data sources into the alert, use the Insert data source field drop-down.
- format=“C” - Currency: Convert 123.456 to $123.46 ("C", en-US)
- format=“d” - Short date: Convert 6/15/2009 1:45:30 PM to 6/15/2009 (en-US)
- format=“D” - Long date: Convert 6/15/2009 1:45:30 PM to Monday, June 15, 2009 (en-US)
- (optional) To include repeating data from a data source in the alert, use the {foreach} placeholder. See Using the foreach placeholder for more information on the {foreach} placeholder.
- (optional) You can use the Apply CSS Class drop-down to apply styling and formatting to specific portions of the alert message. Select the area you want to style and choose a CSS class from the drop-down.
- (optional) To insert a link to a content record in the message, use the Insert link drop-down to select Alert link
- You can select a content record or enter a shortcut as the Link Target. If you enter a shortcut, it should include the [Website] variable. This format points users to the web page within the correct site, ensuring that the page displays with the correct theme. For example, if you want to link to the EventDetail shortcut, enter Website/EventDetail or [Website]/EventDetail.
Enter the Link text that will display in the alert message.
If needed, enter the Url parameter of a web page. For example, you can enter ProductCode=FR004 to use the page for a specific product as the link destination. You can also use a variable as the Url parameter, such as ProductCode={#product.ProductCode}.
- If needed, enter or select a Source code to associate this link with a marketing campaign.
- (optional) To create a second version of the alert that only displays when a contact views their own record, select Display personalized message if a contact is viewing their own record. Enter and format a Personalized message. For example, you might want a membership renewal alert to use different wording when displayed to a contact (“Your membership expires soon.”) than when displayed to a staff user (“John Smith’s membership expires in the next 60 days.”).
Click for details
You can reformat these fields with a formatting string. To specify a format, add format=”FORMAT_HERE” inside the brackets, with FORMAT_HERE specified by .NET Framework Standard Format Strings. For example: {#iqa.DataAdded format="d"}.
There are both Date/Time and Number formats available:Note: For more information on formatting types, please reference the .NET framework.
Click for details
- To activate the task, select Enabled.
- Save the task.

All query data sources created for this task are listed. The name of all data sources will populate in a drop-down when defining a Condition or Alert. You cannot delete a data source if the data source is selected within a Condition or Alert, however not every data source you have defined must be used when creating a Condition or Alert.

Note: This data source will populate on the Data sources tab once you click Save.
When the task is called to display the alert, it displays if any of the selected data sources return one or more records or if no Conditions are defined.
See Creating data sources (queries) for your alert task for more information about creating a query to use as a task data source.

Note: This data source will populate on the Data sources tab once you click Save.
Note: If the Conditions data sources apply the @SelectedUser value to a filter, any new data sources that you create for merging purposes should also use @SelectedUser with the same filter.
In order to display an alert to users, you must include it in an alert set and configure an Alert Display content item on your website to display the alert set.
Note: The task is added to the bottom of the alert set. Alerts display to the user in their order in the set. To rearrange the order of tasks in the set, you must edit the alert set.
Note: It is strongly recommended that you test the alert message to confirm that the formatting and styling is correct. After adding it to an alert set used by an Alert Display content item, find a contact for whom the alert displays and view the alert to verify its appearance.

Do the following to create an alert set:
- From the Staff site, go to RiSE > Process automation.
- Select the Alert sets tab.
- Click Add alert set.
- Enter a Name for the new alert set.
- Enter a Description for the new alert set.
- (optional) To restrict the users who can view alerts for other contacts to authorized users only, click Limit users who can view alerts for other contacts. Authorized users include staff users and Company Administrators for groups to which a contact belongs. Users can always view their own alerts.
- Save the alert set.
- Click Add new to add an alert task to the set.
- Select a Task.
- Click Save.
- If needed, add other tasks to the set.
- Use the arrows to rearrange the tasks in the set. The alerts display to the user in the set order.
- Save the alert set.

You can configure the Alert Display content item to display a specified alert set. When the data sources of a task in the alert set returns the record of the selected contact or the logged-in contact, the alert displays in the content item.
To display alerts on a web page, add the Alert Display content item to the page. You must configure the content item to display a specified alert set.
When a task in the selected alert set is run, the task generates an alert, which is displayed in the Alert Display content item.
Do the following to add an Alert Display content item to a web page:
- From the Staff site, go to RiSE > Page Builder > Manage content.
- Navigate to and open the content record where you want alerts to be displayed.
- Click Add content.
- From the Content folder, select Alert Display.
- Click OK.
- Configure the Alert Display content item:
- (optional) Apply an CSS class to control the styling and formatting in the entire content item.
- (required) Select the Alert set that you want the content item to display. You can select multiple alert sets.
- (optional) If you prefer that the content item is not displayed on the web page when there are no alerts, select Hide when there are no alerts.
- (optional) If you do not choose to hide the content item when there are no alerts to display, you can configure a No alerts message that is displayed when there are no alerts.
- Select and enter other configuration information as needed.
- Click OK.
- Drag the content item to the location where you want it to be displayed.
- Save & Publish the content record.
Note: Save your content record to a Shared Content folder to ensure that it is protected during iMIS upgrades. Any changes to sample content items run the risk of being overwritten by the system.

Conditional functions perform calculations on properties or a range of properties, only if those properties meet a certain condition. These functions test a given range and determine if the condition is true or false before continuing.
You can use conditional functions with the following:
- Alerts
- Communication templates
- Data Showcase content item
- Query Template Display content item

Syntax of conditional functions
To insert a conditional function in the HTML body of one of the supported areas, use the syntax:
{if (conditions)} Text or HTML to appear if condition is true {/endif}
If the conditions evaluate to FALSE, then the text or HTML is not shown.
Available conditional functions
This section covers the specific conditional functions supported in alerts, communication templates, Data Showcase, and Query Template Display.
Important! All conditional functions are case sensitive and must be upper case.
COUNT
Counts the number of items in a collection and returns an integer value.
Example:
{if (COUNT(#party.AdditionalAttributes) GT 0 AND #party.AdditionalAttributes[1].Name EQ 'IsMemberRecord' AND #party.AdditionalAttributes[1].Value EQ true)} Is a member. {/endif}
LENGTH
Determines the length of the value and returns it as an integer.
Example:
{if (LENGTH(#query.TAX_EXEMPT) GT 0)} Contact is tax exempt. {/endif}
ISTRUE
Tests whether the specified parameter is true.
Example:
{if (COUNT(#party.AdditionalAttributes) GT 0 AND #party.AdditionalAttributes[3].Name EQ 'IsMember' AND ISTRUE(#party.AdditionalAttributes[3].Value))} Contact is a member. {/endif}
ISFALSE
Tests whether the specified condition is false.
Example:
{if (ISFALSE(#query.IsMember))} Contact is not a member. {/endif}
ISNULLOREMPTY
Indicates whether the specified string is null or empty. Returns true if the value parameter is null or an empty string; otherwise, false.
Example:
{if (ISNULLOREMPTY(#query.Website))} Please add your website! {/endif}
ISNOTNULLOREMPTY
Indicates whether the specified string is not null or empty. Returns true if the value is not null or empty; otherwise, false.
Example:
{if (ISNOTNULLOREMPTY(#query.PaidThrough) AND #query.PaidThrough LT Now)} Contact is not yet expired. {/endif}
DAYSBETWEEN
Returns the number of days between two dates as an integer value.
Example:
{if (DAYSBETWEEN(#query.RenewedThrough, #query.PaidThrough) GT 90)} Member is due for renewal. {/endif}
DATE
Makes sure date or literal date value is culture safe.
Example:
{if (ISNOTNULL(#query.JoinDate) AND (#query.JoinDate GTE DATE('12/31/2021')))} 2022 MEMBER {/endif}
CONTAINS
Checks whether a particular sequence of characters is part of a given string. Case is ignored and true or false is returned.
Example:
{if (CONTAINS(#query.JoinDate, '2022'))} New member in 2022. {/endif}
NOTCONTAINS
Checks whether a particular sequence of characters is not part of a given string. Case is ignored and true or false is returned.
Example:
{if (NOTCONTAINS(#query.City, 'Austin'))} Member is not an Austin resident. {/endif}
STARTSWITH
Check whether the beginning of the current string instance matches with a specified string or not. Case is ignored and true or false is returned.
Example:
{if (STARTSWITH(#query.City, 'Aus') OR STARTSWITH(#query.City, 'Dal') )} Member may live in Austin or Dallas. {/endif}
ENDSWITH
Check whether the end of the current string instance matches with a specified string or not. Case is ignored and true or false is returned.
Example:
{if (ENDSWITH(#query.FullName, 'Smith') OR ENDSWITH(#query.FullName, 'Richards') )} Last name ends with Smith or Richards. {/endif}

The letter expressions are case sensitive and must be upper case. The following are acceptable condition operators:
- GT - Greater than
- GTE - Greater than equal to
- LT - Less than
- LTE - Less than equal to
- EQ - Is equal
- EQUALS - Is equal
- NEQ - Not equal
- OR - Logical Or
- AND - Logical And
- == - Is Equal, but preferred syntax is EQ
- != - Not equal, but preferred syntax is NEQ
- || - Logical Or, but preferred syntax is OR

Example: The association is offering a gift to members and donors on their birthday and is customizing the gifts based on their age. If they are over 25, they will receive a Gold gift, and if they are under 25, they will receive a Silver gift.
Do the following to update the out-of-the-box birthday alert to display a conditional gift based on age:
- Go to RiSE > Process automation.
- From the search, locate the Contact birthday alert.
- Select the Name of the alert to open it for edit.
- Click the Alert tab.
- Click the HTML tab.
- Directly under Today is {#Birthday.FirstName}'s birthday, paste the following:
- Click Save & Exit.
{if (#Birthday.CurrentAge) GTE 25} Send them a Gold Gift! {/endif} {if (#Birthday.CurrentAge) LTE 25} Send them a Silver Gift! {/endif}
The alert displays on the member’s account page on their birthday and conditionally displays a Gold or Silver message based on the age defined in the function defined in the alert.