Workspaces

What is a Workspace?

A Workspace is an area that contains a set of Tinybird resources, including Data Sources, Pipes, Nodes, API Endpoints, and Tokens.

What should I use Workspaces for?

Workspaces allow you to separate different projects, use cases, and dev/staging/production environments for the things you work on in Tinybird.

You can choose exactly how you organize your Workspaces, but the two common ways are a Workspace per project, or per team.

Create a Workspace

Create a Workspace in the UI

In the top left corner of the Tinybird UI you'll see the region and name of your current Workspace.

To create a new Workspace, select the name of the existing Workspace (see Mark 1 below). In the dropdown menu, select the + icon (see Mark 2 below):

image

Complete the modal with the details of your new Workspace, and select "Create Workspace".

Create a Workspace in the CLI

To create a new Workspace from the CLI, you can use the following command:

tb workspace create

You can use this command interactively or by providing the required inputs with flags.

To use it interactively, just run the command without any flags (e.g. tb workspace create).

You will see several prompts that you need to complete.

First, you'll be asked to supply your user Token.

Paste the Token into the prompt.

In order to create a new workspace we need your user token. Copy it from https://app.tinybird.co/tokens and paste it here:

You can select whether you want to use a Starter Kit for your new Workspace. Using the blank option will give you an empty Workspace.

------------------------------------------------------------------------------------
| Idx | Id            | Description                                                |
------------------------------------------------------------------------------------
|   1 | blank         | Empty Workspace                                            |
|   2 | web-analytics | Starting Workspace ready to track visits and custom events |
------------------------------------------------------------------------------------

[0] to cancel

Use starter kit [1]: 1

Next, you'll be asked to supply a name for your Workspace.

Workspace name [new_workspace_9479]: internal_creating_new_workspaces_example

A successful creation will give you the following output:

** Workspace 'internal_creating_new_workspaces_example' has been created

If you are using the CLI in an automated system, you probably don't want to use the interactive command. You can instead provide these options as flags:

tb workspace create --user_token <your_token> --starter-kit 1 internal_creating_new_workspaces_example

Delete a Workspace

Deleting a Workspace deletes all resources within the Workspace, including Data Sources, any ingested data, Pipes and published APIs.

Deleted Workspaces cannot be recovered. Be careful with this operation.

Delete a Workspace in the UI

To delete a Workspace in the UI, select the Cog icon at top right of the UI. In the modal that appears, select the "Advanced Settings" tab and select "Delete Workspace". You will be required to type "delete workspace" to confirm.

Delete a Workspace in the CLI

To delete a Workspace in the CLI, you can use the following command:

tb workspace delete

You will need to provide the name of the Workspace and your user Token, for example:

tb workspace delete my_workspace --user_token <your user Token>

Manage Workspace members

Workspace users are referred to as "members". Their access to resources in Tinybird is managed at the Workspace level. You can invite as many members to a Workspace as you want, and a member can belong to multiple Workspaces.

Member capabilities are controlled with roles. A user's role can be changed at any time.

There are three roles in Tinybird:

Roles and capabilities

RoleManage resourcesManage usersAccess to billing information
AdminYesYesYes
GuestYesNoNo
ViewerNoNoNo

Manage Workspace members in the UI

In the top right corner of the Tinybird UI, select the Cog icon. In the modal, navigate to "Members" to review any members already part of your Workspace.

Add a new member by entering their email address and confirming their role from the dropdown options. You can invite multiple users at the same time by adding multiple email addresses separated by a comma.

The users you invite will get an email notifying them that they have been invited. If they don't already have a Tinybird account, they will be prompted to create one to accept your invite.

Invited users appear in the user management modal and by default have the Guest role. If the user loses their invite link, you can resend it here too, or copy the link to your clipboard. You can also remove members from here using the "..." menu and selecting "Remove".

Adding Workspace users in the CLI

To add new users, use the following command:

tb workspace members add

You will need to supply your your user Token with the --user_token flag.

Add the email address of the user you want to invite as the final argument to the command.

tb workspace members add --user_token <your Token> my_new_team_member@example.com

A successful invite returns the following output:

** User my_new_team_member@example.com added to workspace 'internal_getting_started_guide'

Share Data Sources between Workspaces

While it's useful to separate your work, sometimes you want to share resources between different teams or projects.

For example, you might have a Data Source of events data that multiple teams want to use to build features with. Rather than duplicating this data, you can share it between multiple Workspaces.

Let's say you have a Workspace called Ingest. In this Workspace, you have your events Data Source.

You have two teams and each team has their own Workspace to work in, named Team_A and Team_B. Both teams want access to the events Data Source.

From the Ingest Workspace you can share the events Data Source to both the Team_A and Team_B Workspaces, giving them access to the events data.

This means that while both teams can access the data, the Team_A and Team_B Workspaces have no other connection with the Ingest Workspace. Modifications of the Ingest Data Sources can not be made from the other Workspaces. If a member of the Team_A or Team_B Workspaces needs to manage the Ingest Data Sources, they can be added as a member of the Ingest Workspace.

You cannot share Data Sources to Workspaces in different regions.

Sharing Data Sources in the UI

This section describes sharing a Data Source between your Workspaces.

On the left side navigation, find the Data Source that you want to share. When you hover over the Data Source, you will see a 3-dot icon for the Data Source Actions menu, select the 3 dots (see Mark 1 below).

image

In the context menu that appears, select the Share action (see Mark 1 below).

image

This will open a dialog window. In the Search box, you can type the name of the Workspace that you want to share with (see Mark 1 below). As you type, the search box will suggest Workspaces that you are a member of.

You can only share Data Sources with Workspaces that you are a member of.

image

You can select from the suggestions, or type the name and press Enter. When you have selected the Workspace, you will see the Workspace in the Shared section (see Mark 1 below).

Select Done to close the dialog (see Mark 2 below).

image

Sharing Data Sources in the CLI

This section describes how to share Data Sources from one Workspace to another Workspace in the Tinybird CLI.

To share a Data Source, you can use the following command:

tb datasource share

You will need to supply your user Token with the --user_token flag.

You then need to supply the Data Source name and target Workspace name as the following arguments.

tb datasource share --user_token <your_token> shopping_data my_second_workspace

The Data Source that you want to share must exist in the Workspace that your Tinybird CLI is authenticated against. To check which Workspace your CLI is currently authenticated with, you can use:

tb auth info

In addition, you could also do tb push --user_token <your token> to push a Data Source with a SHARED_WITH parameter to share it with another Workspace.

Regions

A Workspace belongs to one region. Tinybird has three public regions: EU and US East in Google Cloud Platform and US East in AWS.

Additional regions for GCP, AWS and Azure are available for Enterprise customers.

The following table lists the available regions and their corresponding API base URLs:

Current Tinybird regions

RegionProviderProvider regionAPI base URL
EuropeGCPeurope-west3https://api.tinybird.co
US EastGCPus-east4https://api.us-east.tinybird.co
EuropeAWSeu-central-1https://api.eu-central-1.aws.tinybird.co
US EastAWSus-east-1https://api.us-east.aws.tinybird.co
US WestAWSus-west-2https://api.us-west-2.aws.tinybird.co

Tinybird documentation uses https://api.tinybird.co as the default example API base URL. If you are not using the Europe GCP region, you will need to replace this with the API base URL for your region.

If you would like to request a new region, you can do so inside the Tinybird UI from the region selector, or contact us in our Slack community.

Single Sign-On (SSO)

Out of the box, Tinybird has email & OAuth providers for logging in to the platform.

However, if you have a requirement to integrate Tinybird with your own SSO provider, such as Azure Entra ID (formerly Azure Active Directory or AD), this is available to Enterprise customers.

If you have a requirement for SSO integration, contact us in our Slack community or email us at support@tinybird.co.

Secure cloud connections

Tinybird supports TLS across all ingest connectors, providing encryption on the wire for incoming data.

However, if you have a requirement to connect to Tinybird via a secure cloud gateway, such as AWS PrivateLink or Google Private Service Connect, this is available to Enterprise customers.

If you have a requirement for secure cloud connections, contact us in our Slack community or email us at support@tinybird.co.