[REWST - TASK] PSA-KaseyaBMS: Upsert Contact
This workflow automates contact creation and updates in Kaseya BMS by checking if a contact exists via ID or email, then either updating it or creating a new one. It’s ideal for MSPs automating onboarding, user provisioning, ticketing, or syncing across platforms, ensuring clean, duplicate-free records. The logic follows a decision tree to determine the right action, executes the proper API call, and includes error handling to save time and keep contact data consistent across systems.
This workflow contains 9 tasks.
Inputs
psa_contact_id - string
Specify the Contact to update, if known
existing_ticket - string
Specify the existing ticket id in order to update an existing ticket. If none specified, we will create a new ticket.
user_attributes - object
Specify the user object that includes the user properties
Default:
{{ { } }}
psa_disable_contact - boolean
Specify whether to disable the contact if found. Defaults to false.
Default:
{{ false }}
psa_contact_location - string
Specify the location for the contact to be created under
Outputs
automation_log: Standardized Rewst automation log
Key tasks
check_contact_found: Validation/verification
determine_upsert: Core integration: noop
no_update_contact_endpoint: Data modification
bms_list_contacts_id: Kaseya BMS integration: Get Contact by ID
bms_list_contacts_email: Kaseya BMS integration: List Contacts
Jinja examples
Example 1
This is used in transition condition to see if a email was provided.
Example 2
This is used in transition condition to see if a contact ID was provided.
Last updated
Was this helpful?