The capabilities described on this page are included in Appian's standard capability tier. Usage limits may apply. |
Note: This is a preview feature. Currently, you can only connect your portal directly to an external database if that database can be accessed at a public IP address. Make sure that these requirements fit your use case before adopting this feature.
For your external users to complete their workflows and tasks with ease, they'll likely need to enter or view data within your portal. Writing and querying data in a portal allows you and your users to easily get and share more information than ever.
There are two ways to write and query data within your portal:
Currently, you can only connect a portal directly to an external database if that database can be accessed at a public IP address. The database must be a supported external database that isn't behind a VPN.
This page will explain how to directly connect to an external database to work with data in your portal.
There are a few reasons that you might want to connect directly to an external database that is publicly accessible instead of using web APIs and integrations to connect to an Appian data store. The primary reasons are scalability, isolation, and speed of development.
When you connect directly to an external database, calls to the database don't pass through Appian. This means that your portal isn't bound to scalability of Appian and can scale independently.
When you connect directly to an external database, your portal is not connected to your Appian applications via web APIs and integrations. During heavy usage, this isolation means that you don't have to worry about a lot of web API calls from your portal impacting the performance of your Appian applications.
When you connect directly to an external database, it becomes easier and faster to use data in a portal. It only takes a few simple steps to set up your external database as a data source connected system and call it directly from an interface.
Writing data through a portal opens the door to new users and more information. Portal users can fill out a questionnaire, respond to an anonymous survey, request rebates or services, apply for grants, or kick-off their own onboarding process. But while you're reaching more information and a broader audience, you still need for your data to stay safe. Portals' isolated architecture gives you the best of both, by allowing you to write data to your external databases safely and effectively from public forms.
To write data from your portal directly to an external database:
Be aware that any calls to your external database go directly to the database and don't pass through Appian.
When you deploy your portal object to a different environment, include an import customization file (ICF) in the application or deployment package. In the ICF, provide your API key as well as any other connected system credentials and information. For more information, see Deploying a portal.
To write data in a portal to an external database, you need:
a!writeToDataStoreEntity()
, a!writeToMultipleDataStoreEntities()
, a!deleteDataStoreEntity()
).Querying data through a portal allows for more of your users to quickly and easily access information. While using your portal, users may need to check out the status of their in-flight processes, view information about your products or services, or search public records. We understand that allowing public access to some of your data may seem risky, but don't worry, you choose which data you allow users to access. Portals' isolated architecture gives you peace of mind while allowing you to query data from your external databases for public access safely and efficiently.
To query data in your portal directly from an external database:
Be aware that any calls to your external database go directly to the database and don't pass through Appian.
When you deploy your portal object to a different environment, include an import customization file (ICF) in the app or deployment package. In the ICF, provide your API key as well as any other connected system credentials and information. For more information, see Deploying a portal.
To query data in a portal from an external database, you need:
a!queryDataStoreEntity()
function to query data from your database.To write and query data in an external database, your users must have Viewer permissions to the data store that connects your portal to your database.
To give users access to your external database:
For more information about using service accounts with your portal, see Service Accounts in Portals.
Note: If you need to update which data stores your portal has access to after your portal has been published, update the portal's service account permissions and republish the portal.
Be sure to fully test all parts of the connections to your portal with a production-level amount of data and usage to make sure everything is performing at scale. Test your primary interface before publishing. Then, test all aspects of your published portal to make sure your users can write and query data correctly. Some connections can't be tested until after publishing.
Connecting a Portal Directly to an External Database