Skip to main content

Cube Software API Destination

Nexla's bi-directional connectors allow data to flow both to and from any location, making it simple to create a FlexFlow data flow that sends data to a Cube Software API location.
cube_api.png

Cube Software API

Create a Cube Software API Destination

  1. 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.

  2. 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.

  3. In Nexla, Cube Software API destinations can be created using pre-built endpoint templates, which expedite destination setup for common Cube Software API endpoints. Each template is designed specifically for the corresponding Cube Software API endpoint, making destination configuration easy and efficient.
    • To configure this destination using a template, follow the instructions in Configure Using a Template.

    Cube Software API destinations can also be configured manually, allowing you to send data to Cube Software API endpoints not included in the pre-built templates or apply further customizations to exactly suit your needs.
    • To configure this destination manually, follow the instructions in Configure Manually.

Configure Using a Template

Nexla provides pre-built templates that can be used to rapidly configure destinations to send data to common Cube Software API endpoints. Each template is designed specifically for the corresponding Cube Software API endpoint, making destination setup easy and efficient.

  • To configure this destination using a template, 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 specified in the Nexset payload. Use this endpoint to programmatically add action items—such as follow-up tasks, data review requests, or planning milestones—to your Cube Software organization.

    • No additional URL parameters are required. The action item details are sent as a JSON body in the POST request. Ensure the Nexset records are mapped to the fields expected by the Cube Software action items API (e.g., title, assignee, due date, status).

    For the complete list of required and optional fields for creating an action item, refer to the Cube Software Action Items API documentation.

    Update an action item

    This endpoint partially updates an existing action item in Cube Software by its unique ID using a PATCH request. Use this endpoint to update specific fields of an action item—such as its status, assignee, or due date—without replacing the entire record.

    • Enter the unique identifier of the action item to update in the Action Item ID field. This ID will be appended to the API URL path. Action item IDs can be retrieved using the "Retrieve an action item" source endpoint.
    • The fields to update are sent as a JSON body in the PATCH request. Only the fields included in the payload will be modified; all other fields will remain unchanged.

    Create Chat Message

    This endpoint creates a new chat message within an existing Cube Software agent chat session. Use this endpoint to programmatically send messages to Cube's AI agent—for example, to trigger automated queries, submit data summaries for analysis, or drive agent interactions from external systems.

    • No additional URL parameters are required. The message details (including the chat session ID and message content) are sent as a JSON body in the POST request. Ensure the Nexset payload includes the required session context expected by the Cube Software agent chat API.

    For more information about structuring agent chat messages, refer to the Cube Software Chat Messages API documentation.

    Create Chat Session

    This endpoint creates a new agent chat session in Cube Software. Use this endpoint to programmatically initiate a new conversation with Cube's AI agent—for example, as part of an automated workflow that submits planning data for AI-driven analysis.

    • No additional URL parameters are required. The session configuration details are sent as a JSON body in the POST request. The Nexset payload should include any session context required by the Cube Software agent chat sessions API.

    For more information about chat session creation and required fields, refer to the Cube Software Chat Sessions API documentation.

    Create a new canvas

    This endpoint creates a new canvas in Cube Software with the specified configuration and properties. Canvases are collaborative reporting and analysis workspaces within Cube. Use this endpoint to programmatically provision new canvases—for example, to automate the creation of standardized reporting templates across departments.

    • No additional URL parameters are required. The canvas configuration details are sent as a JSON body in the POST request. Ensure the Nexset payload includes the required canvas properties expected by the Cube Software API.

    Create a cube

    This endpoint creates a new cube (data matrix) in Cube Software with the specified matrix, message, metadata, and other properties. Use this endpoint to programmatically add new cubes to your Cube Software environment—for example, to automate the creation of new planning scenarios or data models.

    • No additional URL parameters are required. The cube definition details are sent as a JSON body in the POST request. The payload should include the cube matrix structure, associated dimensions, and any required metadata.

    Update a data table

    This endpoint updates an existing data table in Cube Software with new configuration, mappings, and settings, replacing the current table definition. Use this endpoint to synchronize data table configurations from an external source of truth into Cube Software.

    • Enter the unique identifier of the data table to update in the Data Table ID field. This ID will be appended to the API URL path.
    • The complete updated table configuration is sent as a JSON body in the POST request. Review the Cube Software data tables API documentation for the expected payload structure.

    Partially update a data table

    This endpoint performs a partial update on an existing data table configuration using a PATCH request. Use this endpoint when you need to modify only specific fields of a data table—such as its name, description, or column mappings—without affecting other existing settings.

    • Enter the unique identifier of the data table to update in the Data Table ID field. This ID will be appended to the API URL path.
    • Include only the fields to be updated in the JSON body. Fields not included in the payload will retain their current values.

    Create a dimension

    This endpoint creates a new dimension in Cube Software with the specified name, parent, and protection settings. Dimensions define the hierarchical data structures—such as departments, cost centers, or time periods—that organize planning data in Cube. Use this endpoint to automate dimension provisioning when onboarding new organizational entities.

    • No additional URL parameters are required. The dimension definition is sent as a JSON body in the POST request. The payload should include the dimension name, its parent dimension (if applicable), and any protection settings.

    Update Dimension

    This endpoint updates a dimension in Cube Software by its unique ID, replacing properties such as name, type, formula, and metadata. Use this endpoint to programmatically synchronize dimension configurations—for example, to reflect organizational restructuring or rename cost centers across your Cube environment.

    • Enter the unique identifier of the dimension to update in the Dimension ID field. This ID will be appended to the API URL path.
    • The updated dimension properties are sent as a JSON body in the POST request. Include all required fields as specified in the Cube Software dimensions API documentation.

    Create Planning Table

    This endpoint creates a new planning table in Cube Software with the specified schema and configuration. Planning tables are the primary data containers in Cube, holding the structured financial datasets—such as budgets, forecasts, and actuals—that support FP&A workflows. Use this endpoint to automate the provisioning of new planning tables for new projects, departments, or planning cycles.

    • No additional URL parameters are required. The planning table schema and configuration are sent as a JSON body in the POST request. The payload should include the table name, column definitions, and any required configuration settings.

    Upsert Planning Table Data

    This endpoint creates or replaces planning table data and configuration using a PUT request. Use this endpoint when you need to fully synchronize a planning table's data from an external system—for example, pushing actuals from an ERP system or budget data from a spreadsheet into a Cube Software planning table.

    • Enter the unique identifier of the planning table in the Table ID field. This ID will be appended to the API URL path.
    • The complete table data and configuration are sent as a JSON body in the PUT request. Note that a PUT request replaces the existing data entirely; use the "Update Planning Table" (PATCH) endpoint for partial updates.

    :::warning Important The Upsert (PUT) endpoint replaces all existing data in the target planning table. Ensure your Nexset payload contains the complete intended dataset before using this endpoint, as data not included in the payload will be removed. :::

    Update Planning Table

    This endpoint partially updates a planning table's properties and metadata using a PATCH request. Use this endpoint when you need to update specific metadata fields—such as the table's name, description, or settings—without replacing the underlying data.

    • Enter the unique identifier of the planning table in the Table ID field. This ID will be appended to the API URL path.
    • Include only the properties to be updated in the JSON body. Fields not included in the payload will retain their current values.

    Create or Update Table Dataset

    This endpoint creates or replaces dataset records for a specific planning table using a PUT request. Use this endpoint to load or refresh dataset data—such as a particular budget scenario or forecast version—within an existing Cube Software planning table.

    • Enter the unique identifier of the planning table in the Table ID field. This ID will be appended to the API URL path to target the correct table's datasets endpoint.
    • The dataset records to create or replace are sent as a JSON body in the PUT request. Include all required dataset fields as specified in the Cube Software planning tables API documentation.

    Create Task

    This endpoint creates a new workflow task in Cube Software with assignments, due dates, and metadata. Workflow tasks in Cube are used to manage the FP&A planning lifecycle—such as budget submission deadlines, review approvals, and variance analysis assignments. Use this endpoint to automate task creation as part of a planning cycle kickoff or process automation.

    • No additional URL parameters are required. The task details are sent as a JSON body in the POST request. The payload should include the task name, process ID, assignee ID, due date, and any other required metadata.

    Create a template

    This endpoint creates a new template in Cube Software with specified properties including content, styles, and sharing options. Templates in Cube can be used to standardize the structure and formatting of canvases and reports. Use this endpoint to programmatically provision templates—for example, to roll out standardized reporting templates across departments.

    • No additional URL parameters are required. The template definition—including content, style settings, and sharing configuration—is sent as a JSON body in the POST request.

Configure Manually

Cube Software API destinations can 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.

API Method

  1. To manually configure this destination, select the Advanced tab at the top of the configuration screen.

  2. Select the API method that will be used for calls to the Cube Software API from the Method pulldown menu. Common methods used by Cube Software destination endpoints include:

    • POST: For creating new records (action items, tasks, canvases, cubes, chat sessions, dimensions, planning tables, templates)
    • PUT: For creating or fully replacing records (upsert operations on planning tables and datasets)
    • PATCH: For partial updates to existing records (action items, data tables, planning table properties)

Data Format

  1. Select the format in which the Nexset data will be sent to the Cube Software API from the Content Format pulldown menu. All Cube Software API endpoints accept JSON format. Nexla will automatically convert the data to the selected format for each API call.

API Endpoint URL

  1. Enter the URL of the Cube Software API endpoint to which you want to send the Nexset data in the URL field. The base URL for the Cube Software API is https://api.cubesoftware.com. Append the appropriate path for the resource you want to write—for example, https://api.cubesoftware.com/tasks to create a new task, or https://api.cubesoftware.com/tables/ followed by the table ID for table-level operations.

For update and upsert operations, include the ID of the target object at the end of the URL path. For example, to update a dimension, the URL would be https://api.cubesoftware.com/dimensions/ followed by the dimension ID.

Request Headers

Optional
  • If Nexla should include any additional request headers in API calls to this destination, enter the headers & corresponding values as comma-separated pairs in the Request Headers field (e.g., header1:value1,header2:value2).

    You do not need to include the Authorization header, as it is handled automatically by your Nexla credential. The Cube Software API does not require additional content-type headers for JSON payloads as these are configured automatically.

Exclude Attributes from the Call

Optional
  • If any record attributes in the Nexset should be omitted when sending data to this Cube Software API destination, select the attributes from the Exclude Attributes pulldown menu.

  • Any number of attributes can be selected for exclusion, and all excluded attributes will be shown in the field. To remove an attribute from the list, click the X icon next to the attribute name.

Record Batching

Optional
  1. If records should be sent to this destination in batched API calls, check the box next to Would you like to batch your records together? to enable record batching.

  2. Enter the maximum number of records that should be batched together in a single API call in the Batch Size field. By default, this value is set to 100.

  3. Select the algorithm that will be used to group records into batches from the Grouping Algorithm pulldown menu. The sample request shown in the panel on the right will be updated to reflect the current batching settings.

Most Cube Software API destination endpoints (such as creating action items or tasks) are designed for single-record POST requests. Batching is most applicable for planning table dataset upsert operations, where you may want to submit multiple records in a single API call.

Response Webhook

Optional

Nexla can automatically send the response received from the Cube Software API after each call to a new Nexla webhook data source. This option allows you to keep track of the status of each API call and any additional information returned after each call—such as the ID of a newly created task or action item.

  • To enable this option, check the box next to Would you like to process the API response as a Nexla Webhook source?.

Sample Request Payload

Sample request payloads containing a portion of the Nexset data that will be sent to the Cube Software API endpoint based on the current settings are shown in the Sample Payload panel on the right. These samples can be referenced to ensure that the destination and request settings are correctly configured.

  • Click on a sample request payload to expand it and view the complete payload content.

  • Sample payloads are automatically updated with each setting change, making it easy to verify that changes achieve the desired effect.

Endpoint Testing (Manual Configuration)

After all endpoint settings have been configured, Nexla can send a test payload to the Cube Software API to ensure that the destination is configured correctly.

  1. To send a test payload, select the Test button at the top of the Sample Payload panel, and click on a listed sample payload to expand it.

  2. If any modifications to the sample payload are needed, make the necessary changes directly within the sample window.

  3. Click the Send Test Data button at the top of a sample payload to send the test payload to the Cube Software API using the current settings.

Save & Activate the Destination

  • 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 begin sending 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 until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.