Workspaces¶
Definitions¶
A workspace is a project that :
- Enables various Automations inside your IT organization, between your APIs, ...
- Is easily configurable through workspace config, Apps and automations graph
- Produces events recording what's happening and optionally triggering Automations
- Present computed data / events through Web Pages accessible to admins or event external end users
- Has configurable roles providing distinct user groups with fine grained permissions
Config¶
For now, workspace config is only configurable from source code :
name: MyConfiguredWorkspace
slug: test
config:
value:
API_URL: https://api.mycompany.com
LOGIN_URL: "{{config.API_URL}}/login"
headers:
apiKey: someAPIKey
The config.value field defined at the top of this workspace is exposed as a config variable inside your automations.
This config variable is also avaible in the workspace config itself, as well as in installed apps config.
Sensitive config values like credentials can be injected with secret variables : {{secret.yourExternalSecret}}
.
See Secrets.
Finally, sensitive config values can also be passed from environment variables built using the target workspace slug, for example :
WORKSPACE_CONFIG_test_API_URL=https://api.mycompany.com
config.API_URL
variable as in above example. Workspace config takes precedence over environment variables.
More details on variables usage.
The config object accepts an additional field specific to apps : config.schema
Secrets¶
Workspaces can have a list of secrets provided either from UI or API. API usage will allow you to pull some externals secret manager in a CI pipeline to feed workspaces' secrets with /workspaces/:workspaceId/security/secrets
API (See documentation).
By default (unless permitted through custom roles), only owner can access workspace secrets.
These secrets can be used with secret
variable in these 2 places exclusively :
Workspace config :
config:
value:
headers:
apiKey: '{{secret.apiKey}}'
Workspace repositories :
repositories:
github:
name: My Own Github
type: git
mode: read-write
config:
url: https://github.com/YourUser/your-repository.git
branch: main
auth:
user: 'your git user'
password: '{{secret.gitPassword}}'
Secrets beginning with prismeai_*
are reserved for super admins to configure some system settings by workspace.
Events¶
Each workspace has a continuous and real-time stream of events describing what's happening at any time.
Events can be native or custom :
- Native events are automatically generated by the platform throughout the workspace's lifetime : Updates, input webhooks, errors, automation executions, ...
- Custom events (or application events) are emitted either by your own automations or the apps you installed
Workspaces can emit custom events in order to simply record that something special happened or to trigger some other automations which will be executed in parallel.
Workspaces can listen to some native events and every custom events in order to execute any desired workflow inside theirs automations.
Events are stored up to 3 years after their creation and can ben viewed / searched at anytime from the Activity view of the workspace.
However, events from workspaces inactive for longer than 15 days and with less than 100 events are regularly deleted.
Events from deleted workspaces are kept for up to 6 months after the deletion.
Every event includes a source field with many useful information including the following ones :
- source.userId : Authenticated user id, only set for user emitted events and
runtime.automations.executed
events emitted while processing some user event - source.sessionId : Authenticated user session id, shared by all events emitted in relation with the user session
- source.correlatonId : Unique id shared by every events emitted in relation with the same initial trigger
- source.automationSlug : Automation slug from which this event has been emitted
- source.appInstanceFullSlug : If any, source app instance full slug
- source.http : Source http request details, if any
For security reason, events emitted from a nested app (i.e an app installed within an app installed in your workspace) will not be visible to the root workspace events feed.
Custom domains¶
You can attach a custom domain name to your workspace to be able to display your pages under your own host. You'll need to complete this steps:
- Add a CNAME entry to your domain name with value
pages.prisme.ai.
. If you want to use a root domain, you can use an ALIAS instead. - Set the domain in your Workspace by adding it in
customDomains
value. Ex:customDomains: - www.acme.fr
- Contact us for Entreprise version