View this page in the latest version of Appian. Integrate with Appian Share Share via LinkedIn Reddit Email Copy Link Print On This Page Get External Data with Appian Integrations Watch this video for a high-level overview of integration design objects, and how you can use them to display external data in a record type. Overview Appian is a powerful system that can be a place for users to create and manage data, and it can be the hub to connect and manage data that lives in external systems. Appian's data fabric lets you unify and secure data from any system; integrating Appian with other systems lets your data fabric represent the full breadth of your business data. To connect to external systems, Appian offers objects that support several methods and protocols you can use to connect to external systems. You can use these tools to allow Appian to connect other systems, and to allow other systems to connect to Appian. Once these objects are configured, you can leverage them throughout your applications. This page explains the different integration options available and how you can get started. Integration considerations There are many scenarios where you may need to build an integration. Here are a few examples: Cross-organizational users would benefit from knowing more about each other's work to enhance collaboration. Multiple applications need to know about an event somewhere else in the enterprise. A legacy system needs to be replaced, but the cost of fully removing that system is too great. Data from third-party organizations, like government and academic institutions, is essential to a process. Enterprise data is managed by an event-driven architecture using Kafka and needs to be processed in Appian, or Appian needs to publish results back to Kafka after processing. Your organization's specific integration needs are unique, but there are common reasons to integrate systems that are informed by basic questions: Why do I need to integrate these systems? Is the information sharing between systems a one-time event or will it continue into the future? How timely does the data need to be? Think about whether the users of one system need data from another system to do their job properly. Integrations offer the highest value when the data or actions shared between systems offer value not otherwise possible. How Appian connects to other systems When connecting to external systems, it's essential to ask Which system has the data I want?. If Appian is making a request for data or listening for events, you'll configure design objects like connected systems and integrations or event consumers to connect with the other system. Similarly, if an external system needs to get data from Appian, you'll create design objects, like Web APIs and process models, to return a response to the other system. Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to close Appian calling other systems When you need Appian to get data from another system, you'll configure one or more of the following objects: Connected systems Integrations Process models The objects you need will depend on the type of connection you need to establish. Use the diagram below to help determine which objects to use. Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to close Next, you need to determine which protocol the connected system will use. There are built-in options, including HTTP and WSDL for web services and JDBC for databases, or you can extend Appian with plug-ins from the App Market) or custom plug-ins built with the Integration SDK. Connect using REST/HTTP Integrations are the primary way to connect to REST services. Once created, integrations can be called in a process using the Call Integration Smart Service or called directly within an expression or interface. Integrations and connected systems work together to let you quickly connect to an external system. Connected systems contain common integration information like the base URL and authentication data. This enables you to use multiple integrations with the same connected system. Connect using WSDL/SOAP When connecting to a web service using SOAP, you can use one of two web service features. If a process needs to call an external system, use the Call Web Service Smart Service. If this is not being called in a process, create expressions using the webservicequery() or the webservicewrite() functions to call the integration from an Appian expression rule or interface. Connect using JDBC You can integrate with the following databases using Appian's built-in data source connected system and a SQL integration: IBM DB2 MariaDB MySQL Oracle PostgreSQL SQL Server Aurora MySQL Aurora Postgres For other databases that support the JDBC protocol, use a custom JDBC connected system and a SQL integration. Connect using custom plug-ins If you are unable to connect through a purpose-built REST, WSDL, or JDBC service, you can build custom plug-ins to make calls to an external system. For common integrations, plug-ins may have already been built and offered on the Appian AppMarket. These resources are maintained by the Appian Community and are available to use on an as-is basis. Call systems in process models Once you set up the required objects, you can use these connectivity smart services to call other systems from Appian process models, bringing integrated data to your business processes. Activity Protocols Supported Call Integration HTTP and JDBC Call Web Service SOAP Invoke SAP BAPI HTTP Call systems with connectors Designers can also use connector functions to call other services. These expressions can then be used in a custom rule, or in any relevant expression editor. Other systems calling Appian When an external system makes requests to Appian, consider the question "What does this system need Appian need to do?". The answer will either be: Querying data from Appian. Telling Appian to do something. In either case, you will need to configure web APIs and process models to handle the requests. The following diagram breaks down these two scenarios into separate workflows, so you can decide what you need for your application. Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to close Querying data from Appian If the purpose of the integration is for an external system to get data from Appian, a web API should be built. When another system makes an HTTP request to that web API, the associated expression is executed and the result is returned to the calling system. For example, if you need to get data from a record type, create a web API that uses a!queryRecordType(). For information about getting data from processes, a web API built with a!queryProcessAnalytics() will provide results from specified processes. Telling Appian to do something If an external system needs Appian to do something, these requests are best handled through a web API that calls an Appian process or smart service after receiving a REST/HTTP request. We can also call an Appian process: As a WSDL (SOAP). Using a JMS message. By sending an email (SMTP). REST/HTTP If the integration can be handled with an HTTP request, consider creating a web API configured to take the needed action using a smart service function. The a!startProcess() function can be invoked by a web API to kick off a more complex business process (that is, when more than one thing needs to happen). You can start a process model containing a large number of smart services so you can accomplish a lot of work with a single call to the web API. If the API only needs to perform a single step—like removing someone from a group or updating values in a relational database—those web APIs can be built to directly call the appropriate smart service function. WSDL/SOAP If it is not possible to use a REST service to connect an external system to Appian, you can publish a process model as a web service. This will create a WSDL for other systems to invoke. While not as flexible as web APIs—which can be configured as broadly as the Appian expression language supports—process models published directly as WSDLs offer an easy-to-configure option for systems needing to connect using that protocol. JMS or email Java Message Service (JMS) and Simple Mail Transfer Protocol (SMTP) are two completely different protocol types, but both can be used to kick off a process using a receive message trigger within a start event. For processes already in progress, you can use a receive message event to accept the incoming JMS message or email. To learn more about using emails to kick off an Appian process, see Sending an Email Message to a Process. Other connection types If none of these connection types work, for example when sharing documents via HFS, a custom plug-in can be used to connect the two systems. Plug-ins for common integrations may already be offered on the Appian AppMarket. These resources are maintained by the Appian Community and are available to use on an as-is basis. Appian consuming events from an external system Appian has built-in tools that help you connect to a Kafka broker and consume events to drive action in Appian. Scroll or drag to pan · ⌘+/⌘− to zoom · Esc to close When you need Appian to listen for data from a Kafka broker, you'll configure the following objects to build an event consumption pipeline in Appian: A connected system to connect to the Kafka broker Event consumers to filter the events and define the action that Appian takes Process models to perform an action for each event Appian publishing events to an external system Appian can publish events from a process model to a Kafka topic using the Publish Event smart service. Publishing events lets you signal downstream systems after Appian completes processing—for example, returning business rule results or notifying an external pipeline that a request is finished. When you need Appian to publish events to a Kafka broker, you'll configure the following objects: An Apache Kafka connected system to authenticate with the Kafka broker. A Text constant containing the target topic name. A process model with a Publish Event node to build and send the event. Next steps Now that you understand the basics of integrating with Appian, you're ready to start building your integration: Plan your integration: Consider security, performance, and maintainability requirements before building your solution. Choose your connection method: Based on your requirements, select the appropriate protocol and follow the specific setup guides for REST/HTTP, SOAP/WSDL, or JDBC connections. Test your integration: Use the testing features built into integrations to validate your connection before deploying to production. Monitor and maintain: Set up monitoring to track performance and troubleshoot issues. For hands-on guidance, explore the Integration Tutorial and Web API Tutorial that walk through common integration scenarios step by step. Feedback Was this page helpful? SHARE FEEDBACK Loading...