Community Spring Cleaning week is here! Join your fellow Maveryx in digging through your old posts and marking comments on them as solved. Learn more here!

Alteryx Designer Desktop Knowledge Base

Definitive answers from Designer Desktop experts.

How To: Use the Box Tools with the JSON Web Token (JWT) Authentication Method

MariaW
Alteryx
Alteryx
Created

How To: Use the Box Tools with the JSON Web Token (JWT) Authentication Method

To be able to schedule a workflow on the Alteryx Server that use the Box tools, the JSON Web Token (JWT) authentication method needs to be used. The steps to use the Box Input/Output tools with this authentication method can be found below.

Prerequisites

  • Alteryx Designer 
    • 21.3.3.63061+
  • Box Tools
    • 2.1.1+
  • JWT Authentication 

Procedure

 1. Enable 2-factor authentication on your Box account, if not enabled already. 
  • Click on the icon having your initials on the upper right hand corner of the initial screen
  • Select Account Settings from the drop down 
  • On the Account tab, scroll down to the 2-Step Verification section and click on the 'Set Up' button to set this up. 
2. Go to the Dev Console on the bottom left

image.jpeg

3. Click on Create New App - Custom App
4. Select the 'Server Authentication (with JWT)' authentication option and give the app a name of your choice, and click Create App

image.jpeg

5. On the Configuration tab, select the appropriate of the two options in App Access Level and if you intend to write to the Box location, make sure to check Write all files and folders stored in Box
image.jpeg



6. Further down, click on Generate a Public/Private Keypair, this will create a JSON file. You will need to save this JSON file in a convenient location of your choice. 
image.jpeg
7. As per the help documentation, enter file://* on the CORS Domains field and click on Save Changes

image.jpeg

8. On the Authorization tab, click on Review and Submit to have the app approved for use with Alteryx
This will then send an email to the Box administrator to approve it. (The admin is listed on the General Settings page.) 
9. If you are the admin, approving of the app can be done from the Admin Console - Apps tab - Custom Apps section, hover over the app, and select the option to Authorize App
image.jpeg
10. In Designer, once you add the Box Input tool: 
  • You would select the JSON Web Token (JWT) option
  • For the Select File field, Browse and find the JSON file generated on Step 6, and click on Connect 
  • In most cases, the User Account ID can be left blank. If needed, the User Account ID can be found under the Account tab on the user's Account Settings page in Box. 

Additional Notes: 
  • The Box Input tool will only have access to the files shared with this particular Box app. To share the files you can use the Service Account ID that is auto generated for this app. This can be found under the Dev Console - <your app> - General Settings tab. This Service Account ID would then need to be entered in the Invite People field after clicking on the Share button on a particular file/folder. 
  • The JSON file generated in Step 6 should look similar to this:
{
  "boxAppSettings": {
    "clientID": "<clientIDString>",
    "clientSecret": "<clientSecretString>",
    "appAuth": {
      "publicKeyID": "<publicKeyIDString>",
      "privateKey": "-----BEGIN ENCRYPTED PRIVATE KEY-----<privateKeyString>-----END ENCRYPTED PRIVATE KEY-----\n",
      "passphrase": "<passphraseString>"
    }
  },
  "enterpriseID": "<enterpriseID#>"
}


Additional Resources

Comments
mrmo
5 - Atom

Thanks for the write up!

When I schedule a workflow on the Gallery using a Box Input or Output connector, the workflow only works for the first hour after it is saved to the Gallery.

After an hour has passed, the workflow fails out anytime it is ran from the Gallery (either manually or via a schedule).

I believe this is happening because the Access Token being generated by the Box connector is not being refreshed when the workflow runs on the Gallery.

If I run this workflow from my desktop, it works without fail.

Has anyone else had any issues attempting to run a Box Input/Output connector from the Gallery?  If so, what were you able to do to fix it?