Supported on the Advanced and Enterprise tiers:
The HTTP Connection can be used with the HTTP Data Destination, HTTP File Upload Data Destination, WebDav (HTTP PUT) Data Destination, and the HTTP GET Data Source. Note that the Connection will only be used if referenced in the Data Destination or Data Source configuration.
- The system that you are connecting to must allow requests from 3rd party systems in order for a custom integration to work
- Often, HTTP integrations (webhooks) are used to write API calls. If you are not sure if it is possible to integrate with your desired system, check if it has a documented API
- If it has an API, we can probably connect to it!
Create the connection as described here. Alternatively, Connections A Connection is an integration point that's used to link a ProntoForms Data Source or Data Destination to an external service to import or export data. Data Destinations and Data Sources that share the same external service can also share the same Connection. can be created while creating a Data Source or Destination.
Select HTTP Connection as the type.
Name the Connection and optionally provide a description.
Select the FormSpaces that are allowed to use this connection. This step will be skipped if creating a new connection while creating a Data Destination or Data Source, as the connection will be linked to the FormSpace FormSpaces are where forms are stored and organized in the ProntoForms Web Portal. A ProntoForms Team may have multiple FormSpaces, depending on their needs. Admins can set FormSpace permissions to control which users have access to the forms in that FormSpace. the Data Destination or Data Source is in.
Enter the URL to reach the web application you want to connect to.
How do I know what to enter here?
Usually, you can find this URL by referring to the API documentation for the system you want to connect to. Pick any API call, and find the URL in the sample request.
Often, customers want to set up one connection, and re-use it for all their data sources Data sources, also known as "Lookups", are external sources of data that you upload or connect to ProntoForms. You can reference this data in a form to populate answers or answer options. Data sources save typing, reduce errors, and make it easy to provide mobile users with only the relevant, most current data. and destinations (this is a good practice!). But, data sources and destinations are often pointing at different objects in the system you are connecting to.
Usually, it's the end part of the request URL that is unique per object. You should exclude this from your base URL.
Find your Base URL
Take the part of the URL that is common across all the requests you need to make.
And put it in the Base Connection URL for the connection.
In each data source or destination, you will have a field to place the remainder of the URL required in the "URL Suffix" field to make the complete request.
The system you want to connect you is usually protected by a username/password combo, an API key/secret combo, or similar. You will need to provide this in order to have permissions to do any action in that system, like fetch a list of records or add a new record.
Some systems authenticate through a single authentication token, and may specify that the token must be passed in a header. In this case, check off "Anonymous Access" on the connection, and provide that token on the data source/destination instead.
If there is no authentication required at all, use Anonymous Access as well.
If not using Anonymous Access, choose the authentication scheme that matches the requirements of the system you need to connect to. You can read about what the different types mean here: https://docs.microsoft.com/en-us/dotnet/framework/wcf/feature-details/understanding-http-authentication
Again, the requirement can often be found in the other system's API documentation. All of these methods require a username and password. Depending on the system, this might be the username and password of an actual "user" who has permissions for everything in the system, or it might be a special integration user.
"Basic" is the most common. If you're not sure what to use, try this scheme.
- If there isn't a special "Integration User", and you are forced to use the username/password of a regular user, ensure that the user already has permissions to complete all the actions you expect your integration to do.
- For example, if you need a data source to list all records in a specific table, ensure that the user has Read access to that table.