Appian Release Notes

New features are described below in detail. Behavior changes, resolved issues, deprecations, and removals are called out in their own sections.

Appian 17.2 is a massive release packed with features like new and better components, new design objects, smart options for building great looking interfaces, and performance and usability improvements so you can take your applications to the next level.


Appian users of Tempo, Sites, and Embedded will appreciate the following new features.

Big and Beautiful with the Billboard Layout

Making sure you can create interfaces with the right look and feel is important to us, which is why we are always expanding the toolset. The latest tool is the Billboard Layout, which makes it easy to provide information while maintaining visual appeal.

This new layout comes with a lot of configuration options so you can get creative: choose a color or set a backdrop, choose the overlay position—even embed a video.

Unlimited Columns with the New Columns Layout

A long-requested capability was to be able to add more than two columns to an interface, and with this release, we're delivering; the Column Layout is a new, flexible layout that lets you create as many columns as you need.

You can mix and match however you like as well, so if you have multiple sections in an interface, you can populate them with whatever number of columns makes sense for each. These columns also stack naturally when viewed on mobile devices.

Easy Multi-File Upload

We've introduced a new version of the File Upload component with several enhancements. You can now upload in bulk or select multiple files from your browser. You can also limit specific file extensions, file sizes, and number of files.

Designers will appreciate that all of this functionality is available as configuration options in the improved component.

Push Notifications for Mobile Users

We're excited to deliver one of the most requested mobile features: push notifications for tasks.

Push notifications help connect today's mobile society through Appian. No need to search through your emails, or log into Appian to stay connected; simply access the task from your mobile device.

Mobile push notifications for tasks are only available for Appian Cloud customers at this time.

More Contextual Styling Options

We have an array of improvements designed to give you more control over contextual messaging with users. It starts with some simple, but impactful new text and button formatting options, and extends to sensible access to adding and changing text in confirmation dialogs.

Appian Insight: Purpose and Intent

One of the reasons designing interfaces in Appian is so fast and easy is because we pre-define and standardize much of the layout and styling. We do this so you can focus on what's important, which is the function of the interface. You see this reflected in button style options—you don't choose a "blue" style, you choose a "primary" style.

This practice allowed us to completely overhaul the look and feel of Appian interfaces to make them more modern and attractive without you needing to change anything to take advantage of it, because the interfaces you made were expressions of purpose and intent, not shape and color.

With that in mind, when we expand what designers can do, we do so in a thoughtful way, ensuring that we can provide you more style options that capture what you want to do, without slowing you down.

Rich Text

We know you can communicate impact or importance with something as simple as the size of a particular word on the screen, or draw attention to missed deadline by changing font color. So we've added more rich-text formatting options to let you change the size of text, or change the color to indicate something positive or negative. This way you can do things like dramatize a successful quarter.

Or highlight a problem with a small, targeted change of context.

Button Styling

We've added two new button styles: secondary and link, and added configurable button size, so you can make important buttons stand out, and less common buttons more subtle.

Confirmation Dialog Styling

Confirmation dialog styling and content now gives you more control over the way you communicate with your users.

You can now add a title and change button labels to provide more information for your users before they take an important action.

The ability to add more information to these messages allows designers to customize their messaging when a simple "yes" or "no" won't do.

See the Examples section of the Button Component page for more information.

New Checkbox Layout Option

In line with providing more options for configuring the smaller details of interfaces, you have another option for checkboxes, which can now be configured to display choices in either a stacked or compact (side-by-side) layout.

Faster SAIL

With every release we make it our goal to increase SAIL performance, and this release is no different. Though everyone benefits from these performance improvements, those of you who have large grids will really appreciate the faster loading times in this release.

Faster Record Pickers for Complex Records

We now save you some time when interacting with record pickers, so you can quickly fill out your forms and move on to the next task. Users will experience faster pickers, especially for complex records (up to 50% faster in some cases).

Better Sites Navigation

We understand that switching between Tempo and Sites is becoming common. To address this, we’ve made changes that allow users to move freely and easily between their various work spaces.

For Sites, you can now enable a link to Tempo that displays along with all Sites the current user has access to.

You'll notice the Site navigation menu now also include links to the Administration Console, Appian Designer, and Runtime Data (if the user has access to those interfaces).

We've also added on option to display the Site name in place of the menu icon, to provide better orientation for users.

And navigating to Sites from Tempo is also easier, as any Site the user has access to will appear as an option from the user options menu.

More Sites Branding Capabilities

Branding is an essential part of every company and Appian provides an efficient way to make your Site branding experience more dynamic.

You now have the ability to define the accent color of your Site, which affects a wide array of interface elements, allowing you to further stylize your Site.

We've also made logos and favicons expressible, allowing you to create dynamic branding, which means you no longer have to build multiple sites to achieve unique branding experiences.

Configurable Sites Page Width

We added options for the default width of the content area of a Site page. In addition to the normal width, you can now choose wide or narrow for each page, so you can choose the width that best suits the content.

New Record Filter Option: Select Multiple

Appian has made record filters more powerful with a new option to allow for multiple filter selection (available for both static and expression-based filters).

This means you no longer have to create reports to elicit the same effect, and you provide more efficiency for users searching for their records.

Hide User's Latest News Activity in the User Record

Designers now have more flexibility when changing the summary view of the User record type, as they can now choose to hide the user's latest news activity.


With this release, Designers will find a huge array of improvements aimed at giving them even more freedom when building applications, and to make the process of building them even faster. We have some never-before-seen stuff, like intelligent validations that check your design, to real time savers like keyboard shortcuts, and auto-connecting process model nodes. You will also appreciate the new modern components and styling of the Modern UI initiative when you're editing Interfaces, Expression Rules, Web APIs, and Record Types.

New Design Object: Decision

Every company has business rules by which they make decisions, whether in insurance, finance, pharmaceutical, or manufacturing. This release introduces a brand new design object to capture those rules directly and simply as a decision table: the Decision.

The ease with which people learn to work with decision tables made it a natural choice for this new design object. If you've never worked with decision tables before, you'll find them intuitive and easy to understand.

Basic decision table with simple configuration.

If you've worked with decision tables before, ours are based on the open Decision Model and Notation (DMN) standard.

There are great reasons for designers to get excited about working with Decisions:

  • Intelligent validations check your design in a variety of ways, for example:

    • Highlighting gaps in input ranges.
    • Enforcing the unique hit policy by making sure no two decisions can be triggered from the same inputs.
    • For a complete list of design-time validations, see Decisions.

  • You can use decisions to simplify many aspects of application design; you should check out these dramatic before-and-after shots where a Decision was used to simplify this complex process: Dynamic Process Execution. Where before you may have used an array of objects to represent complex conditional pathing, the decision table contains all of that logic, making it easier to build, test, maintain, and audit.

We have new documentation available to help get the most out of Decisions:

New Design Object: Integration

Configuring integrations can be complicated, especially if you're not an expert. That's why we're excited to introduce a new design object, the Integration, which makes integrating with other systems (like Google Maps) as easy as building any other part of an Appian application.

Integrations are a low-code approach that allow you to configure integrations in minutes instead of days. It consolidates the multitude of configurations you needed to create before, and entirely replaces httpQuery() and httpWrite().

Some highlights about this new design object:

  • Easily test and get rapid feedback and detailed guidance while you're still configuring the Integration.
  • View your request/response diagnostics without needing any third-party debugging tools.
  • Enter your authentication credentials directly into the object without needing to go the administration console.
  • Reuse the same integration in multiple places throughout your applications.
  • Receive complete response data even when an error is returned.
  • Call a wider range of HTTP methods from a SAIL interface without needing a smart service.
  • You can now receive a response when you update data in an external system.

Editing Awareness for All Major Design Objects

In 17.1, we released editing awareness for Interfaces, to protect designers from unknowingly overwriting each other's changes. With this release, we've expanded this protection to all major design objects:

  • Interface (17.1)
  • Data Type
  • Decision
  • Expression Rule
  • Integrations
  • Record Type
  • Sites
  • Web API

Once you begin editing any one of the above objects, other designers are warned when they open or try to update the same object. You are also warned if you try to edit the same object in more than one window or browser.

Designers will still be able to open the object in read-only mode, which will allow them to view the object, test it, and analyze precedents and dependents. If someone decides to Edit Anyway, you will be alerted and encouraged to coordinate changes with them.

Interface Designer Improvements

We've included a lot of new features and enhancements to make creating and modifying interfaces faster and easier.

Modern Live View

The interface live view now has modern components so you can preview the modern look as well.

Performance Improvements

We've greatly improved the performance of the interface designer. You can now transition between editing in Design View and Expression View more smoothly, and preview your changes more quickly.

Better Error Handling

We've made error handling in the live view better in a couple of ways:

First, when there's an error in your interface, the live preview is disabled until the error is resolved, to make error discovery a little faster.

Second, when there's an error that prevents the interface from rendering, we now disable the interface instead and display the error message on top in red. This gives designers as much context as possible when resolving the issue.

Convert Components From the Design View

You can now convert a component type to a similar type directly in the design view, without switching to the expression view. And, we’ll map relevant configurations to the new type for you.

It really is that easy.

Better Component Selection and Navigation

You can now click anywhere on a component to view and modify its configurations.

We also made it easier for you to move around within the structure of your interface. If you hover your mouse over the paragraph label of the selected component, you can see the parent layout the component is in.

Easier to Hide SAIL Components

Designers can now easily control the visibility of SAIL components with a new visibility option called Only show when.

All SAIL components, including layouts and widgets, have this new option. Instead of wrapping your component in conditional logic, simply select Only show when… and set an expression that evaluates to true or false. When it evaluates to false, the component will be hidden. This affects sub-components as well, so if you set this option on a section or layout, all components within will be hidden or shown along with their parent.

Rule Performance Metrics Aggregated by Minute

We have updated the historical performance trends to add a new level of granularity. Rule metrics now has a per-minute aggregation in addition to the existing hour, day, and week aggregations.

By pre-aggregating rule metrics to one minute granularity, instead of per-execution, we're providing more useful information, and saving you disk and memory space, while still allowing you to investigate general performance for expression rule versions.

Auto-connect Process Model Nodes

Working in the process modeler just got easier, as you no longer have to click and switch between nodes. Now you can simply drag a node onto another to connect them.

That's right, you can also drag a node onto a connector between two nodes and that will split the connector for you.

Function Evolution

With this release, we're introducing improvements to functions and SAIL components in a way that lets us preserve backwards compatibility. To do this, we take one of two approaches:

  1. Introduce the improvements as an entirely new function or SAIL component. This is something we do when there is sufficient difference in usage that it would amount to other large changes to design.

  2. Introduce it as a new version of the existing function or SAIL component, and modify the old version's name. This is something we'll do when the usage is similar enough, and there isn't enough of a reason to create a new function or SAIL component. When we do this, we will rename the old versions of the function or component for you; you don't need to do anything differently. For example, the new File Upload component is a new version, meaning when you upgrade to 17.2, existing instances of the File Upload component will be renamed to fileUpload_17r1().

For more information about how this is handled, see Function and Component Versions.

New Looping Function: forEach()

forEach() is a powerful, new looping function that evaluates an expression for each item in an array and returns a new array of the results. It can do everything that apply() and applyComponents() can do, and more.

Some of the advantages forEach() has over apply() and applyComponents():

  • Define the result by simply referring to fv!item in the expression parameter. There is no need to use function references like fn!isnull, no need to defer inputs with _, and no need to use the merge() function.
  • When you want to use something more complicated than a single function, that expression can be defined inline and does not require creating a helper rule.
  • There is no arrayVariable parameter as forEach() manages internal state automatically.
  • When modifying an array item, SAIL components can save directly into fv!item so there's no need to loop over array indices instead of the array itself.

Designers familiar with apply() can refer to the following table that illustrates a few of these differences:

apply() forEach()
apply( fn!isnull ri!array) a!forEach( items: ri!array, expression: isnull(fv!item))
apply( contains(ri!peopleArray, _), ri!names) a!forEach( items: ri!names, expression: contains(ri!peopleArray, fv!item))
apply( fn!product, merge( ri!purchaseRequests.qty, ri!purchaseRequests.unitPrice )) a!forEach( items: ri!purchaseRequests, expression: fv!item.qty * fv!item.unitPrice)

forEach() is such a better design experience that we've replaced all examples of apply() and applyComponents() in our documentation with forEach(). In doing so, we improved every example. This was most striking with our SAIL recipes that used apply() or applyComponents; using forEach() reduced the number of objects you needed to create; in one case we reduced the number of objects from five to one.

toJson() Improvements

toJson() has been improved to support additional precision in datetime conversions.

This is a new version of this function. See Function and Component Versions for more info.

facet() Improvements

facet() now supports multiple selection of filter options. By default, new user filters will allow for multiple option selection.

This is a new version of this function. See Function and Component Versions for more info.

Better Expression Editing

Working with expressions in Appian 17.2 is now faster and even easier.

Updated Syntax Highlighting

In this release, we've completely redone our syntax highlighting.

The new highlighting theme isn’t just more attractive and easier to read, we also added new a distinction between functions and external references.

We also have selected bracket highlighting; green when matching, and red when unmatched.

We also made the fact that external references can be opened with a shortcut more discoverable; if you hold down CTRL/CMD, external references will show link underlining so can see which you can click on.

New Keyboard Shortcuts

We have included new keyboard shortcuts, an easy accessible toolbar, faster autosuggestions, and updated syntax highlighting to make editing expressions easier. You can find a list of the most common shortcuts from the tooltip in the upper-right corner of the expression editor.

Auto-Suggest for Function Variables

Auto-suggestions show up about 30% faster. You can now also see custom inputs from rule objects, and function variables.

Better Formatting for Expression Outputs

Expression results in test outputs are now in a more readable format, letting you easily scan large blocks of information.

Record Type Security Moved

We made Record Type Security easier to manage by moving it up to the Settings menu.

Since security is no longer edited in-line at the bottom of the record type designer, permission updates made from the Application Designer or Security Summary are now seamlessly merged with changes made from within the record type.

Quick Apps Can Reference Their Own Records

In addition to picking other Record Types, a Quick App can now refer to one of its own records. This allows your Quick App records to be related so you can easily find them in the same application. For example, you can use this feature to create related issues.

Appian Administrators

This section describes new features for administering Appian.

Complete Tasks Within Outlook for Microsoft Office

You can now allow users to conveniently complete their Appian tasks in Outlook. Users that work primarily in Outlook don't have to navigate away from their email to view a task in Appian anymore.

This feature is available for the following Outlook versions:

  • Outlook Online (all Appian supported browsers excluding Edge)
  • Office 2016 for Windows
  • Office 2016 for Mac

System-Wide File Extension Blocking

Appian makes it easier for you to protect your system.

You now can create a system-wide list of extensions to block or exclusively allow file uploads. You can also optionally require that a file's extension and underlying file type always match.

This gives you another layer of protection and more control over what files enter your system to keep it up to OWASP standards.

Modern Admin Console and Colors

Appian is bringing the modern look and feel into the Administration console.

Administrators can now give their consoles more style, and use an interactive color picker when selecting colors for interface branding.

Export Admin Console Settings for Embedded

The Admin Console settings are important to the look and feel of your embedded sites, so with this release, we allow you to import and export everything in the Admin Console. The only exception is external authentication settings, which are usually specific to each environment.

You can now export all of your customized themes and transport them anywhere else.

No Character Limit for Terms of Service

To accommodate long Terms of Service, we removed the character limit.

Server Administration

This section describes new features for server administrators.

Faster Application Server Startup

The amount of processing required to load system objects has been reduced, resulting in fewer transactions with the Appian data source during startup and an overall improvement in application server startup time. Startup times should decrease by as much as 20%, though the exact amount will vary based on data in the system.

Engine Call Logging

A new log file records how long calls to the various K engines are taking. This is another tool to help you track down performance bottlenecks and do capacity planning for your engine tier.

WebLogic Server 12c Now Supported

WebLogic Server 12c (12.2.1) is now a supported application server.

See also: Application Servers

Appian Cloud

The following describes changes affect all Appian Cloud customers.

Auto-compressing process archives after 90 days

Appian Cloud sites will automatically compress process archives 90 days after their creation. Once compressed, customers will not be able to unarchive these processes using the available shared components and will need to work with Appian Technical Support to do so.

This global setting can be adjusted per site upon customer request. Sites for which this setting is already configured to a different value will not be affected by this change.

Please note this does not mean processes will be automatically archived after 90 days. More information about Archiving Processes is available in our documentation:

End of Support for TLS 1.0 in August of 2017

Appian Cloud will no longer be supporting TLS 1.0. All incoming web traffic to Appian Cloud Sites will be encrypted using TLS 1.1 or TLS 1.2, both of which are already supported by Appian Cloud.

The Payment Card Industry (PCI) security council released PCI Data Security Standard (DSS) 3.1. PCI DSS deprecated SSL 3.0 and TLS 1.0 as secure protocols. This change has been acknowledged as a best practice across the industry and all major service providers are removing or have removed TLS 1.0 for web traffic.

More information about this change is available in our documentation:

Resolved Issues

This release resolves the issues listed below. To assist you in your migration planning, issue severity is listed for each item. The values of high, medium, and low are based on the criteria of system availability, system integrity, and confidentiality. Use this information, along with how you use Appian, to evaluate the applicability of this version to your deployment.

  • AN-80220 - Critical
    Sites designer will now display a confirmation message when designers attempt to close sites designer with unsaved changes.

  • AN-65810 - Medium
    All of your users can now use the Appian mobile app, regardless of their authentication method.

  • AN-79874 - Medium
    Site navigation menu can now be read by accessibility screen readers.

  • AN-82957 - Medium
    Embedded interfaces can now be contained inside UTF-8 encoded HTML pages.

  • AN-83951 - Medium
    Users initiating actions from the Starred actions list and then cancelling them will now be returned to the same Starred actions list.

  • AN-80917 - Medium
    Resolved an issue that allowed designers to set the Appian User record type default security to No Access.

  • AN-82530 - Low
    Clicking a submit button with the skipValidation parameter set to true in the live view of the interface designer now behaves as it would on an end user interface and does not trigger validations on required fields.

  • AN-81449 - Low
    In some rare instances where the interface definition is missing a comma, the interface designer now correctly reports an error.

  • AN-81091 - Low
    The shortcut to open a constant from within an expression editor now works correctly for constants whose name begins with a number.

  • AN-78512 - Low
    Local variables are now suggested appropriately when editing a component parameter as an expression within the design view of the interface designer

  • AN-80701 - Low
    When adding a new component within the design view of the interface designer, interface inputs are now suggested appropriately when using the enter an expression option.

  • AN-57648 - Low
    If you have text selected in an expression editor and then unfocus from it, the selected text now changes color to indicate that the expression editor is no longer focused.

  • AN-77165 - Low
    When attempting to access an interface, expression rule, web API, or record type that the user does not have access to, an error message is displayed instead of a blank screen.

  • AN-59810 - Low
    Errors displayed in the live view of the interface designer now wrap appropriately in Internet Explorer.

  • AN-57279 - Low
    Keyboard focus is now preserved across reevaluations within the design view of the interface designer.

  • AN-54791 - Low
    If you have the interface designer open in multiple tabs, resizing the panes in one tab no longer affects the size of the panes in other tabs.

  • AN-59658 - Low
    Scroll position is now preserved across reevaluations when configuring charts using the report builder in the interface designer in Internet Explorer.

  • AN-59446 - Low
    Scroll position of the design view of the interface designer is now preserved across reevaluations when interacting with components in the live view in Internet Explorer.

  • AN-67151 - Low
    Chart series no longer change color on every reevaluation when editing a chart in the interface designer.

  • AN-60173 - Low
    Arabic text now appears correctly in the interface designer.

  • AN-58919 - Low
    The org chart component is now highlighted appropriately in the live view of the interface designer when using the zoom option.

  • AN-57283 - Low
    Picker components are now highlighted appropriately in the live view of the interface designer when the height of the picker changes due to adding or removing tokens.

  • AN-65248 - Low
    When accessing process history, the 'Properties' column no longer displays HTML. Instead, the username or group names are now displayed in plain text.


The features listed below are deprecated and will be removed in a future release of Appian. Do not begin using deprecated features, and transition away from any prior usage of now deprecated features. Where applicable, supported alternatives are described for each deprecation.

Columns-Based Layouts

dashboardLayoutColumns(), formLayoutColumns(), and sectionLayoutColumns() are now deprecated, and will be removed in a future release of Appian.

We recommend you use:

httpQuery() and httpWrite() Functions

This functionality is now deprecated as of Appian 17.2. Because this functionality can now be configured using a dedicated design tool, Designers should build an Integration instead.

Mobile Support for Android 4.X and iOS 9

Support for the mobile app for Appian on Android 4.X and iOS 9 has been deprecated. Support for these mobile operating systems will cease in a future release of Appian.


The following features have been removed from Appian and are no longer available for use. If you are using any of these features, you must move away from their use before upgrading to this version.

Attachments and Notes on Process Models

The ability to add attachments and notes to process models has been removed. Designers should use Document Management and Data Stores instead.

Processes and process models with notes and attachments are not affected by this change.

Behavior Changes

The changes documented below may affect your applications. Note both the previous and new behaviors and make any updates as needed to adjust for these changes upon migration to this version of Appian.

Old Function Versions

Old versions of functions will be renamed on upgrade to 17.2. The naming convention for this is <name of function>_<appian version of divergence>. For example, in 17.2, toJson() was updated, which means old versions of it will be renamed to toJson_17r1().

Before substituting the old version of a function with the new version, see the new version's documentation to see if you need to make any adjustments to your usage to ensure correct functionality.

For more information about how this is handled, see Function and Component Versions.

  • Upgraded Components
    • fileUpload()
    • formLayout()
    • dashboardLayout()
    • sectionLayout()
  • Upgraded Functions
    • toJson()
    • facet()

Using SAIL Templates with Old Component Versions

Any interface relying on firstColumnContents or secondColumnContents within formLayout, dashboardLayout, or sectionLayout will not display the content within their parameters.

SAIL expressions configured for the old versions of those components cannot be pasted as-is into Appian 17.2.