The Ultimate Manual To Box Platform

If you’re interested in learning about Box Platform and how it can help you create better content management experiences for your teams and customers, this in-depth article is for you.

Box Platform allows businesses to extend the power of Box’s content management system outside its ecosystem. It helps companies automate their file access protocols, simplify admin tasks in Box, and build custom processes around your content.

It’s a slightly more technical platform than the standard Box application that is available to all users. Users require specific rights and roles inside a Box account to access and use Box Platform.

Let’s dive deeper into what Box Platform is all about and how it can help you improve your company’s content management practices.

What is Box Platform Anyway?

Box Platform is a multipurpose solution that allows businesses to use Box’s API as building blocks for creating custom content experiences for customers, team members, partners, and various other stakeholders.

It provides developers various tools to automate different tasks in Box, increase productivity by building repeatable processes, and take Box’s content management capabilities to third-party apps.

Although there are numerous ways developers can use the Box API to resolve different content management issues for their businesses, Box Platform is most commonly used for the two objectives below.

Scripting

Developers can use the Box API and developer tools to run scripts that allow you to control how different users interact with your content. For example, you can control how folders are managed, users are provisioned, and different content management policies are applied. This ultimately allows companies to implement Box’s capabilities at scale and develop a secure framework in which employees, vendors, and customers can access their content.

Developers commonly use Box Platform to run scripts to simplify the admin management in Box using the Box Command Line Interface (CLI). You can use this CLI to get information about your Box account usage, its users, your content, and various other aspects of your account.

Folder management and user provisioning are excellent examples of how automation can help you improve productivity in Box.

For example, large organizations with a constant inflow and outflow of employees need to grant and revoke user access to their Box accounts manually.

By using Box Platform and creating a script, they can automate this process. Any user who joins the company’s Box account can automatically access a standard folder structure with the appropriate usage rights. You can also create multiple scripts for different roles and grant them access to different folders as needed.

Similarly, you can automate the process of revoking user access when an employee leaves the organization. Instead of manually removing their usage right from different folders, you can run a script that automatically follows a standard operating procedure and moves their data to a service account for compliance purposes.

Third-Party App Integrations

Box’s API and developer tools allow you to take the Box content management experience outside its ecosystem and inside your favorite applications. It provides you the tools to easily integrate the Box CMS into third-party apps so that you don’t need to develop a file and content management system from scratch. Instead, you can call the Box experience in third-party apps and still control your content from a central location.

This integration also comes in handy when your company uses custom apps that need to call different files or gives users access to a limited amount of data. Box’s API helps you create the exact user experience your company needs by allowing you to move Box workspaces inside custom apps. You can also have a customized set of folders and metadata inside your third-party apps from Box based on your business requirements.

These were just two broad categories in which the various developer activities can be placed. However, there’s a lot more you can do with Box Platform and its API to achieve your business goals securely.

How Box Platform Works

Now that you have a basic idea of how Box Platform can help businesses improve their content experiences, let’s understand its various components and how they work together.

Box Integration Types

Box Platform gives you a lot of flexibility and control when using its API for integration. Depending on your business type and goals, Box Platform gives you four different types of app integrations.

Let’s learn more about each type in more detail.

Custom Apps
Most new developers start Box integration using custom apps. A custom app allows you to use Box’s content logic to power content experiences in third-party apps. They come in handy when you’re building a new app from scratch but don’t want to worry about things like file management, rendering, and other content management features.

Enterprise Integration
Suppose you want to extend Box’s content management capabilities into your internal organizational tools and also want to manage backend functions with it. In that case, enterprise integration will do the job for you. You can use enterprise integrations to manage users and groups and create custom workflows for your organization.

Partner Integration
If you want to publicly list your app in Box’s app gallery, you can use the partner integration type for creating your app. You’ll first need to integrate your tool with Box and make it publicly available to other Box users.

Custom Skill
Custom skills (also called Box Skills) allow you to use machine learning to extract metadata from your Box files. It’s a type of application that performs custom processes to files uploaded to Box and makes it easy to add or extract information from files uploaded to Box.

If you’re unsure which integration type is best for you, start with a Custom App or Enterprise Integration if you also need to manage your app’s back-end processes via Box.

Box User Types

To give you complete control over your data and allow you to share it with different audience types securely, Box offers various user roles. These roles are crucial to understanding when you’re creating a Box app because you’ll use them based on the level of access you want to grant through your app.

External Users
External users are not a part of your company’s official Box account. But you still want them to access your Box files through third-party applications or integrations with internal tools. You can invite them to specific folders or grant them access to individual files as needed. You’ll use this role frequently when creating apps for customers, partners, vendors, and other users outside your company.

Managed Users
Managed users are Box users inside your company who have a valid company email address, user account, and login credentials for your Box account. They usually have greater access to your files than external users, but you can control their roles and access levels as a Box admin.

App Users
App users are the general public outside your Box account that uses your Box app. Such users can be individuals or groups who use the custom app integrations you’ve built with Box. They have no access to your Box account and might not even know that they’re using the Box interface in your app.

Service Accounts
Service accounts are a kind of ghost accounts that work behind the scenes in your app. They’re a programmatic user that represents your app and can act on behalf of your users as well. They can help with data retention and integrity and are great for reporting purposes as well.

Box Platform Configuration Panel

The Box Platform configuration panel is where your app creation process starts in Box. You will use the configuration panel to determine how your app connects with Box, your files, and the app users.
Here are the things you need to set up in the configuration panel.

User Authentication
The user authentication settings allow you to determine how users log in to your app.

With Standard OAuth 2.0, users can log in with their Box login credentials or via app-specific credentials (for your app users.)

If you choose JWT authentication, Box will create a service account allowing your app to act on your behalf.

Developer Token
To allow the BOX API to access your Box account, you need a developer token. You can use the configuration panel to generate a developer token valid for up to 60 minutes.

Client ID

To authorize your app to connect to Box enterprise, you need a client ID. If you’re the admin of your Box account, you can enter the ID yourself. If you’re a regular user, you’ll need to provide the client ID to your admin, who can enter it on your behalf.

App Scopes
Using the configuration panel, you can determine the various functions your app can perform in Box.

For example, you can allow your app to manage users, read and write all files and folders, manage enterprise properties, etc. You can choose these scopes based on your organization’s needs.

App Access
You can also use the configuration panel to allow your app to make API calls to perform advanced actions on behalf of the users. Remember only to use this option for server-side development.

API Access
You can also enter a list of domains that can access your Box API.

Now that you’ve understood the various configuration options in Box Platform, let’s now move to the main building blocks of Box Apps.

How to Get Started With Box Platform

The fundamental step to using Box Platform is to set up its Command Line Interface (CLI). Here’s how you can do it.

Setting Up Your Box Command Line Interface (CLI) App

The Box Command Line Interface (or CLI) allows you to run quick scripts or perform bulk actions to automate content management in Box.

It’s pretty similar to other command-line interfaces, so if you’re familiar with CLIs, you should not have a problem working with the Box CLI. You can also use it to perform quick querying to understand your Box instance better.

Another widespread use case of Box Platform is simplifying the administration of your Box enterprise. You can use it to access all the core management features of Box in your terminal.

Here’s what the Box CLI looks like

To use the Box CLI, you’ll need to create a custom app from the developer console.

Here’s how you can do it.

Step 1: Sign in to your Box Developer Console.

Step 2: Click Create New App.

Step 3: Choose Custom App. Click Next.

Step 4: Choose your authentication method. For this demonstration, we’re choosing OAuth 2.0 with JWT.

Step 5: Give your app a unique name. Click Create App to continue.

Step 6: In the configurational panel, scroll down to Client ID and click Copy.

Step 7: In the Application Access section, choose Enterprise.


Step 8: In the Application Scope section, choose the options shown in the screenshot below.

Step 9: In the Add and Manage Public Keys section, click Generate a Public Keypair.

Step 10: In App Settings, click Download as JSON to download the JSON file and then click Save Changes.

Step 11: Click on General in the side menu of your configuration panel.

Step 12: In the App Authorization section, click Submit for Authorization.


Step 13: Click Submit in the Review App Authorization Submission dialogue box. If you’re a regular user, your Box account admin will approve the app. But if you’re the admin, you can authorize the app yourself.

Step 14: If you’re an admin, click Authorize New App under the Platform menu in the admin console.

Step 15: Paste the Client ID you copied in Step 8. Click Next to continue.


Step 16: Click Authorize to approve your app.


Your app should now be visible in the list of approved apps.

Step 17: Click on your app to open your terminal.

Step 18: Type the full path of the JSON file you downloaded in Step 13.

Step 19: Click Enter to complete setting up your app.

Step 20: To get a complete list of the commands you can perform in the Box CLI terminal, type box –help.

Step 21: Press Enter to get the list of commands.


Using these commands, you can perform various tasks with your Box application related to the files, folders, and users in your Box account.

Incredible companies use Nira

Every company that uses Google Workspace should be using Nira.
Bryan Wise
Bryan Wise,
Former VP of IT at GitLab

Incredible companies use Nira