Set Team Members

This playbook will accept a CSV of usernames and / or a CSV of role names (of which to enumerate for usernames) to add to the incidents team members. The playbook will determine the existing owner and ensure that they are replaced as the owner once complete.

Team Management · 12 tasks · 2 inputs · 0 outputs

Details

IDSet Team Members
From Version6.0.0
Tasks12

README

This playbook will accept a CSV of usernames and / or a CSV of role names (of which to enumerate for usernames) to add to the incidents team members.

The playbook will determine the existing owner and ensure that they are replaced as the owner once complete.

Dependencies

This playbook uses the following sub-playbooks, integrations, and scripts.

Sub-playbooks

This playbook does not use any sub-playbooks.

Integrations

This playbook does not use any integrations.

Scripts

  • AssignAnalystToIncident
  • EnumerateRoles
  • Set

Commands

This playbook does not use any commands.

Playbook Inputs


Name Description Default Value Required
usernames A CSV of usernames to add to the team of the incident.   Optional
roles A CSV of role names to enumerate for usernames to add to the team of the incident.   Optional

Playbook Outputs


There are no outputs for this playbook.

Playbook Image


![Set Team Members]image

Inputs

  • usernames — A CSV of usernames to add to the team of the incident.
  • roles — A CSV of role names to enumerate for usernames to add to the team of the incident.

Flowchart

yes yes yes Start Start Are there any usernames provided? Are there any usernames p... Are there any roles provided? Are there any roles provi... Assign usernames Assign usernames Assign roles Assign roles Assign each user - AssignAnalystToIncident Assign each user AssignAnalystToIncident Save the current owner - Set Save the current owner Set Is there an original owner? Is there an original owner? Assign the original owner - AssignAnalystToIncident Assign the original owner AssignAnalystToIncident Done Done Enumerate roles - EnumerateRoles Enumerate roles EnumerateRoles Assign each user - AssignAnalystToIncident Assign each user AssignAnalystToIncident
contentitemexportablefields:
  contentitemfields:
    propagationLabels:
    - all
description: |-
  This playbook will accept a CSV of usernames and / or a CSV of role names (of which to enumerate for usernames) to add to the incidents team members.

  The playbook will determine the existing owner and ensure that they are replaced as the owner once complete.
id: Set Team Members
inputs:
- description: A CSV of usernames to add to the team of the incident.
  key: usernames
  playbookInputQuery:
  required: false
  value: {}
- description: A CSV of role names to enumerate for usernames to add to the team of
    the incident.
  key: roles
  playbookInputQuery:
  required: false
  value: {}
name: Set Team Members
outputs: []
starttaskid: "0"
tasks:
  "0":
    id: "0"
    ignoreworker: false
    nexttasks:
      '#none#':
      - "6"
    note: false
    quietmode: 0
    separatecontext: false
    skipunavailable: false
    task:
      brand: ""
      id: fdd26a74-8fe4-4703-8365-02054e9729ab
      iscommand: false
      name: ""
      version: -1
      description: ''
    taskid: fdd26a74-8fe4-4703-8365-02054e9729ab
    timertriggers: []
    type: start
    view: |-
      {
        "position": {
          "x": 50,
          "y": 50
        }
      }
  "1":
    conditions:
    - condition:
      - - left:
            iscontext: true
            value:
              complex:
                root: inputs.usernames
          operator: isNotEmpty
      label: "yes"
    id: "1"
    ignoreworker: false
    nexttasks:
      '#default#':
      - "2"
      "yes":
      - "3"
    note: false
    quietmode: 0
    separatecontext: false
    skipunavailable: false
    task:
      brand: ""
      description: The task will check if there are any provided usernames in the
        playbook inputs.
      id: 46e4ebd8-d74a-411b-8e30-6ff1a36fa763
      iscommand: false
      name: Are there any usernames provided?
      type: condition
      version: -1
    taskid: 46e4ebd8-d74a-411b-8e30-6ff1a36fa763
    timertriggers: []
    type: condition
    view: |-
      {
        "position": {
          "x": 50,
          "y": 370
        }
      }
  "2":
    conditions:
    - condition:
      - - left:
            iscontext: true
            value:
              complex:
                root: inputs.roles
          operator: isNotEmpty
      label: "yes"
    id: "2"
    ignoreworker: false
    nexttasks:
      '#default#':
      - "7"
      "yes":
      - "4"
    note: false
    quietmode: 0
    separatecontext: false
    skipunavailable: false
    task:
      brand: ""
      description: The task will check if there are any provided roles in the playbook
        inputs.
      id: 001706fa-9482-43a4-891a-a7920caf27a3
      iscommand: false
      name: Are there any roles provided?
      type: condition
      version: -1
    taskid: 001706fa-9482-43a4-891a-a7920caf27a3
    timertriggers: []
    type: condition
    view: |-
      {
        "position": {
          "x": 50,
          "y": 865
        }
      }
  "3":
    id: "3"
    ignoreworker: false
    nexttasks:
      '#none#':
      - "5"
    note: false
    quietmode: 0
    separatecontext: false
    skipunavailable: false
    task:
      brand: ""
      id: ac17806f-e0fe-4a9f-83f2-d85da08574f0
      iscommand: false
      name: Assign usernames
      type: title
      version: -1
      description: ''
    taskid: ac17806f-e0fe-4a9f-83f2-d85da08574f0
    timertriggers: []
    type: title
    view: |-
      {
        "position": {
          "x": 162.5,
          "y": 545
        }
      }
  "4":
    id: "4"
    ignoreworker: false
    nexttasks:
      '#none#':
      - "10"
    note: false
    quietmode: 0
    separatecontext: false
    skipunavailable: false
    task:
      brand: ""
      id: 48a7341e-80cc-40c6-8396-b44e30a54347
      iscommand: false
      name: Assign roles
      type: title
      version: -1
      description: ''
    taskid: 48a7341e-80cc-40c6-8396-b44e30a54347
    timertriggers: []
    type: title
    view: |-
      {
        "position": {
          "x": 162.5,
          "y": 1040
        }
      }
  "5":
    id: "5"
    ignoreworker: false
    nexttasks:
      '#none#':
      - "2"
    note: false
    quietmode: 0
    scriptarguments:
      username:
        complex:
          root: inputs.usernames
          transformers:
          - args:
              delimiter:
                value:
                  simple: ','
            operator: split
    separatecontext: false
    skipunavailable: false
    task:
      brand: ""
      description: |-
        Assign analyst to incident.
        By default,  the analyst is picked randomly from the available users, according to the provided roles (if no roles provided, will fetch all users).
        Otherwise, the analyst will be picked according to the 'assignBy' arguments.
        machine-learning: DBot will calculated and decide who is the best analyst for the job.
        top-user: The user that is most commonly owns this type of incident
        less-busy-user: The less busy analyst will be picked to be the incident owner.
        online: The analyst is picked randomly from all online analysts, according to the provided roles (if no roles provided, will fetch all users).
        current: The user that executed the command
      id: 1cb01cc7-36c0-4c85-8a75-21f20420f038
      iscommand: false
      name: Assign each user
      scriptName: AssignAnalystToIncident
      type: regular
      version: -1
    taskid: 1cb01cc7-36c0-4c85-8a75-21f20420f038
    timertriggers: []
    type: regular
    view: |-
      {
        "position": {
          "x": 162.5,
          "y": 690
        }
      }
  "6":
    id: "6"
    ignoreworker: false
    nexttasks:
      '#none#':
      - "1"
    note: false
    quietmode: 0
    scriptarguments:
      append:
        simple: "false"
      key:
        simple: CurrentOwner
      value:
        simple: ${incident.owner}
    separatecontext: false
    skipunavailable: false
    task:
      brand: ""
      description: Set a value in context under the key you entered.
      id: 02dc1cd3-8ba7-45a6-8099-597f2d2395b1
      iscommand: false
      name: Save the current owner
      scriptName: Set
      type: regular
      version: -1
    taskid: 02dc1cd3-8ba7-45a6-8099-597f2d2395b1
    timertriggers: []
    type: regular
    view: |-
      {
        "position": {
          "x": 50,
          "y": 195
        }
      }
  "7":
    conditions:
    - condition:
      - - left:
            iscontext: true
            value:
              complex:
                root: CurrentOwner
          operator: isNotEmpty
      label: "yes"
    id: "7"
    ignoreworker: false
    nexttasks:
      '#default#':
      - "9"
      "yes":
      - "8"
    note: false
    quietmode: 0
    separatecontext: false
    skipunavailable: false
    task:
      brand: ""
      description: This task will check if there was an original owner.
      id: c09e8b51-e308-420a-85f5-5f437afe46a4
      iscommand: false
      name: Is there an original owner?
      type: condition
      version: -1
    taskid: c09e8b51-e308-420a-85f5-5f437afe46a4
    timertriggers: []
    type: condition
    view: |-
      {
        "position": {
          "x": 50,
          "y": 1535
        }
      }
  "8":
    id: "8"
    ignoreworker: false
    nexttasks:
      '#none#':
      - "9"
    note: false
    quietmode: 0
    scriptarguments:
      username:
        complex:
          root: CurrentOwner
    separatecontext: false
    skipunavailable: false
    task:
      brand: ""
      description: |-
        Assign analyst to incident.
        By default,  the analyst is picked randomly from the available users, according to the provided roles (if no roles provided, will fetch all users).
        Otherwise, the analyst will be picked according to the 'assignBy' arguments.
        machine-learning: DBot will calculated and decide who is the best analyst for the job.
        top-user: The user that is most commonly owns this type of incident
        less-busy-user: The less busy analyst will be picked to be the incident owner.
        online: The analyst is picked randomly from all online analysts, according to the provided roles (if no roles provided, will fetch all users).
        current: The user that executed the command
      id: ae3863de-a156-403a-858b-d648416548db
      iscommand: false
      name: Assign the original owner
      scriptName: AssignAnalystToIncident
      type: regular
      version: -1
    taskid: ae3863de-a156-403a-858b-d648416548db
    timertriggers: []
    type: regular
    view: |-
      {
        "position": {
          "x": 162.5,
          "y": 1710
        }
      }
  "9":
    id: "9"
    ignoreworker: false
    note: false
    quietmode: 0
    separatecontext: false
    skipunavailable: false
    task:
      brand: ""
      id: bd67ab9d-3cd1-4eba-85b2-90d690e1e0cf
      iscommand: false
      name: Done
      type: title
      version: -1
      description: ''
    taskid: bd67ab9d-3cd1-4eba-85b2-90d690e1e0cf
    timertriggers: []
    type: title
    view: |-
      {
        "position": {
          "x": 50,
          "y": 1885
        }
      }
  "10":
    id: "10"
    ignoreworker: false
    nexttasks:
      '#none#':
      - "11"
    note: false
    quietmode: 0
    scriptarguments:
      roles:
        complex:
          root: inputs.roles
    separatecontext: false
    skipunavailable: false
    task:
      brand: ""
      description: The script will enumerate any provided role names and output the
        list of users for each role.
      id: d2e61ac7-bd9f-4c88-8908-671bec80f4d1
      iscommand: false
      name: Enumerate roles
      scriptName: EnumerateRoles
      type: regular
      version: -1
    taskid: d2e61ac7-bd9f-4c88-8908-671bec80f4d1
    timertriggers: []
    type: regular
    view: |-
      {
        "position": {
          "x": 162.5,
          "y": 1185
        }
      }
  "11":
    id: "11"
    ignoreworker: false
    nexttasks:
      '#none#':
      - "7"
    note: false
    quietmode: 0
    scriptarguments:
      username:
        simple: ${Roles.users}
    separatecontext: false
    skipunavailable: false
    task:
      brand: ""
      description: |-
        Assign analyst to incident.
        By default,  the analyst is picked randomly from the available users, according to the provided roles (if no roles provided, will fetch all users).
        Otherwise, the analyst will be picked according to the 'assignBy' arguments.
        machine-learning: DBot will calculated and decide who is the best analyst for the job.
        top-user: The user that is most commonly owns this type of incident
        less-busy-user: The less busy analyst will be picked to be the incident owner.
        online: The analyst is picked randomly from all online analysts, according to the provided roles (if no roles provided, will fetch all users).
        current: The user that executed the command
      id: ca0534de-d00d-44cf-85c2-dcc157222177
      iscommand: false
      name: Assign each user
      scriptName: AssignAnalystToIncident
      type: regular
      version: -1
    taskid: ca0534de-d00d-44cf-85c2-dcc157222177
    timertriggers: []
    type: regular
    view: |-
      {
        "position": {
          "x": 162.5,
          "y": 1360
        }
      }
version: -1
view: |-
  {
    "linkLabelsPosition": {},
    "paper": {
      "dimensions": {
        "height": 1900,
        "width": 492.5,
        "x": 50,
        "y": 50
      }
    }
  }
tests:
- No tests (auto formatted)
fromversion: 6.0.0