Skip to content

Latest commit

 

History

History
157 lines (97 loc) · 32.4 KB

File metadata and controls

157 lines (97 loc) · 32.4 KB

Organizations and organization variables

What is an organization?

A group or entity within the Rewst platform that may have its own variables, forms, workflows, and users, organizations enable multi-tenanted management and customization of the platform according to specific customer needs. You may see us refer to an organization as an org for short.

Rewst uses a two-tier system to manage organizations, with your MSP as the parent org and your customers as child orgs. To make automations work for your managed clients/customers, set them up as child orgs. Each time you bring on a new customer account, you'll need to add a corresponding child org in Rewst to enable automations for them.

{% hint style="success" %} We recommend using the Bulk Create Client from PSA Crate to add the majority of your customers quickly during your Rewst onboarding, and using the Add Client to Rewst Crate to streamline the mapping process for each new customer you add in the future. You can also add organizations manually, or through the Microsoft Cloud Bundle.

For information on how to access the organizations menu in Rewst, see our documentation here. {% endhint %}

{% embed url="https://youtu.be/rYLnWl54Sz8?si=m8o7WGyaMIIRmGmy" %}

What is an organization variable?

Organization variables, referred to as org variables for short, serve as the foundational elements for setting and managing configurations across different organizational levels within Rewst. They ensure consistency and control within workflows, and facilitate efficient management across the organizational hierarchy.

View all organization variables in Rewst

Organization variables can manually be added by navigating to Settings > Organization Variables in the left side menu of your Rewst platform. In this page, view a total list of all org variables for your selected organization. Note that org variables are visible only one level deep - you'll see them for a child org of a parent org, but not the child org of that child org, for example.

When unpacking Crates, you may be prompted to fill out forms within those Crates to set up your organization variables. Once the form is submitted, the variables will appear in this total list.

Filter or view the list by using the section headers of the Name, Value, Category, Organization or Created By date columns to specify your criteria.

Screenshot of the Organization Variables page in Rewst Settings, showing a dark-themed interface with a left navigation menu, a top search bar, and a table listing variable names, values, categories, organizations, creation dates, default indicators, and action icons for editing or deleting variables.

The Organization Variables submenu of the Rewst platform

Manually add a new organization variable

  1. Click to add a new org variable. This will open up a new, editable row at the top of the total org variable list.\

  2. Enter the information for your variable into the relevant fields.

  3. Click to save your org variable when done. Alternatively, click to cancel the creation of the org variable.

Edit or delete existing organization variables

Organization variables may be edited one-by-one, or in bulk.

Edit all organization variables by clicking at the top right corner of the total organization variables list.

Edit an individual organization variable by clicking to the right of that organization variable.

Click to the right of an individual organization variable to delete it.

Create secret values for organization variables

The Category drop-down selector holds several options to choose from when creating new organization variables. If you choose secret, whatever text you enter into the Value field for that organization variable will be its secret. You might be asked for this value when unpacking several of our more complicated Crates.

Inheritance and overrides

Inheritance: Values set at the parent organization level cascade down, providing a default setup for all child organizations.

Overrides: Child organizations can establish their own variables, prioritizing local settings over defaults inherited from their parent organization. Overrides don't cascade down to suborganizations of child organizations. They exist just for that one child org where they are set.

For example, consider a scenario where you have three layers of organizations:

Parent > Child 1 > Child of Child 1.

If you create a workflow at the parent level and run the workflow via trigger as Child of Child 1, the organization variable value will come from the parent, not the Child 1 organization.

Org variable usage in workflows

Access variables seamlessly in any workflow with the following syntax:

{{ ORG.VARIABLES.<variable_name> }}

Org variable naming conventions

  • Employ descriptive and straightforward wording using snake_case for clarity.
  • Prefix integration-specific variables appropriately, like psa_ for PSA-related variables.

{% hint style="info" %} Defining Boolean Values: always use lowercase true or false to align with Rewst's standardized practices. This uniform approach applies to all future workflow designs. Existing legacy workflows may display variations. {% endhint %}

Use custom org variables to standardize client workflows

Creating your own org variables enables you to build logic into your custom workflows so that you don't need to hardcode values within workflows.

For example, instead of hardcoding a client's service tier as gold directly in a workflow, you can create a service_tier org variable, reference that variable wherever the tier is needed across automations, and update the org variable in one place if the names of service tiers change.

Once you've set your org variables, your workflows can reference them to run automation selectively — for example, only triggering managed-client workflows where is_managed is true.

Variable name Example value
is_managed true
service_tier gold
uses_simplified_onboarding false
managed_pc_license_guid

cbdc14ab-d96c-4c30-b9f4-6ada7cdc1d46
This is a sample value that corresponds with the Microsoft Business Premium license SKU. Confirm the current value via Microsoft documentation.

security_group IT-Admins
mail_enabled_group AllStaff
default_OU OU=UserAccounts, OU=Departments,OU=Marketing,DC=CONTOSO,DC=COM

Use as default feature

The use as default feature allows managing organizations to set a universal default value for an org variable. This default is applied to suborganizations unless they specify their own value.

How use as default works

  • Set a default: When you set a variable as default at the MSP level, it becomes the fallback for suborganizations without a specified value.
  • Workflow execution context:
    • The default value is only used if the workflow is initiated from the managing organization.
    • To apply the default value to Client A, the workflow must start from the MSP, even if it operates within Client A’s context.
  • Triggers and context:
    • Implementing triggers in the workflow ensures that the execution context is recognized. This facilitates the use of MSP-level defaults in sub-organization workflows.

Find numerical values in org variables

{% hint style="info" %} When setting organization variables, you might need to enter in API status IDs in numeric value rather than by their display names. For example, "In Progress" would have the ID of "3" in the API.

An easy way to find these is through the workflow builder, using create ticket actions for each PSA. {% endhint %}

Find IDs for any status

  1. Navigate to Automations > Workflows in your Rewst platform.

  2. Click the Create button to create a new workflow.

  3. Add the following action type, depending on the brand of PSA you use:

    1. ConnectWise PSA: Create Service Ticket

    2. Datto PSA: Create Ticket v2

    3. Halo PSA: Add or Update Tickets

  4. Click the ⋮ in your action to open up its settings.

  5. Click in any field with a blue arrow.

  6. Select the Display name you want the ID for, then click the to the left to get the ID.

{% hint style="warning" %} Note that this method will only work for the three indicated PSA brands: ConnectWise, Datto, and Halo. {% endhint %}

Form organization variables

See more on organization variables for forms unpacked from Crates here.

Onboarding requirements

Certain org variables are essential for onboarding processes and are utilized by the Get and Set Org Variables Workflow to ensure smooth integration and setup for new users or systems.

VariableForm FieldUseValid Values
automation_task_new_user_timeNew User Automation Task TimeDefault time for the "New User" workflow, to add to the ticket at completionint in minutes
automation_task_offboard_user_timeOffboard User Automation Task TimeDefault time for the "Offboard User" workflow, to add to the ticket at completionint in minutes
crate_sync_contacts_report_onlyCrate - Sync Contacts - Report OnlyIf a user is missing, this will create a ticket for them with the relevant user informationbool
cw_control_session_group_overrideCW Control Session Group OverrideThis org variable setting will allow you to use a different session group than All Machines. The session group name needs to match whatever session group you would like to use and is case sensitive. Example: All Machines by Companystring
cwm_nopodManual License Confirmation No Pod NotificationThis organization variable is used in the manual license purchase workflow, by default the workflow attempts to prompt for approval via a Manage pod. If pods are not configured in your environment then this org variable should be used to override the default behavior which will provide the prompt via a ticket note.true(string)
default_psaDefault PSAIdentifies the PSA that you usecw_manage kaseya_bms
datto_psa
halo_psa
freshdesk
servicenow
mail_only
default_psa_contact_typeN/AThis will make the PSA Contact Type field in the user on-boarding form auto populate the field with the provided value(s)This org variable should be a JSON formatted string with a list of id(s), as an example [3].
default_rmmDefault RMMIdentifies the RMM that you usecw_automate
cw_control
datto_rmm i
mmybot
ninja_rmm n_able kaseya_vsa kaseya_vsa_x
agent_smith
form_default_aad_groupsForm Default: AAD GroupsUsed so that if the form forces a default, this is the value supplied in the if statement. Example is [{"department": "Jesse"},{"department": "dam"}]list
form_default_departmentForm Default: DepartmentUsed so that if the form forces a default, this is the value supplied in the if statement. Example is [{"id": "68c2878a-6739-438c-bf5a-d8c2bea39573","label": "Dist Group Two"},{"id": "936eb764-36c4-4ac6-b264-c532caeb217c","label": "Group Me Up Buttercup - Distribution"}]list
form_default_distribution_aad_groupsForm Default: AAD Distribution GroupsUsed so that if the form forces a default, this is the value supplied in the if statement. Example is [{"department": "Jesse"},{"department": "dam"}]list
form_default_email_domainForm Default: Email DomainUsed so that if the form forces a default, this is the value supplied in the if statementstring
form_default_license_skuForm Default: License SKUUsed so that if the form forces a default, this is the value supplied in the if statementlist
form_default_locationForm Default: LocationUsed so that if the form forces a default, this is the value supplied in the if statementstring
form_default_onprem_groupsForm Default: On-Prem GroupsUsed so that if the form forces a default, this is the value supplied in the if statement. Example is [{"id": "68c2878a-6739-438c-bf5a-d8c2bea39573","label": "Dist Group Two"},{"id": "936eb764-36c4-4ac6-b264-c532caeb217c","label": "Group Me Up Buttercup - Distribution"}]list
form_default_orgunitForm Default: OU (OrgUnit)Used so that if the form forces a default, this is the value supplied in the if statement. Example is [{"id": "fb53fb9f-208f-451c-9391-6092eb7c4e1b","label":"OU=Disabled Users,OU=Pedro Users,OU=Pedro Ltd,DC=ad2,DC=pedroaviary,DC=com"}]list
form_default_phone_numberForm Default: Default Phone NumberUsed in the workflow itself that if the org var is specified, it'll use it if none on the formstring
form_default_security_aad_groupsForm Default: AAD Security GroupsUsed so that if the form forces a default, this is the value supplied in the if statement. Example is [{"department": "Jesse"},{"department": "dam"}]list
form_default_supervisorForm Default: SupervisorUsed so that if the form forces a default, this is the value supplied in the if statementstring
halo_ticket_site_nameHalo Site Name OverrideThis org variable is used to define a site name in the Halo ticket creation sub workflow, if not defined then 'Main' will be used. This is only required if you would like to use something other than 'Main'string
hudu_create_contact_in_assetHUDU Create Contact In AssetUsed to create a contact in Hudu and the password and relate them togehterint
hudu_form_excluded_formsHudu excluded formsFor adding Rewst forms to Hudu, variable can be defined to set forms to ignore
itg_form_excluded_formsITGlue excluded formsFor adding Rewst forms to ITGlue, variable can be defined to set forms to ignore
itglue_custom_actionsIT Glue Custom ActionsIf the client uses ITG, this will trigger a subworkflow for actions in the user onboarding workflowbool
licencing_choose_subscriptionLicensing Choose SubscriptionUsed to decide whether the "Show Subs" option appears in New User Onboarding formbool
license_purchases_in_new_ticketNew Ticket for License PurchasesWhen prompting in tickets for license purchases, do so in a new ticket1 or 0 (boolean )
m365_mandatory_license_groupsMandatory Licensing GroupsIf you use license groups with Microsoft 365 you can specify those groups here. This allows you to create a group of licenses that the user will be added to if selected.list of group_names
m365_require_authorization_for_new_licensesRequire Authorization for License PurchasesPause workflows for Inquiry when new license purchases are needed1 or 0 (boolean )
m365_usage_locationM365 Usage Location (not in form)Country Code such as "US" or GB"str
ms_licensing_distributorMicrosoft Licensing DistributorMicrosoft License Distributor (where to purchase CSP licenses)pax8
microsoft_csp ingram_micro
sherweb
synnex
manual_only
new_user_approval_emailNew User Approval EmailWhen email approval is needed for new user adds, use this addressemail address
new_user_azure_ad_attributes_to_copyForm Default: new_user_azure_ad_attributes_to_copyUsed to specify which properties of the user being copied to apply to the new user Example is ["location","city","street_address","desk_phone","company","usage_location","department","user_title","mobile_phone","postcode","state"]list
new_user_manual_approver_fieldAdds a field on forms for specific approver emailAllows the field in New User to show up and add a specific e-mail approver1 or 0 (boolean )
new_user_on_prem_attributes_to_copyNew User On Prem Attributes To CopyDetermines which attributes Rewst copies from the existing user when setting up a new user, using the copy user method
new_user_password_save_location_custom_urlNew User Password Save Location Custom URLIn the event that we are storing a password in a custom PWPush, put the URL here
new_user_password_save_locationsNew User Password Save LocationWhere to store the password during new user creation. Default to PSA if not definedList of psa``itglue``hudu``custom-pwpushother systems
no_azure_adNo Azure ADORG Does not use AzureADbool
no_psa_mail_addressNo PSA - Mail to AddressIf there is no PSA, we will mail information to this addressstr email addr
offboarding_user_approval_emailOffboard User Approval EmailWhen email approval is needed for offobarding users, use this addressemail address
onboard_excluded_org_variablesOnboard Excluded Org VariablesThis org variable overrides the variables automatically excluded when you create a user using new employee onboarding.string
onboard_output_ignore_varsNew Employee Output Exclusion VariablesThis organization variable is used to override the default output configuration exclusions for the output_context variable. Example value: ["execution_id","organization","originating_execution_id","rewst","sentry_trace","trigger_instance","max_retries","sendMail_from_user_object"]list
onboarding_form_default_orgunitMicrosoft Onboarding Form Default: Organization Unit FieldUsed in the Microsoft Onboarding form at the Organization Unit Field which allows users to set a default OU, this is the value supplied in the if statement.Example Value: [{"id":"63111ab9-136e-4072-32a5-24221a331ded","default":true,"label":"OU=REWSTUsers,OU=Users,OU=RewstTest,DC=rewsttest,DC=local"}]
onprem_exchange_serverOn-Prem Exchange ServerServer name to use if you have on-prem ExchangeComputerName in RMM
onprem_hybrid_exchangeOn-Prem Hybrid ExchangeSet to true to identify this client as using Hybrid Exchange setup (Usage of Enable-RemoteMailbox)
onprem_no_adsyncOn-Prem No AD Sync (not in form)If there is no ADSync configured between on-prem and M365 (needs to be added manually)bool
override_email_domainsOverride Email DomainsList of email domains to show rather than querying from M365List of domains
pax_8_removal_ignored_subsN/AAdd product's to ignore based on the Microsoft product displaynameValue is expected to be a json formatted list such as ["O365DOMAIN_STANDARDW_PRIVACY"]
pax8_unmapped_alert_ignore_listPAX8 Unmapped Company Alert ExclusionsThis organization variable is used to specify a list of Rewst OrgID's to ignore when creating alerts for the alert_on_unmapped_orgs setting in the "Pax8 Extra License Removal" workflow of the "Alert on Unused M365 Licenses" cratelist
phone_number_formatPreferred Phone Number FormatFormat to use for phone numbers (stringifies ints with formatting)NXX NXX XXXX NXXNXXXXXX NXX-NXX-XXXX NXX.NXX.XXXX
preferred_domain_controllerPreferred Domain ControllerChoose this DC instead of letting automation decideComputerName in RMM
primary_identity_providerPrimary Identity ProviderSpecify where users are created for the organization, either on premise or in Azureon_prem
azure_ad
jumpcloud
psa_active_customer_statusActive Customer StatusesStatuses in PSA for active customer organizationsList of status types from PSA
psa_alert_ticket_typePSA Alert Type Variable (Halo)This organization variable is used to specify the ticket type for Halo PSA customers in workflows such as the DUO bypass user workflow and Exchange mailbox nearing quota workflow. The type id should be specified (example: 32)int
psa_all_notes_internalAll Internal NotesWhen adding notes, check if they should all be internal or allowed some externalbool
psa_custom_actionsPSA Custom ActionsUsed to allow a sub-workflow execution at the end of the new employee workflow (set to 1 to enable)bool
psa_custom_notePSA Custom NoteIf the client wants a custom note on a ticket, we can use this variable to branch off on update ticketsstring
psa_default_agreement_nameDefault Agreement NameIf you set a default agreement in your PSA on ticket creation, enter the name of it here.str name of agreement
psa_default_board_idDefault Ticket LocationThe default PSA board (or other organizing feature) that Rewst will use to create tickets on when running automations(depends on psa)
psa_default_tech_idDefault Tech IDTech Id to user when updating ticket timeid of tech to use for time entries
psa_default_tech_workroleDefault Work RoleTech Work Type to user when updating ticket timeid of tech work type to use for time entries
psa_default_tech_worktypeDefault Work TypeTech Work Role to user when updating ticket timeid of tech work role to use for time entries
psa_default_ticket_priorityDefault PriorityThe default ticket priority that Rewst will use when creating ticketsname or id of ticket status
psa_default_ticket_sourcePSA Default Ticket SourceUsed in the Datto creation of the ticket during new user workflow and defines the source of the ticketint
psa_default_ticket_statusDefault Ticket StatusThe default ticket status that Rewst will use when updating tickets. This is the status that Rewst will use when actively working on a ticket. It usually set to "In Progress" or a similar status.name or id of ticket status
psa_license_purchase_board_idBoard ID for License TicketsThe PSA Board ID to use when license purchases are in a separate ticketint board_id for CWM
psa_new_user_ticket_itemNew User Ticket ItemTicket Item to use on the New User Board when creating a ticketint for item_id in CWM
psa_new_user_ticket_subtypeNew User Ticket SubtypeTicket SubType to use on the New User Board when creating a ticketint for subtype_id in CWM
psa_new_user_ticket_typeNew User Ticket TypeTicket Type to use on the New User Board when creating a ticketint for type_id in CWM
psa_no_ticket_timeNo Time in TicketsSet this when you don't want automation to put time_worked in tickets. The "Yes" option will add notes in the ticket we create when running an automation. The "No" option will let us impersonate a technician to apply time under there name for automations that run. We do this because we can't apply time via the API for most PSAs.1 or 0 (boolean )
psa_send_from_addressSend From AddressWhen sending mail, we can set the "replyTo" address to this, to allow for proper ticket responsesstr email addr
psa_store_password_in_ticketStore Password in TicketWhen documenting the password, this will never store it in the ticket if set to falsebool
psa_ticket_status_completed_taskTicket Status when Workflow CompleteThe default ticket status that Rewst will use when we finish an automation. Consider this the "quality check" status to make sure everything ran properly.name or id of ticket status
psa_ticket_status_waiting_inputTicket Status while Waiting for InputThe default ticket status that Rewst will use when tickets are waiting for user input. This applies in cases where the automation will pause and prompt a technician to do an additional step outside of the automation before then returning to the ticket to confirm that action has taken place. This will then kickoff the automation to continue from the position it left off.name or id of ticket status
psa_vip_contact_typeVIP Contact TypeContact Type to set for VIP usersname or id of Contact Type
require_approval_for_new_usersRequire Approval For New UserControls the new user approval requirement.(1 or 0) or (true or false)
require_approval_for_offboarding_usersRequire Approval For Offboarding UsersControls the new user approval requirement.bool
rmm_preferred_adconnect_serverPreferred ADConnect ServerIf your ADConnect is on a specific server, specify it herestr hostname of server
send_sms_to_userForm Option: Send password via SMSSending passwords via SMS carries associated risks. Please be sure that your risk tolerance is considered before enabling this option.int
time_entry_ticket_statusTime Entry Ticket StatusSet tickets to this status to enable time entrystrStatus Name or int ID to use
user_start_date_actionUser Start Date ActionHow to handle start_date in user onboardingdefault document_only : only show in ticket
username_formatUsername FormatThe format of the users usernameflast firstl firstmlast
get_subscribed_products_show_freeDirect LicensesAllows the user to remove a condition that filters licenses with a Prepaid unit value greater than 1000000. This will usually result in licenses such as PowerBI Free to show up as an option.true(string)