Cube is a spreadsheet-native FP&A (financial planning and analysis) platform that helps strategic finance teams build multi-scenario plans, track performance, and drive business decisions. Built on AWS and SOC 2 Type II certified, Cube unifies financial data, automates planning and reporting, and delivers AI-powered intelligence — all while supporting the Excel and Google Sheets workflows your team already uses. With Nexla's Cube Software API connector, you can integrate Cube's planning data — including canvases, cubes, dimensions, planning tables, action items, and workflow tasks — into your broader data pipelines for reporting, analytics, and cross-system automation.
Power end-to-end data operations for your Cube Software API with Nexla. Our bi-directional Cube Software connector is purpose-built for Cube Software, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Cube Software or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Cube Software workflows fast, secure, and fully governed.
Features
Type: API
SourceDestination
Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
Request optimization with intelligent batching, retry, and caching to minimize API calls and costs
The Cube Software API uses OAuth 2.0 with PKCE (Proof Key for Code Exchange) for authentication. To connect Nexla to your Cube Software account, you will need an OAuth 2.0 Client ID and Client Secret issued by Cube Software.
Cube Software manages OAuth application registration on behalf of customers. To get your Client ID and Client Secret, contact the Cube Support team directly:
Request API access and ask Cube Support to provision an OAuth 2.0 application for your organization. In your request, specify that you need a Client ID and Client Secret for a third-party integration.
Once provisioned, Cube Support will provide your Client ID and Client Secret. Store these credentials securely — the Client Secret should be treated like a password and not shared or exposed in client-side code.
For additional information about the Cube Software API authentication flows, refer to the Cube API Authentication Flows article in the Cube Help Center. Developer resources and API documentation are available at the Cube Developer Center.
After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.
Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.
The Cube Software API connector uses a three-legged OAuth 2.0 flow with PKCE, which provides delegated user access to Cube Software API resources on behalf of an authenticated user. During this process, Nexla will redirect you to the Cube Software authorization page to sign in and grant access.
Enter your OAuth 2.0 Client ID in the Client ID field. This is the unique public identifier assigned to your registered Cube Software OAuth application. Your Client ID was provided when you registered for API access through Cube Support.
Enter your OAuth 2.0 Client Secret in the Client Secret field. This private key authenticates your application when requesting tokens from the Cube Software API. Keep this value confidential.
The Client ID and Client Secret fields are the only credentials you need to enter manually. All other OAuth 2.0 parameters — including the Authorization URL (https://portal.cubesoftware.com/o/authorize/), Token URL, and Access Scope (read write) — are pre-configured and handled automatically by Nexla.
After entering your Client ID and Client Secret, Nexla will initiate the OAuth 2.0 PKCE authorization flow. You will be redirected to the Cube Software login page at https://portal.cubesoftware.com to sign in and authorize Nexla's access to your Cube Software account.
Sign in with your Cube Software credentials and click Authorize (or equivalent) to grant Nexla access. Upon successful authorization, you will be redirected back to Nexla and the credential setup will be completed automatically.
Important
OAuth 2.0 access tokens issued by Cube Software expire after 10 hours (36,000 seconds). Nexla will automatically refresh the token using the provided credentials so that your data flows remain uninterrupted.
Click the Save button at the bottom of the overlay. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.
To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Cube Software API connector tile from the list of available connectors, then select the credential that will be used to connect to the Cube Software API instance, and click Next; or, create a new Cube Software API credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Cube Software API endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.
Retrieve an action item
This endpoint fetches a specific action item from Cube Software by its unique ID. Use this endpoint when you need to retrieve the details of a single action item — such as its status, assignee, due date, or associated metadata — for reporting or integration purposes.
Enter the unique identifier of the action item you want to retrieve in the Action Item ID field. Action item IDs can be found within the Cube Software interface or via a prior API response.
Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization within the Cube Software platform.
This endpoint fetches a specific chat message from a Cube Software agent chat session by its unique ID. Use this endpoint when you need to retrieve the content and metadata of an individual AI agent chat message for auditing, analysis, or downstream processing.
Enter the unique identifier of the chat message you want to retrieve in the Chat Message ID field. Message IDs can be found in prior API responses or within the Cube Software agent session logs.
This endpoint retrieves a list of all canvases in your Cube Software workspace, with optional filtering by source and widget type. Canvases in Cube Software are flexible workspaces for building financial reports, dashboards, and planning views. Use this endpoint when you need a comprehensive inventory of your organization's canvases for reporting or data integration.
This endpoint retrieves all canvases accessible to your account. No additional required parameters need to be configured beyond selecting this endpoint template. The response data path is set to $.canvases[*], so each canvas in the response will be treated as an individual record in Nexla.
This endpoint fetches a specific canvas by its unique ID. Use this endpoint when you need detailed information about a particular canvas — such as its configuration, widgets, or associated metadata — for reporting or downstream data processing.
Enter the unique identifier of the canvas you want to retrieve in the Canvas ID field. Canvas IDs can be obtained from the "List all canvases" endpoint or from the Cube Software interface.
This endpoint retrieves a list of all available widgets in the Cube Software canvas system. Widgets are the building blocks of canvases — they represent individual data visualizations, tables, charts, or other display components. Use this endpoint to enumerate available widget types or catalog widget usage across your canvases.
This endpoint retrieves all widgets accessible to your account. No additional required parameters need to be configured beyond selecting this endpoint template.
Retrieve widget details
This endpoint fetches detailed information about a specific widget by its unique ID. Use this endpoint when you need the full configuration and metadata of a particular canvas widget for auditing, analysis, or integration.
Enter the unique identifier of the widget you want to retrieve in the Widget ID field. Widget IDs can be obtained from the "List all widgets" endpoint response.
List all connections
This endpoint retrieves all data connections associated with a company in Cube Software. Connections represent the data sources (such as spreadsheets, databases, or other integrations) that feed data into Cube's planning models. Use this endpoint to audit or catalog the connections configured in your Cube Software environment.
Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.
List all cubes
This endpoint retrieves a list of all cubes in your Cube Software system. In Cube Software, a "cube" is a structured data model that organizes financial and operational data for planning and analysis. Use this endpoint to enumerate available cubes for reporting, auditing, or integration with other systems.
This endpoint retrieves all cubes accessible to your account. No additional required parameters need to be configured beyond selecting this endpoint template.
Retrieve a data table
This endpoint fetches detailed information about a specific data table in Cube Software. Data tables store structured datasets that can be referenced in planning models and cubes. Use this endpoint when you need to retrieve the schema, configuration, and data of a particular data table.
Enter the unique identifier of the data table you want to retrieve in the Data Table ID field. Data table IDs can be found within the Cube Software interface or from prior API responses.
Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.
List all dimensions
This endpoint retrieves all dimensions in your Cube Software environment, with optional filtering and tag inclusion. Dimensions in Cube Software represent the hierarchical classification structures — such as departments, cost centers, or product categories — that organize planning data. Use this endpoint to enumerate and audit your organization's dimension structure.
Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.
List Planning Tables
This endpoint retrieves all planning tables in your Cube Software workspace. Planning tables are structured grids used to enter, store, and analyze financial and operational planning data. Use this endpoint to enumerate your organization's planning tables for reporting, data extraction, or integration.
Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.
For more information about Cube Software planning tables, refer to the Cube API documentation.
Retrieve Planning Table
This endpoint fetches a specific planning table by its unique ID. Use this endpoint when you need detailed information about a particular planning table — such as its schema, configuration, or associated datasets.
Enter the unique identifier of the planning table you want to retrieve in the Table ID field. Planning table IDs can be obtained from the "List Planning Tables" endpoint.
Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.
List Table Datasets
This endpoint retrieves all datasets associated with a specific planning table. Datasets represent the actual data rows stored within a planning table. Use this endpoint when you need to extract the underlying data from a planning table for analysis, reporting, or integration with other systems.
Enter the unique identifier of the planning table whose datasets you want to retrieve in the Table ID field. Planning table IDs can be obtained from the "List Planning Tables" endpoint.
Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.
List Workflow Tasks
This endpoint retrieves workflow tasks in Cube Software, with optional filtering by assignee, status, or process. Workflow tasks represent items in Cube's structured planning workflows — such as budget submission tasks, review tasks, or approval tasks. Use this endpoint to monitor task status, build reporting dashboards, or sync task data with external project management tools.
Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.
For more information about Cube Software workflow tasks, refer to the Cube API documentation.
Update a task
This endpoint partially updates a workflow task by its ID with new values for task properties such as status, assignee, due date, and description. Although implemented as a PATCH/source operation, this endpoint is useful when you need to read back the updated task state as part of a data flow — for example, to confirm a task update or to feed updated task data downstream.
Enter the unique identifier of the task to update in the Task ID field.
Enter your Cube Software company identifier in the X-Company-ID field. This header is required to scope the request to your organization.
The following task fields can be included in the update request body:
Process ID: The identifier of the workflow process this task belongs to.
Name: The task name or title.
Description: A description of the task.
Status: The current task status (e.g., pending, in progress, completed).
Assignee ID: The identifier of the user assigned to this task.
Due Date: The task due date in the format yyyy-MM-dd.
Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.
Cube Software API data sources can also be manually configured to ingest data from any valid Cube Software API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or custom request parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.
The Cube Software API base URL is https://api.cubesoftware.com — for example, https://api.cubesoftware.com/tables to list all planning tables. Most list endpoints return records nested in a top-level array (path to data $.data[*] for endpoints such as planning tables, or $.canvases[*] for the canvases list); single-object endpoints typically use $.
Several endpoints — including action items, connections, data tables, dimensions, planning tables, and workflow tasks — require a X-Company-ID header to scope the request to your organization (for example, X-Company-ID:your_company_id). You do not need to add the OAuth 2.0 Authorization header; Nexla adds that automatically based on your credential.
Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Cube Software API data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.
Click the + icon on the Nexset that will be sent to the Cube Software API destination, and select the Send to Destination option from the menu. Select the Cube Software API connector from the list of available destination connectors, then select the credential that will be used to connect to the Cube Software API organization, and click Next; or, create a new Cube Software API credential for use in this flow.
Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Cube Software API endpoints. Select the endpoint to which data will be sent from the Endpoint pulldown menu. Then, click on the template in the list below to expand it, and follow the instructions to configure additional endpoint settings.
Create an action item
This endpoint creates a new action item in Cube Software with the details provided in the Nexset data. Action items in Cube Software are trackable tasks or follow-up items tied to planning workflows. Use this endpoint to programmatically create action items from external data sources — for example, to import tasks from a project management tool into Cube Software.
Map your Nexset fields to the action item fields required by Cube Software. The request body is sent as a JSON payload ({message.json}), so ensure your Nexset schema includes the fields expected by the Cube Software action items API.
This endpoint sends a POST request to https://api.cubesoftware.com/action-items. Each record in your Nexset will result in one API call to create one action item.
This endpoint partially updates an existing action item in Cube Software by its unique ID. Use this endpoint to update the status, assignee, due date, or other properties of an action item from an external system or data flow.
Enter the unique identifier of the action item to update in the Action Item ID field. This value is appended to the API endpoint URL and identifies which action item will be modified.
Map your Nexset fields to the action item fields you want to update. Only the fields included in the payload will be modified; other fields will remain unchanged (PATCH semantics).
This endpoint creates a new chat message within a Cube Software agent chat session. Use this endpoint to programmatically send messages to a Cube AI agent session — for example, to trigger automated queries or deliver structured data as part of an agent interaction workflow.
Map your Nexset fields to the chat message fields required by Cube Software. The request body is sent as a JSON payload. Ensure your Nexset includes the fields expected by the Cube Software agent chat messages API, such as the session ID and message content.
This endpoint sends a POST request to https://api.cubesoftware.com/agents/chat/messages.
This endpoint creates a new chat session for a Cube Software agent interaction. Use this endpoint to programmatically initiate AI agent sessions — for example, to automate the creation of planning-related agent conversations as part of a data pipeline.
Map your Nexset fields to the chat session fields required by Cube Software. The request body is sent as a JSON payload. Ensure your Nexset includes the fields expected by the Cube Software agent chat sessions API.
This endpoint sends a POST request to https://api.cubesoftware.com/agents/chat/sessions.
This endpoint creates a new canvas in Cube Software with the specified configuration and properties. Canvases are flexible workspaces for financial reporting and planning dashboards. Use this endpoint to programmatically provision canvases — for example, to create standardized reporting views for multiple business units from a template.
Map your Nexset fields to the canvas fields required by Cube Software. The request body is sent as a JSON payload. Ensure your Nexset includes the canvas name, configuration, and any other required properties as defined in the Cube Software API.
This endpoint sends a POST request to https://api.cubesoftware.com/canvases.
This endpoint creates a new cube in Cube Software with the specified matrix, message, metadata, and other properties. A cube is a structured data model that organizes financial and operational data for planning and analysis. Use this endpoint to programmatically create cubes as part of an automated data pipeline.
Map your Nexset fields to the cube fields required by Cube Software. The request body is sent as a JSON payload. Ensure your Nexset includes the matrix configuration, metadata, and any other required properties as defined in the Cube Software API.
This endpoint sends a POST request to https://api.cubesoftware.com/cube.
Update a data table
This endpoint updates an existing Cube Software data table with new configuration, mappings, and settings. Use this endpoint to refresh or reconfigure a data table's structure as part of an automated pipeline — for example, to update table schemas when source data structures change.
Enter the unique identifier of the data table to update in the Data Table ID field. This value is appended to the API endpoint URL and identifies which data table will be modified.
Map your Nexset fields to the data table fields required by Cube Software. The request body is sent as a JSON payload.
Partially update a data table
This endpoint performs a partial update on an existing Cube Software data table configuration using PATCH semantics. Only the fields included in the payload will be modified; all other fields will remain unchanged. Use this endpoint when you need to update specific data table properties without replacing the entire configuration.
Enter the unique identifier of the data table to partially update in the Data Table ID field. This value is appended to the API endpoint URL.
Map the specific Nexset fields you want to update to the corresponding data table fields in Cube Software.
Create a dimension
This endpoint creates a new dimension in Cube Software with the specified name, parent, and protection settings. Dimensions are hierarchical classification structures — such as departments, cost centers, or product lines — that organize planning data. Use this endpoint to programmatically provision dimension structures as part of a data integration pipeline.
Map your Nexset fields to the dimension fields required by Cube Software. The request body is sent as a JSON payload. Ensure your Nexset includes the dimension name and any required hierarchy or protection settings.
This endpoint sends a POST request to https://api.cubesoftware.com/dimensions.
Update Dimension
This endpoint updates a dimension in Cube Software by its unique ID with properties such as name, type, formula, and metadata. Use this endpoint to modify dimension configurations as part of an automated data pipeline — for example, to synchronize dimension hierarchies with changes made in a master data management system.
Enter the unique identifier of the dimension to update in the Dimension ID field. This value is appended to the API endpoint URL.
Map your Nexset fields to the dimension properties you want to update, including name, type, formula, and metadata fields as required.
Create Planning Table
This endpoint creates a new planning table in Cube Software with the specified schema and configuration. Planning tables are structured grids used to enter, store, and analyze financial and operational planning data. Use this endpoint to programmatically provision planning tables — for example, to create standardized budget templates for multiple business units.
Map your Nexset fields to the planning table fields required by Cube Software. The request body is sent as a JSON payload. Ensure your Nexset includes the table schema, configuration, and any other required properties.
This endpoint sends a POST request to https://api.cubesoftware.com/tables.
Upsert Planning Table Data
This endpoint creates or replaces planning table data and configuration using PUT semantics. Use this endpoint to fully replace the contents and configuration of a planning table with new data — for example, to sync financial data from an external source into a Cube Software planning table on a scheduled basis.
Enter the unique identifier of the planning table in the Table ID field. This value is appended to the API endpoint URL.
Map your Nexset fields to the planning table fields required by Cube Software. The full dataset will replace the existing table contents.
:::warning Important
This endpoint uses PUT semantics, which replaces the entire planning table data. Ensure your Nexset contains the complete dataset you want to persist in the table before activating this destination.
:::
Update Planning Table
This endpoint partially updates planning table properties and metadata in Cube Software using PATCH semantics. Use this endpoint to update specific table properties — such as the table name, description, or metadata — without replacing the full table configuration.
Enter the unique identifier of the planning table to update in the Table ID field. This value is appended to the API endpoint URL.
Map the specific Nexset fields you want to update to the corresponding planning table properties in Cube Software.
Create or Update Table Dataset
This endpoint creates or replaces dataset records for a specific planning table using PUT semantics. Use this endpoint to load or refresh the actual data rows within a planning table — for example, to synchronize actuals or forecasts from a data warehouse into Cube Software on a regular schedule.
Enter the unique identifier of the planning table whose dataset you want to create or replace in the Table ID field. This value is appended to the API endpoint URL.
Map your Nexset fields to the dataset record fields required by Cube Software. The full dataset will be created or replaced in the specified planning table.
:::warning Important
This endpoint uses PUT semantics, which replaces the existing dataset records. Ensure your Nexset contains the complete dataset you want to load before activating this destination.
:::
Create Task
This endpoint creates a new workflow task in Cube Software with assignments, due dates, and metadata. Workflow tasks represent items in Cube's structured planning workflows. Use this endpoint to programmatically create tasks — for example, to import tasks from an external project management or ticketing system into Cube Software.
Map your Nexset fields to the task fields required by Cube Software. The request body is sent as a JSON payload. Ensure your Nexset includes the task name, assignee, due date, process ID, and any other required properties.
This endpoint sends a POST request to https://api.cubesoftware.com/tasks.
For the full list of fields accepted when creating a task, refer to the Cube API documentation.
Create a template
This endpoint creates a new template in Cube Software with the specified properties, including content, styles, and sharing options. Templates in Cube Software provide reusable layouts and configurations for planning views and reports. Use this endpoint to programmatically create or publish templates as part of a content management workflow.
Map your Nexset fields to the template fields required by Cube Software. The request body is sent as a JSON payload. Ensure your Nexset includes the template name, content, styles, and any sharing configuration.
This endpoint sends a POST request to https://api.cubesoftware.com/templates.
Once the selected endpoint template has been configured, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it and send a test payload to the Cube Software API to verify that the destination is configured correctly before saving.
Cube Software API destinations can also be manually configured to send data to any valid Cube Software API endpoint. Using manual configuration, you can also configure Nexla to automatically send the response received from the Cube Software API after each call to a new Nexla webhook data source. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.
The Cube Software API base URL is https://api.cubesoftware.com, followed by the resource path, and accepts data in JSON format. For update or upsert operations, append the ID of the object to be modified at the end of the URL — for example, https://api.cubesoftware.com/tables/your_table_id.
Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To send the data to the configured Cube Software API endpoint, open the destination resource menu, and select Activate.
The Nexset data will not be sent to the Cube Software API endpoint until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.