Create Workspace

In GoodData, every project needs at least one workspace. A workspace is an environment where you create and store all of your analytics.

You can use features like workspace hierarchies and data filters for larger projects that need multiple workspaces. To start, check out Set Up Multiple Tenants.

  1. On the home page, switch to Workspaces.
The left sidebar with the Workspaces tab selected.
  1. Click the Create workspace button
The Create Workspace button, which can be found in the top right corner of the Workspaces tab.
  1. Name your workspace and click Create.
The Create Workspace dialog with the Name field to name a new workspace and the Create and Cancel buttons.
  1. Your workspace will now appear on the Workspaces page. Open it to connect to your data source, create a logical data model, and build analytics.
The list of workspaces displaying the newly created workspace. The Connect Data button is visible next to the workspace's name.

To create a workspace using Python, use this code:

from gooddata_sdk import GoodDataSdk, CatalogWorkspace

host = "<GOODDATA_URI>"
token = "<API_TOKEN>"
sdk = GoodDataSdk.create(host, token)

# Create a new workspace entity locally
my_workspace_object = CatalogWorkspace("some_workspace_id", name="Workspace Name")

# Create a workspace
sdk.catalog_workspace.create_or_update(my_workspace_object)

To confirm the workspace was created, list all workspaces:

from gooddata_sdk import GoodDataSdk, CatalogWorkspace

host = "<GOODDATA_URI>"
token = "<API_TOKEN>"
sdk = GoodDataSdk.create(host, token)

# List workspaces
workspaces = sdk.catalog_workspace.list_workspaces()

print(workspaces)

# [
#   CatalogWorkspace(id=some_workspace_id, name='Workspace Name'),
# ]

To create a workspace named Workspace Name with the ID some_workspace_id, send a POST request to /api/v1/entities/workspaces:

curl $HOST_URL/api/v1/entities/workspaces \
  -H "Content-Type: application/vnd.gooddata.api+json" \
  -H "Accept: application/vnd.gooddata.api+json" \
  -H "Authorization: Bearer <API_TOKEN>" \
  -X POST \
  -d '{
      "data": {
          "attributes": {
              "description": "My first workspace created using the API.",
              "name": "Workspace Name"
          },
          "id": "some_workspace_id",
          "type": "workspace"
      }
  }' | jq .

After the workspace is created, the server will return this response:

{
  "data": {
    "id": "some_workspace_id",
    "type": "workspace",
    "attributes": {
      "description": "My first workspace created using the API.",
      "name": "Workspace Name"
    }
  },
  "links": {
    "self": "$HOST_URL/api/v1/entities/workspaces/some_workspace_id"
  }
}

Workspace Settings

You can use the web interface to set up your workspaces. Go to the Workspaces tab and open the workspace you want to edit. From there, you can:

  • Create Child Workspaces

    A workspace with the Child Workspaces tab selected. There, the Create Child Workspace button is visible next to the Search field.
  • Change the Settings of the current workspace

    A workspace with the Settings tab selected. There, sections for data separation, appearance, and localization are visible.

The web interface lets you do basic tasks, but for advanced actions like cloning, creating backups, or managing content, you’ll need to use the Workspace API or Python SDK.

Data Separation

In this section, you can set up Workspace Data Filters (WDF). WDFs allow you to control what data child workspaces can access.

Dialog to create workspace data filters by specifying a column name, name, and ID.

See the Set Up Data Filters in Workspaces section for more details.

Appearance

In this section, you can:

  • Choose an existing color theme and apply it to the current workspace. Learn more in the Create Custom Themes section.
  • Apply an existing color palette to all visualizations in the current workspace. Check the Create Custom Color Palettes section for details.

Localization

In this section, you can:

  • Change the workspace display language in the Display Language dialog.
  • The default date format is en-US, but you can change it for the current workspace in the Date Format dialog.
  • Select the Number separators that are most suitable for your region.
  • By default, the first day of the week is set to Sunday in all date pickers. You can change this to Monday using the First Day of the Week dialog.
  • The data is shown based on the server’s time zone by default, but you can adjust this for the current workspace using the Time Zone dialog.

Workspace API

For advanced actions like cloning, creating backups, or managing content, use the API or Python SDK.

There are two main interfaces for managing workspaces: