Ellipse Gradient for Header
Box logo

Box Integration Guide

Integrate Box content, collaboration, and activity data with enterprise systems through REST APIs, webhooks, events, and secure file workflows.

Box integration options at a glance

Box integrations are primarily built on its versioned REST API for files, folders, users, groups, collaborations, metadata, search, and administration. Box also provides file upload, download, versioning, and resumable upload-session APIs for content workflows. Webhooks provide selected file and folder notifications, while the Events API supports broader activity retrieval with cursor-based incremental processing. Selected operations can run asynchronously and require polling. OAuth 2.0, JWT-based server authentication, and client credentials support different authorization models. Martini can consume these interfaces, receive webhook notifications, coordinate file transfers, persist cursors, transform metadata, and expose controlled APIs around Box operations.

Integration pointSupported by Box?Common use casesHow Martini supports it
REST APIsYesBox’s primary interface for files, folders, users, groups, collaborations, metadata, search, events, and administrative operations.Martini can consume Box REST endpoints, map payloads, apply business rules, and expose APIs around Box operations.
Webhooks / outbound callbacksLimitedSelected file and folder events can notify an integration when configured resources change. Coverage does not include every Box event or enterprise activity.Martini can expose an API endpoint or workflow entry point for notifications and retrieve current resource state for reliable processing.
Events API and cursor-based pollingYesUser and enterprise activity can be retrieved incrementally using event streams and stored cursors for broader synchronization.Martini can schedule polling workflows, persist stream positions, process pages, and resume after interruptions.
File upload, download, and upload sessionsYesBox supports file uploads, new versions, downloads, copying, moving, and resumable upload sessions for large files.Martini can coordinate downloads, upload sessions, part transfers, commits, validation, and retries in workflows.
Bulk / asynchronous operationsLimitedSelected operations can execute asynchronously or in bulk and return an operation identifier that must be polled.Martini can submit the operation, store its identifier, poll status, and route completion or failure outcomes.
AuthenticationYesOAuth 2.0 supports user-authorized access; JWT and client credentials support eligible server-oriented application models.Martini can manage environment-specific credentials and call Box APIs using the configured authentication and token-renewal flow.
SDKs and API definitionsYesBox provides SDKs and API reference material for several languages, while the underlying HTTP APIs remain the integration foundation.Martini can consume the HTTP APIs directly and use custom JVM-compatible logic when specialized signing or SDK behavior is required.
Database accessNot confirmedNo direct customer-facing operational database interface for Box content was confirmed; APIs and event interfaces are the recommended approach.Martini can persist integration state in an approved database, but should not assume direct access to Box’s operational database.

How Box exposes data and business events

Box REST APIs

Box’s versioned REST API is the principal interface for content management, users, groups, collaborations, metadata, search, events, and administrative operations.

Martini implementation pattern

Martini implementation pattern: a workflow or Martini API authenticates to Box, calls the required endpoint, validates and transforms the response, applies business rules, and writes the result to an enterprise target.

Implementation sequence

Authenticate with the configured Box application
Call the required Box REST endpoint
Process pagination or resource identifiers
Map the response to the target model
Apply validation and business rules
Write the result and record correlation details

Box Webhooks

Box webhooks provide notifications for selected events associated with configured files or folders. They are not a universal notification mechanism for all Box activity.

Martini implementation pattern

Martini implementation pattern: expose a controlled API entry point for the callback, validate the notification, retrieve the current Box resource, and process the change idempotently rather than treating the notification as a complete resource representation.

Implementation sequence

Receive the Box webhook notification
Validate the callback and identify the resource
Retrieve the current file or folder state
Check the event and resource idempotency key
Map and route the change
Return the callback response and record processing status

Box Events API

The Events API supports user and enterprise activity retrieval, including cursor-based incremental processing for broader synchronization than selected webhooks provide.

Martini implementation pattern

Martini implementation pattern: schedule a workflow to read events from the persisted stream position, process relevant activity, and only advance the cursor after successful handling.

Implementation sequence

Start the scheduled synchronization workflow
Load the persisted Box event cursor
Retrieve the next event page
Filter supported activity and resolve resources
Process each event with duplicate protection
Persist the next cursor after successful processing

Box File Upload Sessions

Box upload sessions support resumable transfers for large files and interrupted uploads, including part uploads and commit processing.

Martini implementation pattern

Martini implementation pattern: orchestrate session creation, part transfer, commit handling, content validation, and bounded retries while retaining the session and correlation state.

Implementation sequence

Create the Box upload session
Split the content into upload parts
Transfer parts with bounded retries
Commit the upload session
Validate the resulting file and version
Publish completion or route the failure

Box Asynchronous Operations

Selected Box operations execute asynchronously or in bulk and return an operation identifier that must be polled until completion.

Martini implementation pattern

Martini implementation pattern: submit the operation from a workflow, persist the returned identifier, poll according to a controlled schedule, and route completed or failed operations to downstream processing.

Implementation sequence

Submit the supported asynchronous operation
Persist the operation identifier
Poll the operation status
Apply bounded retry and timeout rules
Process the completed result
Route failed operations for review

Common Box integration patterns

Pattern 1: Process documents from Box into a business application

When to use this pattern

Use this pattern when selected Box folders contain documents that must be validated and registered in Salesforce, ServiceNow, Workday, or another business application. Webhooks can provide near-real-time notification for supported resources, with the REST API used to retrieve authoritative content and metadata.

Integration direction
Box
Martini
ServiceNow
Example Mapping
Box FieldCanonical FieldTarget Field
File.iddocument.sourceIdAttachment.externalId
File.namedocument.fileNameAttachment.fileName
File.version.iddocument.versionIdAttachment.versionReference
File.parent.iddocument.folderIdCase.boxFolderId
Martini implementation pattern

Martini receives a Box notification, retrieves the current file and metadata, validates file type and required metadata, downloads the content, and writes it to the target application. A durable key combining file ID, version ID, and event information prevents duplicate downstream actions; transient failures are retried and permanent failures are routed for review.

Martini capabilities used
  • workflows
  • API consumption
  • data mapping
  • business rules
  • error handling
  • idempotency

Pattern 2: Synchronize Box activity on a schedule

When to use this pattern

Use this pattern when webhook coverage is insufficient, enterprise-wide activity is required, or a target system processes changes in batches. The Events API and persisted stream cursors allow processing to resume after an outage.

Integration direction
Box
Martini
NetSuite
Example Mapping
Box FieldCanonical FieldTarget Field
Event.event_typeactivity.typeIntegrationEvent.type
Event.source.idactivity.resourceIdIntegrationEvent.boxObjectId
Event.created_atactivity.occurredAtIntegrationEvent.eventTime
File.namedocument.fileNameDocument.fileName
Martini implementation pattern

A scheduled Martini workflow loads the last successful cursor, retrieves paginated event data, resolves relevant Box resources, maps activity to the target model, and advances the cursor only after successful processing. Rate-limit responses, temporary errors, and duplicate events are handled with bounded retries and durable state.

Martini capabilities used
  • scheduled workflows
  • API consumption
  • pagination
  • state persistence
  • data mapping
  • retry handling

Pattern 3: Publish approved documents to Box

When to use this pattern

Use this pattern when a source application generates an approved contract, report, invoice, or project document that must be placed in a predictable Box folder and shared with approved users or groups.

Integration direction
ServiceNow
Martini
Box
Example Mapping
Box FieldCanonical FieldTarget Field
case.numberbusinessReferenceFile.description
case.accountIdcustomerIdFolder.name
document.contentfile.bytesFile.content
approvedByapproverMetadataInstance.approver
Martini implementation pattern

A Martini API accepts the document and business context, resolves or creates the Box folder hierarchy, applies naming and metadata rules, uploads the file or a new version, and creates collaborations only when authorization rules allow. The workflow returns a controlled status and stores Box identifiers for later reconciliation.

Martini capabilities used
  • APIs
  • workflows
  • file handling
  • data transformation
  • business rules
  • secure configuration

Pattern 4: Transfer large files through Box upload sessions

When to use this pattern

Use this pattern for large files or transfers where a single upload request is unsuitable, including generated reports, archival content, and document exchanges with downstream processing.

Integration direction
Martini
Box
Adobe Acrobat Sign
Example Mapping
Box FieldCanonical FieldTarget Field
source.fileNamefile.fileNameFile.name
source.contentLengthfile.sizeUploadSession.totalSize
source.correlationIdtransfer.correlationIdFile.description
source.documentTypedocument.typeMetadataInstance.documentType
Martini implementation pattern

Martini coordinates session creation, part uploads, commit processing, and downstream notification. It retains session and part state, retries transient failures, handles session expiration, validates the resulting file, and checks for an existing file or version before retrying a non-idempotent commit.

Martini capabilities used
  • workflow orchestration
  • file processing
  • API consumption
  • retry handling
  • validation
  • duplicate prevention

Applications commonly integrated with Box

Box can be integrated with business applications that need document storage, collaboration, content distribution, or document-linked metadata. The following are practical enterprise patterns; exact capabilities depend on each application’s APIs, permissions, and tenant configuration.

Application Scenario Direction Martini Pattern
Salesforce Store contracts, proposals, account documents, and attachments in Box while keeping Salesforce as the business-system reference. Salesforce → Martini → Box Martini can receive Salesforce requests or Box events, map account and document metadata, upload or retrieve files through the Box REST API, and return document links or status to Salesforce.
Microsoft SharePoint Synchronize or migrate documents, folders, and metadata between content repositories or coordinate content across business units. Box → Martini → Microsoft SharePoint A Martini workflow can page through Box folders and files, transform metadata, transfer content through each platform’s APIs, and record source identifiers to prevent duplicate migration.
ServiceNow Attach incident, request, or case documentation to Box and return document links or metadata to ServiceNow. ServiceNow → Martini → Box Martini can accept a ServiceNow request, validate case and file metadata, upload content to the appropriate Box folder, and update ServiceNow with the resulting Box identifier or link.
Workday Store HR-related documents or generated reports in Box while synchronizing worker, organization, or document metadata. Workday → Martini → Box Martini can orchestrate scheduled or API-led exchanges, apply field-level validation and privacy rules, upload documents, and write Box identifiers back to the relevant Workday process.
Slack Notify teams when documents are uploaded, approved, or changed and provide links to Box content. Box → Martini → Slack Martini can receive selected Box webhook events or process Events API changes, apply notification rules, and call Slack with a concise message containing approved Box links and context.
Adobe Acrobat Sign Send documents from Box for signature and return completed or signed documents to Box. Box → Martini → Adobe Acrobat Sign → Martini Martini can retrieve or upload documents, invoke the Acrobat Sign API, track signature status, and place completed content back into the correct Box folder with version and correlation tracking.
Jira Associate project issues with Box documents and synchronize document links or selected project metadata. Jira → Martini → Box A Martini workflow can use issue events or scheduled retrieval, resolve the target Box folder, upload or link documents, and update Jira with stable Box references.
NetSuite Archive invoices, purchase documents, and related files in Box while synchronizing transaction identifiers and document links. NetSuite → Martini → Box Martini can retrieve transaction documents, create or resolve Box folders, upload files using standard or session-based APIs, and write the Box document reference back to NetSuite.

How to build a Box integration in Martini

Objective

Establish Box application access using the authentication model appropriate to the integration and keep credentials, keys, and environment-specific configuration outside workflow logic.

Instructions in Martini

  • Select OAuth 2.0 for user-authorized access or an eligible server-oriented method such as JWT or client credentials
  • Configure required Box scopes and enterprise authorization
  • Store secrets, private keys, and tokens in secure environment configuration
  • Plan for access-token expiration, refresh, revocation, and reauthorization

Objective

Select the event or schedule that matches the required timeliness and Box coverage rather than assuming webhooks cover every change.

Instructions in Martini

  • Use a Box webhook for supported events on configured files or folders
  • Use the Events API with a scheduled workflow for broader activity synchronization
  • Use a Martini API when another application initiates a Box operation
  • Define the polling interval and cursor or pagination state

Objective

Obtain the authoritative Box resource and content needed by the business process after receiving a notification or identifying a change.

Instructions in Martini

  • Resolve the Box file, folder, or event identifier
  • Retrieve current metadata rather than relying only on the notification payload
  • Download content when the target requires the document body
  • Use upload sessions for large outbound files

Objective

Coordinate Box calls, target-system calls, state management, and asynchronous operations as a maintainable Martini workflow.

Instructions in Martini

  • Separate notification receipt from longer-running processing when appropriate
  • Persist event cursors, upload-session details, and correlation identifiers
  • Poll supported asynchronous operations until completion
  • Control parallelism to protect rate limits and downstream capacity

Objective

Transform Box objects and metadata into the target application model while checking required fields and content rules.

Instructions in Martini

  • Map file, folder, user, group, collaboration, and event fields explicitly
  • Validate required metadata, file types, names, and permissions
  • Apply naming, routing, and retention-related business rules
  • Use stable Box IDs and version IDs rather than paths alone

Objective

Create or update the target object, upload or version the Box file, or publish a controlled API response based on the integration direction.

Instructions in Martini

  • Write the mapped result to the target system
  • Return Box identifiers, links, and processing status where appropriate
  • Check for existing files or versions before non-idempotent writes
  • Record successful source and target identifiers for reconciliation

Common Box data objects used in integrations

ObjectTypical UseCommon target systemsMartini handling
FilesDocuments and other content stored in Box, including new versions and downloadable content.Salesforce, ServiceNow, Workday, SharePoint, NetSuiteMartini retrieves metadata or content, validates identifiers and versions, transforms fields, and uploads or downloads files through Box APIs.
FoldersHierarchical containers for files and subfolders used to organize business content.SharePoint, Salesforce, ServiceNow, NetSuiteWorkflows resolve or create folder structures, apply naming rules, and persist Box folder IDs for repeatable processing.
UsersManaged Box users who own, access, or collaborate on content.Identity directories, Workday, ServiceNowMartini can synchronize selected user attributes subject to scopes, permissions, and privacy requirements.
GroupsCollections of users used for administration and collaboration access.Identity directories, ServiceNow, WorkdayMartini can retrieve group membership and apply business rules before provisioning or reporting downstream access.
CollaborationsAccess relationships between users or groups and files or folders.ServiceNow, Workday, audit platformsMartini maps collaboration roles and targets, validates authorization context, and records changes for controlled synchronization.
EventsUser, content, and administrative activity used for incremental change detection.Data warehouses, audit platforms, Salesforce, ServiceNowScheduled workflows process paginated events, persist cursors, apply idempotency, and route relevant activity to target systems.

Authentication and security considerations

Authentication models

Box supports OAuth 2.0 for user-authorized applications, JWT-based server authentication for eligible enterprise applications, and client credentials for supported server-to-server configurations. Developer tokens are intended primarily for development and testing.

Application controls

  • Configure only the Box application scopes required by the integration.
  • Obtain enterprise administrator authorization where required.
  • Store access tokens, refresh tokens, private keys, and client credentials in Martini secrets or secure environment configuration.
  • Handle token expiration, revocation, renewal, and reauthorization explicitly.
  • Consider user permissions, folder collaborations, group membership, and enterprise privileges separately from application authorization.

Content protection

Do not log document contents, private keys, or access tokens. Apply least-privilege access and protect sensitive files and personal information throughout the workflow.

Operational considerations for Box integrations

Reliability and scale

  • Handle HTTP 429 responses with bounded exponential backoff and honor retry-related response headers where provided.
  • Process paginated list and event responses and persist Events API cursors after successful handling.
  • Use file IDs and version IDs for identity; paths and names alone are insufficient for synchronization.
  • Use idempotency keys to tolerate duplicate webhook delivery and workflow retries.
  • Use upload sessions for large files and manage part retries, session expiration, commit processing, and validation.

Change and failure management

Mappings should tolerate optional fields and metadata-template changes. Workflows should distinguish expired tokens, insufficient permissions, missing or moved resources, conflicting names, invalid upload sessions, rate limits, and temporary service errors. Test webhook coverage and replay behavior before relying on event-driven processing.

Why use Martini instead of scripts or point-to-point integrations?

Orchestrated integration logic

Martini provides a workflow layer for combining Box APIs, webhooks, Events API polling, file operations, and downstream systems without scattering logic across custom scripts or point-to-point links.

Reusable transformation and control

  • Map Box Files, Folders, Events, Collaborations, and metadata to canonical business models.
  • Centralize validation, routing, authorization rules, retries, idempotency, and cursor persistence.
  • Expose controlled APIs that hide Box credentials and implementation details from callers.
  • Use reusable integration assets and environment-specific secure configuration across deployments.

Operational maintainability

Workflows provide a consistent place to monitor processing, troubleshoot failures, support scheduled recovery, and evolve mappings as Box metadata and target-system requirements change.

Frequently asked questions

How can Box be integrated with enterprise systems?

Box can be integrated through its versioned REST API, file upload and download APIs, resumable upload sessions, selected webhooks, and the Events API. OAuth 2.0, JWT-based server authentication, and client credentials support different authorization models. Broader activity synchronization generally combines scheduled Events API polling with persisted cursors because webhooks cover selected resources and events.

Can Martini integrate with Box?

Yes. Martini can integrate with Box by consuming Box REST APIs, receiving selected Box webhook notifications, polling the Events API, coordinating file transfers, mapping content metadata, and exposing APIs that abstract Box operations. A native Martini Box connector is not documented in the supplied sources.

Do I need a connector to integrate Box with Martini?

No. A dedicated Box connector is not required. Martini can use Box’s confirmed native integration mechanisms, including REST APIs, webhooks, Events API polling, file upload and download APIs, upload sessions, and supported authentication methods.

Is there any extra Lonti cost to integrate Box with Martini?

Lonti does not charge an additional per-connector or per-vendor fee to integrate Box with Martini. The integration is subject to the provisioned capacity of the Martini environment. Separate costs may apply from Box, cloud infrastructure, or other third-party systems based on subscription, usage, and deployment model.

Which Box integration methods should an enterprise use?

Use the Box REST API as the primary interface for content, metadata, users, groups, collaborations, and administration. Use webhooks for selected file and folder notifications, the Events API for broader incremental activity, and upload sessions for large files. No generally available Box GraphQL or current SOAP API was confirmed.

Are Box events and webhooks available for synchronization?

Yes, but with different coverage. Box webhooks support selected events for configured files or folders, while the Events API supports user and enterprise activity with cursor-based processing. A Martini design should combine webhooks with scheduled Events API polling when broader or more resilient synchronization is required.

How does Martini handle Box mapping, errors, and duplicate events?

Martini workflows can map Box objects and metadata to canonical and target models, validate required values, apply business rules, and route failures. Integrations should use stable keys based on Box file or folder IDs, version IDs, and event information, with bounded retries for rate limits and temporary failures and durable cursor or processing state.

Can Martini expose an API façade for Box?

Yes. Martini can expose a REST API that accepts business-level requests, validates input, invokes Box APIs, applies transformations and authorization rules, and returns controlled responses without exposing Box credentials or implementation details to calling applications.