Update Member

bitwarden.update_member
ActionBusiness appsconnection required

Calls the Bitwarden API with the connection's credentials.

Replace a member's role, external id, collection assignments and groups; properties this node does not send are reset by Bitwarden.

Connection

Required
Yes — the node will not save without one
Auth type
OAuth 2.0
Providers
Bitwarden
Secret shape
the organization API key client_secret, or {"client_secret": "…"}
Config it needs
region, client_id, base_url, identity_url
Resolved by
config.connection_id, else node.connection_id

Configuration

6 fields, 2 required. A dotted path is a nested object and name[] an array of objects — the editor renders the same tree.

FieldTypeRequiredDefaultConstraintsExample
member_id
The member to act on — the organization member id, not the Bitwarden user id.
stringYes——e68b8629-85eb-4929-92c0-b84464976ba4
role
The role to set on the member; Bitwarden replaces the role on every update, so state the one they should end up with.
stringYes—one of "owner", "admin", "user", "custom"admin
collections
Collection assignments as a JSON array: each entry is an object with 'id' and 'readOnly', optionally 'hidePasswords' and 'manage'. A bare id string is read-write.
arrayNo——[{"id":"539a36c5-e0d2-4cf9-979e-51ecf5cf6593","readOnly":false}]
groups
Group ids this member belongs to, as a JSON array of ids; omit to leave them unchanged.
arrayNo—array of string["bfbc8338-e329-4dc0-b0c9-317c2ebf1a09"]
external_id
External identifier linking this record to another system, such as a user directory.
stringNo—≤ 300 charactersexternal_id_123456
permissions
Custom permissions as a JSON object; Bitwarden accepts these only for the custom role.
objectConditional—only with role{"accessEventLogs":true}

Example configuration

Every value below is the contract’s own example or default — nothing invented.

{
  "collections": [
    {
      "id": "539a36c5-e0d2-4cf9-979e-51ecf5cf6593",
      "readOnly": false
    }
  ],
  "external_id": "external_id_123456",
  "groups": [
    "bfbc8338-e329-4dc0-b0c9-317c2ebf1a09"
  ],
  "member_id": "e68b8629-85eb-4929-92c0-b84464976ba4",
  "permissions": {
    "accessEventLogs": true
  },
  "role": "admin"
}

Output

One shape.

result

FieldTypeExample
object
Always 'member' for this response.
string—
id
The organization member id.
string—
userId
The member's Bitwarden-wide user id.
string—
name
The member's name from their user account profile.
string—
email
The member's email address.
string—
type
The member's role as Bitwarden's numeric type.
number—
type_label
That role spelled out: owner, admin, user or custom.
string—
status
The member's status as Bitwarden's numeric status.
number—
status_label
That status spelled out: invited, accepted, confirmed, staged or revoked.
string—
twoFactorEnabled
True when the member has two-step login enabled.
boolean—
externalId
The member's external identifier, if it has one.
string—
collections
The collections this member can access, with permissions.
array—
{
  "collections": [],
  "email": "",
  "externalId": "",
  "id": "",
  "name": "",
  "object": "",
  "status": 0,
  "status_label": "",
  "twoFactorEnabled": false,
  "type": 0,
  "type_label": "",
  "userId": ""
}

Notes

  • Bitwarden replaces the object: any property this node does not send is reset.

See Update Member run in a workflow.

In a technical demo we add the Bitwarden connection, drop the node on the canvas and let Workflow Health pre-flight it before the first real run.