How to Think About Integrations

Connecting two systems together can be difficult. This article was created for those who need a starting point for how to begin thinking about integrations in Appian.

In this article we will discuss high-level concepts related to integrations. Additionally, we'll cover common integration terminologies and ways to integrate with Appian. Finally, we'll discuss some of the common barriers you might run into when integrating.

If you are familiar with integrations and just trying to figure out what integration type you need, checkout the Choosing the Right Integration Type article.

Why Integrate

The first question someone needs to ask when considering an integration between two systems is, 'Do I need to integrate these systems?'.

Understanding the purpose of the integration is important. Consider whether the users of one system need data from another system to do their job properly. Integrations will offer the highest value when the information or actions shared between systems offer value not otherwise possible.

Determining viable alternatives is also important. Is the information sharing between systems a one-time event or on-going? How timely does the data need to be? Depending on the frequency and urgency of the data, sometimes a one-time or periodic manual transfer of data is all that's required.

If the integration is important and there's not a viable alternative to get data, then it's a safe bet to invest time in building the integration.

When to Integrate

There are many scenarios that can make you consider using an integration. For example:

  • Cross-organizational users would benefit from knowing more about and collaborating with each other.
  • Multiple applications need to know about something that's happened.
  • A legacy system needs replaced but the cost of fully removing that system is too high in a single step.
  • Data from third-party organizations, like government and academic institutions, are essential to a process.

Each of these scenarios will require different configurations. This topic is discussed more in-depth in the Choosing the Right Integration Type article of the Integration guide.

How to Integrate

Behind every connection type, there’s a protocol behind it. Before the looking at an object or expression, it’s important to know how you should be connecting with that particular thing. Appian supports the following protocols:

  • HTTP - For RESTful Web Service Calls. Web APIs, Integrations, and most connector functions use this protocol to connect with other systems.
  • SOAP - For Web Service Definition Language (WSDL) Integrations.
  • JMS - For direct messaging to process models. Used with the receive message event when other systems are configured on a JMS bus.
  • SMTP - E-mail message to process models. Generally, a ‘listener’ model is configured to handle all incoming e-mails for an application, which will then parse the data appropriately.

Integrations via other protocol methods can also be achieved through our extensive plug-in capability.

What Are Integrations

Any time one system has to connect with another that’s an integration. Regarding Appian, you’re either connecting to other systems via a specific object or expression. The objects that are directly related to integrations are:

Once built, Integrations can be called in an expression or interface. Designers building integrations through an expression can also do so via connector functions. These expressions can then be used in a custom rule, or in any relevant expression editor.

Working In Multiple Systems & Multiple Documentation Sources

One significant challenge when setting up an integration between two systems is understanding the differences between how systems work and how they're documented.

This guide provides a comprehensive set of articles needed to successfully choose and configure an integration in Appian. However, it’s also important to have a thorough understanding of the system connecting to Appian. Where possible, we will try to highlight things to look at while reading third-party documentation.

Open in Github

On This Page