File integrations support the ability of consumers to upload files that you require.
In a dialog, a File Upload interaction begins the upload process. It's immediately followed with an Integration interaction that invokes a File integration in particular (Integration type = File). It's the File integration that uploads the file to your external file share.
- You can use any REST endpoint that can accept an upload.
- The response body of an API request via a File integration can’t be retrieved like it can for one via an API integration. Instead, use the getFileCaption function to retrieve the filename of the original file that’s uploaded, and use getFileType function to retrieve the file’s type.
- Use of credentials isn't supported.
Add a File integration
- Open the bot, and click Integrations in the upper-left corner.
- Configure the integration settings (required fields are marked with asterisks):
- Integration Name: Enter the name of integration. Enter a name that's meaningful (it describes well the integration's purpose), concise, and follows a consistent pattern. This helps with organization, and it makes it easier for bot developers to work with the integration during bot development.
- Response Data Variable Name: Enter the name of the response data variable.
- Integration Type: Select File.
- Method: Select the type of HTTP request method. PUT and POST are industry standards and commonly used.
- URL: Enter the request target, i.e., the URL for your external upload service that can accept the file stream.
- Request Headers: Add any message headers to include in the request.
- Request Parameters: Add the request parameters to pass in the URL’s query string.
- Post Body: Enter the payload to send.
- Custom Data Fields: Add the fields that will store the result data in key/value pairs. Users who are tasked with creating bots can use and display this data in interactions by referencing these fields.
- Click Save.
The integration automatically includes the uploaded file as a binary body when making the POST request to the URL.
An example of what it would look like using an API platform like Postman is below.