This site uses different types of cookies, including analytics and functional cookies (its own and from other sites). To change your cookie settings or find out more, click here. If you continue browsing our website, you accept these cookies.
It's the most wonderful time of the year - Santalytics 2020 is here! This year, Santa's workshop needs the help of the Alteryx Community to help get back on track, so head over to the Group Hub for all the info to get started!
After several years as one of the top ideas on Community, I’m happy to announce the public beta of the Box Connector in the Public Gallery! Looking to get up and running? This is the post for you!
First of all, why a Box Connector? For many years, Alteryx Customers have been using Box Sync to interact with their Box Data. While this solution works, it is less than ideal since it requires mirroring data locally, and configuration issues arise when migrating workflows to Alteryx Server.
To get around these difficulties, Box provides a robust set of APIs for developers to build on top of. This allows users to interact with their box account, upload files, download files and more with ease.
The use of APIs requires setting up an Application in the Developer Console, meaning that you can’t simply sign in using your organization’s SSO credentials. Typically, you are best to partner with your Box administration team to ensure proper setup and access to your files.
Since the Box Tools upload and download files to Box, you will want your administrator to create an Enterprise Application:
Next, you will have to choose your authentication method, either Standard OAuth 2.0 or OAuth 2.0 with JWT. Both options have pros and cons as described below:
1. Standard OAuth 2.0:
Manually authenticate via standard OAuth
Authenticate as yourself
Access expires after 1 hour (must re-authenticate)
Not supported on Alteryx Server
2. OAuth 2.0 with JWT:
Automatically authenticate via a .json credentials file
Authenticate as a service account
Need to store .json in secure location
Supported on Alteryx Server with 2020.3
Once your application is created, you can obtain the necessary connection parameters in the Configuration section of the Admin Console.
The tools come as a .yxi file. To install, double click on the .yxi to open it in Designer and click install:
The install process will install two tools that will be available in the Developer tab in the tool palette:
1. Box Input: Reads files from Box into Alteryx
2. Box Output: Writes files from Alteryx to Box
When dragging the Box Input or Box Output tool onto the Canvas, you will be asked to select your authentication method in the Drop Down. Your options are Service-to-Service (OAuth 2.0 with JWT) or End User (Standard OAuth 2.0):
For Service-to-Service, you will be prompted to provide the file path for your .json credentials to authenticate to box. Your JSON Credentials File [redacted] typically looks something like this:
After a successful authentication, your credentials are saved in the workflow XML and encrypted at the machine level:
For End-User, you will be asked to provide several parameters:
If you do not know these parameters, you can look them up in the Configuration section for your Application in the Box Developer Console:
Once authenticated, an interactive file-picker is rendered, allowing you to choose your file. Note that only CSV, JSON, AVRO and Excel are supported.
When uploading a file, you will also have the option to create a new file. Don’t forget to Specify a file extension for your destination file.
Once you select your file, pertinent information, such as File Name and File Id are written to the workflow XML:
When the workflow is run, a Python Process is kicked off to read/write the data from Box. Under the hood, we are using the Box Python SDK to access the specified Box file as defined in your Workflow XML.
For example, the following code downloads your file from Box to Python:
Afterwards, your file is parsed based on your specified delimiter in the UI:
There you have it! You now have brought data from Box into Alteryx that is now available for downstream processing.
Looking to deploy your workflow on server? This functionality is coming in our upcoming 2020.3 release. Both Designer and Server will need to be on 2020.3. A small change to your server configuration will be required, so please reach out to Customer Support when trying to setup the Box Connector on Server.