Create a Record Type

In this article, you will learn how to create and configure a record type that can be accessed from the Records tab. For guided walkthroughs on creating records, check out our tutorials.

A record type allows you to define a set of records from your business data and processes, and create views for that data that you can make available to your users. Before creating a record type, it may be helpful to review how records are used in Tempo.

Create the record type

Record types are created in Appian Designer.

  1. Open the destination application for the new record type.

  2. From the New dropdown menu, select Record Type.

  3. Fill out the Create Record Type form.
    /Create Record Type/create record type

  4. Once you’ve named and described your record type, click Create to start editing the record type.


Define a data source

Every record type needs a data source defined that consists of a set of records. This can be a table or view within your data store, the running processes of a process model, or an external data source.

This section explains how to configure each within the Data section of the record type.

Define a data store entity as the source for a record type

Any data store entity can be used as the source for a record type. Every row in that entity will be treated as an individual record of your record type. This is known as an "entity-backed record." This is the most common type of record, and is the easiest to configure.

To create an entity-backed record,

  1. From the Source & Default Filters page select Data Store Entity from the Source dropdown.
    /source entity

  2. Click on the Data Store dropdown to select a data store from your application.

  3. Click on the Entity dropdown to select an entity from the selected data store.

Define a process model as the source for a record type

Any process model can be used as the source for a record type. Each running instance of that process model will be treated as an individual record of your record type. This is known as a "process-backed record type." This type of record is less common, and can be a little more challenging to configure. It may be helpful to do the process model tutorial, which has a section on process-backed record types.

To create a process-backed record,

  1. Choose Process Model from the Source dropdown.
    /processmodel entity

  2. Enter the name of the process model in the Process Model field.

Define an expression as the source for a record type

Your enterprise data may be spread across a number of different systems. Expression-backed records enable you to source your records with external data using Appian integrations. To learn more about expression-backed records, see the Expression-Backed Records Tutorial.

To create an expression-backed record,

  1. Choose Expression from the Source dropdown. /Create Record Type/expression backed record with pickers

  2. Enter a custom data type in the Data Type field. This custom data type must match the data contained in each record of the data subset.

  3. In the Record List Source field, pick an expression that returns a list of records. The expression must return a value of type DataSubset. Each row in the data field of the DataSubset should map to the selected custom data type. The data field in the DataSubset should contain a list of the specified data type.

  4. In the Record View Source field, pick an expression that returns an individual record. The expression must return the selected custom data type.

You can enable paging and search for your Record list by adding appropriate rule inputs to the Record List Source expression rule.

You must add a rule input of type PagingInfo to the expression rule to enable paging and sorting. Then, you must select the rule input from the Paging Info dropdown.

/Create Record Type/Paging and Search Dropdowns

Similarly, to configure Search for your record, you must add a rule input of type Text and select the rule input from the Search Text dropdown in the record type.

Configure the record list to enable filtering

To enable filtering on the Record List, you must add a rule input for each user filter. Each rule input should correspond to the type that will be returned by the associated user filter dropdown. The selected value will then be passed to the Record List Source expression rule, where the designer can apply it to the integration.

To learn more, see User Filters for Expression-Backed Records.

For information about expression-backed records created on Appian 19.4 or a prior release, see the Appian 19.4 documentation.


Create a record list

The record list is the list of records the user sees once they’ve clicked on this record type from the Records tab in Tempo.

The record list can be displayed as a feed or a grid. When the list is a feed, each record is displayed in a vertical list like a news feed. When the list is a grid, the records display in rows like a spreadsheet.

In the screenshot below, you can see the same set of records displayed in both a feed (left) and a grid (right).

One of the advantages of a grid-style list is the ability to sort on columns. By default, new record types are created with a grid-style list.

Allow your record list to be exported to excel

You can allow users to export record lists that are displayed as a grid to Excel. Simply select the checkbox under the Style section that allows users to see an Export to Excel button. Record viewers can click this button to download a copy of their filtered record lists in Excel.

For additional information, see: Optimizing Record Lists for Export to Excel.

/edit record list

Create a grid-style record list

Grid-style record list is the default list for new record types. The grid-style list is configured with a new interface that is much like the design view of an interface. This interface allows you to easily navigate and configure the components of this grid.

To give your records a title that will display at the top of every record view, go to the Views page and enter a title in the Record Title field. This is an expression field, so encase text values in quotes.

To configure your grid-style list, go up to the List page and click Edit Record List.

If this is a new record, you'll notice that there's already a grid configured here. We grab a few columns from your data source just to get you started. We also put a record link component in the first column so users can click to the record directly.

Don't worry, you're not stuck with this grid; you can add, remove, and change any column. If you’ve worked with the design view before, this interface should be familiar.

There are three main levels to the record grid that you can easily navigate from the navigation panel on the left: (1) Grid level, (2) Column level, and (3) Component level.

Grid-level settings

A grid’s general settings allow you to set which columns to display, how many rows to display per page, and the default sort when the list is first opened.

/Create Record Type/new image 6

  • (A) In the navigation pane on the left, Grid is the highest level available. You can always click here to return to these settings.

  • (B) Under Columns, you can choose which columns to display and in which order. You can also add a new column here by clicking Add Column at the bottom of the column list.

  • (C) Here you can set some paging information, including how many Rows to Display Per Page, the Default Sort field, and whether the sort should be Ascending or Descending.

  • (D) Click Test at any time to refresh the grid preview. This resets sorting so you can preview how the grid will look when it's first loaded in Tempo.

For a full list of grid properties, see Grid-Style Record List.

Column-level settings

You can configure a number of settings related to a column, including its label, width, alignment, etc.

To edit a column’s settings, click on any column name in the navigation pane on the left, or click on its label in the Columns section of the Grid settings.

In the below screenshot, I’ve set the Label for column #4 to "Contact," and I made the column sortable by selecting PurchaserName from the Sort Field dropdown. When the user clicks the title of this column, it will sort by the values in the PurchaserName field.

If you don't set a Sort Field for a column, users won't be able to click on that column to sort it.

Component-level settings

Every column can have one component. If your column does not have a component yet, in the Component section, click Select Component, and choose the desired component type. To edit an existing component, simply click on the component’s name.

In the above screenshot, the component in this column is a text component with the Display Value of rf!PurchaserName.

At the component level, values must be called with the record field domain (rf!). Every field in your data source is available as a record field.

For a full list of available components, see Grid-Style Record List.

Create a feed-style record list

A feed-style record list is vertical list of records that resembles a news feed. This is an alternative to the grid-style list in the previous section.

The feed-style list is created with the listViewItem function.

A feed-style record list cannot display more than 100 records. If the record set includes more than 100 records, and searching by record title won't help users find the records they're looking for, we recommend you Create User Filters, or consider a Grid-Style Record List.

To create a feed-style record list, from the List page, select Feed, then click Edit Record List.

This will display a form into which you can enter your list view function and choose a field to sort on.

You’ll notice that record values are called with the record field domain (rf!). Every field in your data source is available as a record field.

The listViewItem expression in the previous image results in a list that looks like this:

The first record in the above image has been color coded against the listViewItem function so you can see how the parameters display.

Many users find it helpful to create the list view in a separate expression rule and call that rule here.

In this example, the record image itself (in the image parameter) is called from a rule that returns an image for each record based on the record’s status. Below is the rule we used to choose the appropriate image.

fetchOrderIcon

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
a!localVariables(
  local!status: choose(wherecontains(ri!status,cons!CASE_APP_OrderStatus),
    "EYE",
    "CLOCK",
    "WARNING",
    "PAPER_AIRPLANE",
    "TASK"
 	),
  local!color: choose(wherecontains(ri!status,cons!CASE_APP_OrderStatus),
    "BLUE",
    "GREY",
    "ORANGE",
    "GREEN",
    "GREEN"
  ),
  a!iconNewsEvent(local!status,local!color)
)

Add a record list action

A record list action is a link to a process model the user can start directly from the record list. It is common to configure this action for users to create a new record for that record type.

To create a record list action,

  1. Open your record type.
  2. From the List page, click New Action at the bottom of the Action grid. Create New Record List Action
  3. Enter the Display Name of the record list action. This name is displayed on the button that initiates the action.
  4. The field Key will autogenerate from the Display Name. This key is used to reference record list actions within SAIL components.
  5. Enter the Description of the record list action. This description is displayed in a tooltip when hovering on the record list action button.
  6. Select the icon you wish to display with the action at the top of the record list in the Icon field. The default "plus" is a good choice when adding a new record.
  7. Select the process model you wish to use as a record list action in the Process Model field. Create New Record List Action
  8. To further restrict who can access the record list action, update the Visibility expression field. The action will only be visible when the expression evaluates to true for the user.
  9. Select the OK button to confirm the record list action setup.
  10. Optionally, specify how the record list action should open. "Dialog Box" is the default option.
  11. Save the record type. Create New Record List Action

Define a default filter

Default filters allow you to filter records before they are loaded in the record list. Records filtered this way are completely inaccessible to the user, and won't show up in searches or queries by that user. For more information about default filters and record type security, see Default Filters.

Each default filter defines a condition that must be true for a record to display in the list. If you have multiple conditions, the record must meet all conditions in order to display.

You can create a default filter using the following options:

  • By Field: Allows you to apply multiple default filters joined by an AND union.
  • Expression: Allows you to apply more complex filters by entering an expression containing a list of a!queryFilter() or a!queryLogicalExpression().

By field

To create a default filter,

  1. Check the By Field radio button.
  2. In the Default Filters section, click on + New Default Filter. This will display the Create New Default Filter form.
    Screenshot
  3. Enter the record field to check in Field. You don't need to use the rf! prefix.

  4. Select the appropriate comparison from the Operator dropdown.

  5. Enter the value for the comparison in the Value field. This is an expression field, so encase text values in quotes.

    For example, the filter in the following screenshot removes all records with a status of Closed. Screenshot

  6. Click OK.

Expression

  1. Check the Expression radio button.
  2. In the expression editor, enter your expression containing a filter. For additional details, see Default Filters on Record Types.

The Default Filters field doesn't exist for expression-backed records, and should instead be implemented directly in the Record List Source expression rule.


Create user filters

User filters, like default filters, allow you to define conditions that must be true for a record to display in the list. Unlike default filters, user filters are controlled by the user on the record list.

You can have multiple user filters, each configured via the guided or expression-based approach.

  • Guided: Allows you to create a list or date range filter through a guided experience.
  • Expression: Allows you to use an expression to dynamically generate the filter's options. When using a dynamic user filter, Appian recommends defining the user filter expression in a rule for version control and testing purposes, and calling that rule in the User Filters field. For more information on creating user filters using an expression, see Expression-Based User Filters.

User filters for expression-backed records are configured differently than user filters for other record types. To learn more, see User Filters for Expression-backed Records.

Create a guided user filter

List user filter

  1. Click + New User Filter in the User Filters section. This displays the Create New User Filter form.

  1. Enter a name for the user filter in Name. This is the name it will display within the record type, in the User Filters table.

  2. Enter the name you want users to see in Label.

  3. Enter the field you want to filter against in Field. Note: you don't need to use the rf! domain here.

Set user filter visibility

By default, user filters are visible to all users who can see the record type. If you want to restrict the visibility of a filter, click Only show when… from the Visibility section. Doing so displays a field into which you can enter an expression.

The filter will display when the expression evaluates to true.

Create filter options

Now it's time to create some filter options. Each one of these will display under the filter dropdown at the top of the record list. When the user clicks on one of the options, it'll filter the records for all that match that condition. Multiple options can be selected at a time from a single user filter by default. To change the filter to only allow a single selection, uncheck the "Users can select multiple options" field. To create a new filter option,

  1. Click + New Filter Option.
    Screenshot

  2. Enter a name for the option in Option Label. This is the name users will see.

  3. Choose the appropriate condition from the Operator dropdown. This is how your chosen record field will be compared.

  4. Enter a value the condition must meet in Value. This is the value your record field will be compared against.

Set a default user filter option

You can choose one of your options as the Default Filter Option, which means when a user first loads the record list, this option will already be selected. They can clear the option by clicking on it, if they want to choose another.

To choose a default option, select the Set default option checkbox. This will open the expression editor. Enter in an expression that evaluates to one of the option labels defined in the user filter.

Date range user filter

  1. Click + New User Filter in the User Filters section. This displays the Create New User Filter form.

  1. Enter a name for the user filter in Name. This is the name it will display within the record type, in the User Filters table.

  2. Enter the name you want users to see in Label.

  3. Enter the field you want to filter against in Field. Note: you don't need to use the rf! domain here.

Set user filter visibility

By default, user filters are visible to all users who can see the record type. If you want to restrict the visibility of a filter, click Only show when… from the Visibility section. Doing so displays a field into which you can enter an expression.

The filter will display when the expression evaluates to true.

Set a default user filter option

You can choose to add a default From or default To value. This means when a user first loads the record list, the configured values will already be selected. They can clear the option by clicking on it, if they want to choose another.

User-saved filters

In addition to defaults set by developers, users can also save their own filters. These user-saved filters can be saved by choosing values from the existing user filters and selecting Save filters as… from the filters menu.

User-Saved Filters

Here, each user can name the filter and choose whether to load it by default once they navigate to the record list.

Save Filters Dialog

Each saved filter will display with a shortcut at the top of the page next to My Filters.

Saved Filters with Tags

All saved filters are also visible by selecting Manage my filters… from the filters menu. Here users can remove or rename existing filters. Users can also choose which filter to load by default, or even decide that none of the filters should be the default. Up to 10 filters can be saved; on mobile devices only one filter can be saved.

Manage Filters Dialog

Users can save values for any filters visible on the record list. However, some changes to the record type may affect user-saved selections. If you deploy any of the following changes to the record type, the corresponding saved filter is affected:

  • A user filter is removed
  • A user filter option is removed from the list of options
  • A user filter is changed from list to date range (or vice versa)
  • A user filter is changed from multiple to single select and the user saved multiple values

In all of these cases, users may need to update the saved values. A warning message also displays that describes what has happened.

Saved Filters Cleared

Create an expression-based user filter

For entity-backed and process-backed records, you can construct a user filter with an expression using the a!recordFilterList() or a!recordFilterDateRange() functions.

For configuration information and examples, see Expression-Based User Filters.

User filters for expression-backed records

  1. For an expression-backed record, click New User Filter in the User Filters section. This displays the Configure User Filter form.

  1. Enter a name for the user filter in Name. This is the name developers will see within the record type object, in the User Filters table.

  2. Enter the name you want users to see in Label. This is the name your users will see on the Record.

  3. In the Rule Input dropdown field, select the name of the rule input from the Record List Source Expression to which the selected value(s) for the filter will be passed. If you do not see any rule inputs in the dropdown, add rule inputs to the Record List Source Expression to enable filtering.

Set user filter visibility

By default, user filters are visible to all users who can see the record type. If you want to restrict the visibility of a filter, click Only show when… from the Visibility section. Doing so will display a field into which you can enter an expression that returns a boolean, and the user filter will display when the expression evaluates to true.

Create filter choices

Now it's time to create the choices for your filter. Filter choices will be displayed under the filter dropdown at the top of the record list. When the user selects one or more choices, the selected value will be applied to the Record List Source and the records will be filtered to all that match that condition.

Multiple choices can be selected at a time from a single user filter by default. You must set the selected rule input to be an array to allow selection of multiple choices for a user filter. To change the filter to only allow a single selection, uncheck the "Users can select multiple choices" field.

Use the a!recordFilterChoices function to create user filter choices for an expression-backed record.

Set a default user filter choice

You can set one of the choices as the Default Filter Choice, which means that when a user loads the record list, this choice will already be selected. The user can update the filter value, including removing the default filter choice.

To choose a default choice, enter in an expression in the Default Choice expression box that evaluates to one of the choice labels defined in the user filter.

Preview a user filter

For an expression-backed record, you can also preview the user filter to verify how it will be displayed above the record list. In the Filter Preview, you can select the choice(s) from the filter dropdown and the value(s) associated with the choice(s) will be displayed besides the dropdown. You can also update the preview using the Update Filter Preview button to preview any recent changes to the user filter configuration.


Define record views

A record view is an interface that allows you to display record information to users. These are defined on the Views page, where you will find a tabular display of the record type's views.

If you do not have a record view created yet, we recommend creating your record views as separate interface objects, and then passing the record information to those interfaces when calling them from the record type. To learn more about this method of creating a record view, see Create a Record View.

At a minimum, all records must have the Summary view, which is the default view for a record.

Define the summary view

The summary view is the first view a user sees when they click on a record from a feed-style record list. To define a summary view,

  1. In the views grid, click Summary.

    This will open the Edit View form.

  2. Enter an expression that calls your record view in the Interface field.

Add a record view

You can add additional views to a record (up to a maximum of 20 additional record views).

To add another view to a record, open the record type and click + New View, under Record View Details.

This will open the Create New View form.

  1. Enter the name you want the user to see in the View Name field. This is an expression field, so encase text values in quotes.

  2. Enter your interface expression, or an expression that calls your interface, in the Interface field. For an example, see part three of Create a Record View.

  3. Enter an expression to set the visibility for the view in the Visibility field. The view will only be visibile when the expression evaluates to true for the user.

  4. From Related Action Shortcuts, select the related actions you want to display as buttons for this view. This section is blank if you haven't added any to the record type yet. The next section explains how to add related actions.

  5. When related actions have been selected as shortcuts, you have the ability to set the launch type for these actions. New Views select "Dialog Box" by default but you can also choose "Same Tab" or "New Tab" as launch options.

Select a header style

You can customize the header style in a record from the Views page.

Record headers can be styled using colors or a billboard image. By default, your record header will have no style.

You can configure the color style using "Static", "Variable", or "Expression" options. This style displays an auto-height card of the selected color style with the record title, breadcrumbs, and related action buttons in the card.

Header_Color.png

To configure the Static option for color:

  1. Use the color picker to select the appropriate color or enter the hex code.

To configure the Variable option for color:

  1. Select the record variable of your color from the dropdown field. This picker returns the record variables of type TEXT.

Record_Variable.png

To configure the Expression option for color:

  1. In the expression editor, input an expression that evaluates to a valid hex color code.

Another option for configuring your record header style is with a billboard image.

You can configure the image style with “Document”, “URL”, “Variable”, or “Expression” options. The record header will display the billboard image of your choice, where you can style the overlay, height, and background color. The overlay will contain the record title, breadcrumbs, and related action buttons:

Style Options
Image Height "Short", "Medium", "Tall", and "Auto".
Overlay Type "Bar" and "Full".
Overlay Position "Top", "Middle", and "Bottom".
Overlay Style "Dark", "Semi-Dark", "None", "Semi-Light", and "Light".
Background Color Any valid hex code.

Header_Image.png

To configure the Document option for an image:

  1. Select an image using the document picker.

  2. Select the height of the image.

  3. Select the overlay type and then select the overlay style. The style options for these can be found in the reference table above.

  4. Select a background color to appear if your image is null, is an invalid value, or the user does not have permission to see the image.

To configure the URL option for an image:

  1. Enter a secure URL of a static image you want as your billboard image.

  2. Select the height of the image.

  3. Select the overlay type and then select the overlay style. The style options for these can be found in the reference table above.

  4. Select a background color to appear if your image is null, is an invalid value, or the user does not have permission to see the image.

To configure the Variable option for an image:

  1. Select the record variable of your image from the dropdown field. This picker returns record variables of type TEXT, INTEGER, and DOCUMENT.

Record_Variable.png

  1. Select the overlay type and then select the overlay style. The style options for these can be found in the reference table below.

  2. Select a background color to appear if your image is null, is an invalid value, or the user does not have permission to see the image.

To configure the Expression option for an image:

  1. In the expression editor, input an expression that evaluates to a valid document or image URL.

  2. Select the overlay type and then select the overlay style. The style options for these can be found in the reference table above.

  3. Select a background color to appear if your image is null, is an invalid value, or the user does not have permission to see the image.

If you use variable or expression, the live preview will not display the selected image.

Related actions are links to process models the user can start directly from the record view with information about that record. We call that information the context for the related action. We recommend limiting related actions to processes relevant to the specific record from which they are started. To learn more about how related actions work from records, see Related Actions and Starting Processes From an Interface.

Related action process models are same as any other process model, except for a start-form restriction: if the process model has a start form, that form must be a SAIL form. This restriction doesn't apply to Quick Tasks.

Before you can add a related action to a record view, you must first add it to the record type. To do so,

  1. Open your record type.

  2. From the Related Actions page, click + New Related Action.
    Blank Create New Related Action

  3. Enter the Display Name of the related action.

  4. Enter the Description of the related action. If the display name is using the process model name, the description will automatically use the process model description.

  5. Select the icon you wish to display with the related action in the Related Actions list in the Icon field.

  6. Select the process model you wish to use as a related action in the Process Model field.

  7. Enter the values you want to send to the process model's parameters in the Context field. You need to use an expression that defines a dictionary, which must contain a field for the relevant process parameters and a value for those parameters. This allows you to start a new process with information relevant to the record the user is currently viewing.
    • Note: When you select a process model for a new related action, Appian pre-populates this field with all process parameters found in the selected process model, sets their values to null, and adds a comment with the data type for reference. Simply replace the null with the value you want to pass to the process parameter, as shown below. You do not need to include all parameters from the process model; only include the parameters you need for the related action, and remove the rest. If you make changes to the process parameters later, you'll need to manually update this field.

    Create New Related Action

  8. To further restrict who can access the related action, update the Visibility expression field.

  9. Select the "OK" button to confirm the related action setup and then save the record type.

Now that you've added you related action to the record type, it'll be visible from the Related Actions view of your records.

If you want the related action to show up as a button in the upper-right-hand corner of a record view, you'll need to go back to the Views page and open the desired view.

From there, you should see your available related actions on the right under Related Action Shortcuts.

Simply check a box next to the ones you want to display on this view.

Related actions from Quick Tasks won't show up in this list.

Users will see selected related actions as buttons when they are on that particular record view. Different views can display different related actions.

You can also specify how related action shortcuts should open per record view. "Dialog Box" is the default.

In the below example, you can see our record type has two related actions available to add to the Summary view: Update Order Status and New Request.

Configure display options

Record types are displayed as a list of cards on the Records tab in Tempo. To help differentiate records, options are provided to configure an associated icon and icon color. Use this sparingly as multiple colors can be overwhelming.

Icon selection

  1. Select an icon that represents the data your record defines so users can find it faster in the list.

  2. Choose a color to help differentiate your record from others in the system.

Tempo display

By default, a record type will appear on the Records tab in Tempo, but can be configured to not appear. It's best to hide a record type which defines reference or supplemental data that is only created and managed in the context of another record. Note that hiding a record type does not prevent users from viewing a record's list or views in Tempo.

Configuring security for a record type

Security should be set on each record type individually.

See Editing Object Security to learn more about how to set and update a record type's security. See Record Type Security to learn more about the security permission levels available for record types.

Open in Github

On This Page

FEEDBACK