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.
Tinybird represents Workspaces using the icon.
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):
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
Role | Manage resources | Manage users | Access to billing information | Create a branch |
---|---|---|---|---|
Admin | Yes | Yes | Yes | Yes |
Guest | Yes | No | No | Yes |
Viewer | No | No | No | Yes |
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).
In the context menu that appears, select the Share action (see Mark 1 below).
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.
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).
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
Region | Provider | Provider region | API base URL |
---|---|---|---|
Europe | GCP | europe-west3 | https://api.tinybird.co |
US East | GCP | us-east4 | https://api.us-east.tinybird.co |
Europe | AWS | eu-central-1 | https://api.eu-central-1.aws.tinybird.co |
US East | AWS | us-east-1 | https://api.us-east.aws.tinybird.co |
US West | AWS | us-west-2 | https://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 Tinybird at support@tinybird.co or in the Community Slack.
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 Tinybird at support@tinybird.co or in the Community Slack.
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 Tinybird at support@tinybird.co or in the Community Slack.