GoRunner docs
Search or askSearch⌘K

Accounts and people

GoRunner knows your customers and their people by your ids, and makes each one the first time a login code names it.

Embed · Self-hosted with an Embed license

In your appIn GoRunnerMade by
A customerAn account: its own organization, with a default workspace, its own data, encryption key and audit log.The first login code that names it, or Create or update an account.
A team inside a customerA workspace in that account. Most partners never need one.A login code with workspace: { id, name }, or Create or rename a workspace.
A userA person, with a role in each workspace they use.The first login code that names them, or Create or update a person.

Later login codes keep names up to date. Ids are 1 to 255 bytes of UTF-8, with no control characters, compared exactly; names are up to 200 characters. An id may contain /, so escape it in a path.

What if two of my apps share one installation?

The ids belong to the installation, not to a key: every partner key names the same accounts and people. Keep each app’s ids apart with a prefix, such as contoso:co-77. Otherwise a code from one app can sign a person in to another app’s customer.

Accounts

Active
As normal.
Suspended
Its workflows stop starting, and its people can look but not change anything. Nothing is lost. See Suspend an account.
Deleted
Its sessions end, and new login codes for it are refused with 409 ACCOUNT_DELETED. It can be restored for 30 days.

Active and suspended accounts count against the license’s organization limit, and their workspaces against its workspace limit. A new account or workspace past one is refused with 403 ORG_LIMIT or 403 WORKSPACE_LIMIT, and so is restoring one. Your customers’ people never take a seat.

For one account, Create or update an account also sets:

turnOff
Switches off for this account. See Three levels.
pieces
The apps it may use. null is the installation’s list; [] leaves only the steps every workflow has.
assistant.monthlyTokens
Its own monthly allowance for the assistant.
limits.concurrentRuns
Its runs at once, below.

Runs at once

A limit on how many of an account’s runs go at once, so one busy customer can’t fill your workers. Runs over it wait in line. The customer sees them as Queued, with their place, such as “2nd in line · the account runs 10 at once”; your server’s run reads say queued.

From your server
"limits": { "concurrentRuns": 10 } on the account: a whole number, 0 for no limit, or null for the installation’s default.
From the Platform
The customer’s record › Limits… › Runs at once. It says who set it last, such as “Set by your app on 9 Oct”. The last change counts.
The default
Platform › Settings › General, Runs at once per organization. Empty is no limit.

Which account goes first, held runs and how many may wait: Runs at once › The rules. To empty one workflow’s line, use Cancel a workflow’s waiting runs.

Workspaces

A login code without a workspace signs the person in to the account’s default workspace. One account per customer, with its default workspace, suits most partners.

Name a workspace when a customer’s teams must not see each other’s workflows. It is made the first time a code names it, and needs a name then. A person works in one workspace at a time, and can have a different role in each.

The default workspace can’t be deleted (409 DEFAULT_WORKSPACE). Deleting any other is permanent, and signs its people out of it.

Why not put every customer in one account?

It works, but one account is one suspension, one audit trail, one set of shared templates and one place in the license’s organization limit. An account per customer keeps all four apart.

People and roles

A person is one of your users, known by your id across the installation. The same person can be in several accounts. Their name is shown to others. An email, if you send one, is for contact only: it never identifies them and never signs them in.

viewer
Sees workflows, runs and connections.
operator
And runs workflows, tries a step, and cancels or deletes runs.
editor
And builds, publishes and deletes workflows, and adds, changes and removes connections.

Nobody in an account is its admin or owner: the account is yours to manage. The switches narrow what a role allows.

Changing a role
A login code with another role changes it. Their sessions in that workspace end and renew at the new role. Give a person a role does it without a sign-in.
Removing someone
Remove a member ends their sessions there at once. Delete a person removes them from everything. They get back in only with a new login code.

Where your staff see them

In Platform › People, under Your app’s people, each is marked Signs in through your app, and Last seen reads In your app. Platform admins whose reach covers your customers see the email your app sent, marked as a contact address. It is never shown during a staff visit. Inside, each person has a placeholder address, u-<GoRunner’s id>@embed.invalid.

One person of the installation’s own, Embedded accounts, owns your customers’ accounts and never signs in. It is left out of the list unless asked for, and marked Service.

Checked against 12d85b3b