# Namespaces

With Avantra 23.3 release, namespaces have been introduced to allowing the grouping of custom objects in Avantra and to grant permissions on objects assigned to those namespaces.

Up to Avantra 23.2.x, permissions could only be granted on the customer level. However, this had some disadvantages; for example, having objects valid for multiple customers was complicated.

Because customers are primarily used to group systems and other objects based on a business requirement (a customer often represents a company or company segment), another grouping with a different requirement was impossible. This is why Namespaces have been created and available from Avantra 23.3.0 and above.

| With the release of permissioned Namespaces, workflows and steps have a namespace; they no longer have an assigned customer.

## Creating / Updating a namespace

Namespaces are created in the Configuration Integrations menu under the tab Namespaces. You must be an administrator to create a namespace.

| Once you create a Namespace you must assign it to any non-administrator users that intend to use it. Otherwise they cannot see the Namespace or interact with it.

## Assigning an object to a Namespace

To add a Namespace to a workflow or step object, simply open the workflow or step and assign the Namespace in the corresponding field.

## Permissions

User permissions can now be granted on Namespaces as well.

Open Avantra user management and select the role you wish to assign permissions to. There you can see the assigned customers and the assigned Namespaces. Click on the Assign Namespaces action and set the available Namespaces. Users needing access to a workflow (or step) need permission on that Namespace through a role.

Workflow permissions:

- A workflow has no customer, only a namespace

- User must have a correspondent `view/edit/start` permission on the namespace to view/edit/start the workflow

- User needs a `start` permission on the namespace AND customer to start a workflow

- Admin (root) has root permissions for all customers and namespaces by default

## Namespace hierarchy

Namespaces can be organized in a hierarchy. The hierarchy is based on a dot '.' notation.

For example, if we have the following namespaces:

- `avantra`

- `avantra.systemcopy`

Then `avantra.systemcopy` is a sub-namespace of `avantra` because the name starts with "avantra".

The consequence is that permissions granted on a higher level namespace, "avantra" in the above example, automatically get the same permissions on all defined sub-namespaces, "avantra.systemcopy" in the above example.