# Workspaces

## Overview

A Workspace in Condense is a dedicated, isolated space where you build and operate your real-time streaming solutions. \
It is the functional boundary where teams can design pipelines, configure connectors, develop and deploy applications or transforms, and manage access for team members.&#x20;

Workspaces help:&#x20;

* Keep development process organized (e.g., development, staging, production)&#x20;
* Separate resources for different business units, customers, or use cases&#x20;
* Control access with fine-grained, workspace-specific roles&#x20;
* Monitor, audit, and manage all resources within a contained scope&#x20;

## What you can do in a Workspace

A workspace is more than just a container for resources, it is the active space where all real-time streaming components come together. In this section, you will find how a workspace brings together pipelines, connectors, applications, and transforms into a cohesive workflow. You’ll also see how members collaborate within this space, manage configurations, and monitor performance, all without leaving the workspace boundary.

To understand this better, let’s look at the key components that make up a workspace and how each one contributes to building and operating real-time streaming solutions.

### Pipelines

Design complete, event-driven workflows by linking sources, processing logic, and destinations. \
Within a pipeline, you can:&#x20;

* Ingest data through connectors&#x20;
* Process and enrich streams with transforms or utilities&#x20;
* Deliver results to output systems&#x20;

### Connectors

Integrate your workspace with external systems.&#x20;

* Source connectors bring data into the workspace&#x20;
* Sink connectors send processed data to other systems&#x20;
* Configuration includes workspace parameters, authentication, and topic/data mapping&#x20;

### Applications&#x20;

Custom-built solutions created in Condense in-built IDE, connected to a Git repository for version control.&#x20;

Applications:&#x20;

* contain custom logic written in supported programming languages&#x20;
* are tested and refined in the workspace IDE&#x20;
* can be published as Custom Transforms or a Custom connector for deployment in pipelines&#x20;

### Transforms&#x20;

Processing components are added directly into pipelines.&#x20;

Types:&#x20;

* pre-built Transforms: Ready-to-use, provided by Condense (e.g., Geofence, Alerts, Split, Logger)&#x20;
* custom Transforms: Derived from your published applications&#x20;
* utilities: NCLC tools for common processing needs (e.g., conditional splits, alert triggers).&#x20;

### Workspace Members&#x20;

Manage which existing organization members can access the workspace and what they can do.&#x20;

* Assign workspace-specific role bindings: **Admin, Maintainer, Developer, Viewer**&#x20;
* Adjust or revoke access instantly from Workspace Settings&#x20;

### Monitoring & Audit&#x20;

* Monitor pipeline, connector, and transform health&#x20;
* Review activity logs for changes and actions&#x20;
* View dashboards for throughput, latency, and error tracking&#x20;

Now that we’ve explored the key components and capabilities within a workspace, the next step is understanding its lifecycle from creation and configuration to updates and eventual deletion.

## Workspace Lifecycle

Every workspace follows a clear lifecycle, from creation to configuration, ongoing updates, and eventual deletion. This section explains who can create, edit, or delete a workspace, the steps involved in each stage, and the rules that apply. You’ll also find naming guidelines, role considerations, and important safeguards to prevent accidental loss of resources.

### Creating a Workspace

{% hint style="info" %}
**Who can create:** Only Organization Admins&#x20;
{% endhint %}

**Steps to create the workspace:**&#x20;

* Upon successful login and selecting the organization, you will be redirected to the workspace catalogue.
* Click Create Workspace&#x20;
* Enter a unique name and optional description/tags&#x20;
* Click Create

**Naming Rules**&#x20;

* Allowed: Letters, numbers, hyphens (-), underscores (\_)&#x20;
* Length: 3–63 characters&#x20;
* Unique within the organization

#### Step 1: Create a Workspace

<figure><img src="https://1775139360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvbacpakLuL4x2VBp2174%2Fuploads%2FXmr1iSvLnowZAcjqgP3c%2Fimage.png?alt=media&#x26;token=c9b81cb2-781e-43ed-9557-249ea18c078b" alt=""><figcaption></figcaption></figure>

#### Step 2: Configuration of Workspace

<figure><img src="https://1775139360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvbacpakLuL4x2VBp2174%2Fuploads%2F6zSaIWVpICiOcXZLbr8c%2Fimage.png?alt=media&#x26;token=87676fd1-4a98-4fc7-a6ab-e8878685cbf6" alt=""><figcaption></figcaption></figure>

A new workspace created will be added to the catalogue of Workspaces

<figure><img src="https://1775139360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvbacpakLuL4x2VBp2174%2Fuploads%2F2ho5qZxOcmA9Se533sCp%2Fimage.png?alt=media&#x26;token=d0db2b52-a06d-4b85-85b9-4cd2bb855815" alt=""><figcaption></figcaption></figure>

### **Editing a Workspace**&#x20;

Who can edit: Workspace Admins and Organization Admins&#x20;

* Editable: Name, description, tags&#x20;
* Non-editable: Workspace ID, creation date&#x20;

Changes apply immediately&#x20;

**Steps to edit the workspace:**&#x20;

#### **Step 1:** Go to Settings and click on the workspace

<figure><img src="https://1775139360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvbacpakLuL4x2VBp2174%2Fuploads%2FlxISaM39ApBywm382D8K%2Fimage.png?alt=media&#x26;token=74356964-bffa-4966-bdab-78e4155996b8" alt=""><figcaption></figcaption></figure>

#### **Step 2:** Select the workspace and in the action section, click on the edit icon. A dedicated workspace settings page will open where you can edit the name and about the workspace.

<figure><img src="https://1775139360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvbacpakLuL4x2VBp2174%2Fuploads%2F9o2Yvmsf1Vpf2QTtlOUs%2Fimage.png?alt=media&#x26;token=8072729b-7fc5-4463-ad89-796b6311b743" alt=""><figcaption></figcaption></figure>

### Deleting a Workspace&#x20;

{% hint style="info" %}
Who can delete: Workspace Admins and Organization Admins&#x20;
{% endhint %}

{% hint style="danger" %} <mark style="color:red;">**Warning**</mark>

* Deletion is permanent. There is no backup, export, or recovery feature&#x20;
* All pipelines, connectors, transforms, and applications in the workspace are removed permanently
* Confirm with your team before proceeding
  {% endhint %}

**Steps to delete the workspace:**&#x20;

#### **Step 1:** Go to settings and click on the delete icon of the action section against the workspace name which needs to be deleted

<figure><img src="https://1775139360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvbacpakLuL4x2VBp2174%2Fuploads%2FBaBVPVxBZoxAkDNEudZl%2Fimage.png?alt=media&#x26;token=f61379a2-8696-4e9f-8cda-ea8600bd4a94" alt=""><figcaption></figcaption></figure>

#### **Step 2:**  Confirm the delete operation by typing the workspace name. If the entered workspace name matches, then deletion will be executed, and it will be removed from the catalogue of workspaces.

<figure><img src="https://1775139360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvbacpakLuL4x2VBp2174%2Fuploads%2FYVGCpUtIw5uUWNZzxOHj%2Fimage.png?alt=media&#x26;token=1182e3e4-c515-422a-b616-2c0c63797cf6" alt=""><figcaption></figcaption></figure>

## Workspace Roles and Permissions

Role bindings are assigned per workspace, so a user can have different permissions in different workspaces.

{% hint style="info" %}
Only existing organization members can be added to a workspace.
{% endhint %}

<table data-header-hidden data-full-width="false"><thead><tr><th align="center">Operation </th><th align="center">Admin</th><th align="center">Maintainer</th><th align="center">Developer</th><th align="center">Viewer</th></tr></thead><tbody><tr><td align="center"><strong>Operation</strong></td><td align="center"><strong>Admin</strong></td><td align="center"><strong>Maintainer</strong></td><td align="center"><strong>Developer</strong></td><td align="center"><strong>Viewer</strong></td></tr><tr><td align="center">Manage workspace members </td><td align="center">✅ </td><td align="center">✅ </td><td align="center">❌ </td><td align="center">❌ </td></tr><tr><td align="center">Create/edit/delete pipelines </td><td align="center">✅ </td><td align="center">✅ </td><td align="center">❌ </td><td align="center">❌ </td></tr><tr><td align="center"><p>Deploy pre-</p><p>built connectors </p></td><td align="center">✅ </td><td align="center">✅ </td><td align="center">❌ </td><td align="center">❌ </td></tr><tr><td align="center">Deploy custom connectors </td><td align="center">✅ </td><td align="center">✅ </td><td align="center">❌ </td><td align="center">❌ </td></tr><tr><td align="center">Deploy utilities </td><td align="center">✅ </td><td align="center">✅ </td><td align="center">❌ </td><td align="center">❌ </td></tr><tr><td align="center">Create/edit/delete applications </td><td align="center">✅ </td><td align="center">✅ </td><td align="center">✅ </td><td align="center">❌ </td></tr><tr><td align="center">View pipelines/connectors </td><td align="center">✅ </td><td align="center">✅ </td><td align="center">✅ </td><td align="center">✅ </td></tr><tr><td align="center">View connector logs/configs </td><td align="center">✅ </td><td align="center">✅ </td><td align="center">✅ </td><td align="center">✅ </td></tr><tr><td align="center">Access KSQL (if enabled) </td><td align="center">✅ </td><td align="center">✅ </td><td align="center">✅ </td><td align="center">❌ </td></tr><tr><td align="center">Configure deployed connectors </td><td align="center">✅ </td><td align="center">✅ </td><td align="center">❌ </td><td align="center">❌ </td></tr><tr><td align="center">Delete deployed connectors </td><td align="center">✅ </td><td align="center">✅ </td><td align="center">❌ </td><td align="center">❌ </td></tr><tr><td align="center">Remove last Admin </td><td align="center">❌ </td><td align="center">❌ </td><td align="center">❌ </td><td align="center">❌ </td></tr></tbody></table>

### Role descriptions

* **Admin**: Full control over workspace resources, settings, and members&#x20;
* **Maintainer**: Can deploy and operate pipelines/connectors/transforms; manage members&#x20;
* **Developer**: Can build and edit applications/transforms; view configurations; cannot deploy or change settings&#x20;
* **Viewer**: Read-only access

## Managing users in a Workspace&#x20;

### Add users&#x20;

1. Go to the Workspace catalogue page&#x20;
2. Click on the "Add User +" icon on the workspace card
3. Search and select users from the organization member list&#x20;
4. Assign a workspace role&#x20;
5. Click on Add&#x20;

{% hint style="warning" %}
Note: If a user does not appear in the list, they must first be added to the organization as a member by an Organization Admin.&#x20;
{% endhint %}

### **Steps to associate members with the workspace**&#x20;

#### **Step 1**: Select the workspace from the catalogue to add the users

<figure><img src="https://1775139360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvbacpakLuL4x2VBp2174%2Fuploads%2FC5UtVHB6MmM3EOzGAMik%2Fimage.png?alt=media&#x26;token=bc099712-9d1b-4e48-bdfc-5372a9ac8c2a" alt=""><figcaption></figcaption></figure>

#### Step 2: Look for the unassigned users list and select the member, and click on the "add user" icon.

<figure><img src="https://1775139360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvbacpakLuL4x2VBp2174%2Fuploads%2FKe1EABNsvAczhSCzsMoZ%2Fimage.png?alt=media&#x26;token=eb545e31-1eb5-46de-aec9-b89ef72e0eaa" alt=""><figcaption></figcaption></figure>

#### Step 3: The Member will be added as a user of the workspace and moved to the assigned users list.&#x20;

{% hint style="info" %}
By default, the user will be assigned a viewer role binding. Admin is required to bind the appropriate role to the added user.
{% endhint %}

<figure><img src="https://1775139360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvbacpakLuL4x2VBp2174%2Fuploads%2FPioqGicytUQYQE1ElqbW%2Fimage.png?alt=media&#x26;token=8a1eba67-4d62-4ee6-98a2-7e258d8fa268" alt=""><figcaption></figcaption></figure>

### Change Roles&#x20;

* Admins and Maintainers can change roles anytime&#x20;
* Changes take effect immediately&#x20;

### Remove workspace user&#x20;

* Admins and Maintainers can remove workspace users&#x20;
* You cannot directly remove the last Admin. Promote another user first

<figure><img src="https://1775139360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvbacpakLuL4x2VBp2174%2Fuploads%2FuNLRSxmrCYwRVpoA0gix%2Fimage.png?alt=media&#x26;token=b1fca202-71dc-4e6a-a5a3-71ef9db83596" alt=""><figcaption></figcaption></figure>

## Workspace Settings&#x20;

From Workspace Settings, you can:&#x20;

* View and update workspace details&#x20;
* Manage workspace members and roles&#x20;
* Access activity logs&#x20;
* View resource usage and workspace parameters

{% hint style="info" %}
The Workspace settings page is where you get a list of existing workspaces in the organization
{% endhint %}

<figure><img src="https://1775139360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvbacpakLuL4x2VBp2174%2Fuploads%2F7CKVG0C2XTE26XA8XkT4%2Fimage.png?alt=media&#x26;token=375d53c4-3c76-475e-b524-58d794ff285b" alt=""><figcaption></figcaption></figure>

Select the workspace name, and click on the edit icon of the action section to open the workspace setting page

<figure><img src="https://1775139360-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FvbacpakLuL4x2VBp2174%2Fuploads%2FbooRp3HfXSas6TMfVpPN%2Fimage.png?alt=media&#x26;token=092497e0-e3ea-4231-9740-76569000c493" alt=""><figcaption></figcaption></figure>

## Monitoring and Audit&#x20;

Workspaces include monitoring and auditing tools to help manage operations:&#x20;

* Pipeline status (running, stopped, error)&#x20;
* Connector health (connected, disconnected, error state)&#x20;
* Transform/application status (active version, logs)&#x20;
* Activity log (who changed what, when)

## Best Practices&#x20;

* Use separate workspaces for each development stage (dev, staging, prod)&#x20;
* Apply the least privilege principle when assigning roles&#x20;
* Document the workspace's purpose in the description&#x20;
* Regularly review membership and roles&#x20;
* Remove unused pipelines/connectors to keep the workspace clean&#x20;

## Common Pitfalls and How to Avoid Them&#x20;

1\. Trying to add a user who not member of organization&#x20;

**Avoidance**: Confirm the user has been added at the organization level before attempting to add them to a workspace&#x20;

2\. Accidentally deleting a workspace&#x20;

**Avoidance**: Double-check the workspace name and confirm with the team before deletion&#x20;

3\. Assigning all members as Admins&#x20;

**Avoidance**: Limit Admin roles to those responsible for workspace governance; use Maintainer, Developer, or Viewer roles for others&#x20;

## Relevant Links&#x20;

* [Pipelines ](https://docs.zeliot.in/condense/condense-app-getting-started/pipelines)
* [Connectors](https://docs.zeliot.in/condense/condense-app-getting-started/connectors)&#x20;
* [Applications](https://docs.zeliot.in/condense/condense-app-getting-started/applications)&#x20;
* [Transforms](https://docs.zeliot.in/condense/introduction-to-condense)&#x20;
* [RBAC Overview ](https://docs.zeliot.in/condense/condense-app-getting-started/role-based-access-control-rbac)&#x20;
