Best way to deploy Immy to computers sent directly to client without being there in person?

Hi there!
We are slowly testing/deploying Immy. Our CEO wants to have the functionality to lower the amount of on-site visits or being able to deploy Immy straight to remote clients. We want to launch Immy straight from startup (same way we do with USB) but having trouble figuring out best way to do this? Looking to see if this is possible or if there is a good workaround?

Thanks in advance!

2 Likes

We provide a flash drive to every client with their own tenant.

I am looking into the same request from our CEO. We are looking into an imaging service offered by our vendor to install an updated/debloated OS image with an Immy .ppkg pre-applied. This only allows us to deploy a generic onboarding immy instance though, no auto onboarding or pre-set user.

To apply a .ppkg to a .WIM file;

You have to mount the image file first.

1 Like

I only have our internal imaging go to an onboarding tenant first (with no onboarding).

Then I am using a series of Rewst automations to review our PSA’s project ticketing/configurations to determine what Immy Tenant to move it to and start onboarding.

If you have a tool like that, it could fit in well in your process.

1 Like

I recently started at an MSP in an automation role and we use Rewst too. How did you set this up? This was actually on my list to setup!

Here is my Documentation of this process. This uses the new computer in onboarding state Immybot trigger in Rewst - This requires that we make a base config in Connectwise PSA with the serial # (which you should be scanning when you receive products, yes?). Then then Immybot Win11 pkg I have puts it into a default onboarding tenant that has 0 deployments.

Overview

This workflow automates the onboarding process for new PCs by integrating ConnectWise PSA and ImmyBot. It retrieves configuration information from ConnectWise PSA, matches the device to the appropriate ImmyBot tenant, and initiates the ImmyBot onboarding process. The workflow also handles asset tagging and creates project ticket notes to document the onboarding.

 

Integrations Used

Integration Purpose
ConnectWise PSA Retrieve configuration/asset information and create project ticket notes
ImmyBot List tenants, change tenant assignment, add tags, and trigger onboarding
Workflows (Subworkflow) Locate project ticket information

Input Parameters

Parameter Description
id The ImmyBot Computer ID of the device to onboard
serialNumber The serial number of the PC to onboard

Workflow Process Flow

Phase 1: Initialization

Task Action Description
START Core: noop Initializes workflow and publishes serial_number and immy_computer_ID from input parameters

Phase 2: Configuration Lookup

Task Action Description
Get_Configuration ConnectWise PSA: List Configurations Queries ConnectWise PSA for configuration matching the serial number. Publishes:
  • cwm_company_name
  • cwm_company_id
  • cwm_config_id
  • cwm_tag_number

Phase 3: ImmyBot Tenant Matching

Task Action Description
immy_bot_list_tenants ImmyBot: List Tenants Retrieves all ImmyBot tenants and uses sophisticated Jinja logic to match the correct tenant based on company and site name from ConnectWise configuration. Publishes immy_tenant_ID
Change_Immy_Tenant ImmyBot: API Request Moves the computer to the matched ImmyBot tenant via POST to /computers/change-tenant

Phase 4: Asset Tag Check & Conditional Branching

Task Action Description
Check_if_asset_tag_exists Core: noop Decision point that checks if CTX.cwm_tag_number exists. Routes to different onboarding paths based on result.

Branch A: Asset Tag EXISTS

Task Action Description
Tag_for_Tagged ImmyBot: API Request Adds tag ID 138 to the computer in ImmyBot via POST to /computers/add-tags
Start_Immy_Onboarding_with_Tag ImmyBot: API Request Initiates ImmyBot onboarding with the asset tag value included in maintenance task parameters via POST to /run-immy-service

Branch B: No Asset Tag

Task Action Description
Start_Immy_Onboarding ImmyBot: API Request Initiates standard ImmyBot onboarding without asset tag via POST to /run-immy-service

Phase 5: Project Ticket Documentation

Task Action Description
workflows_amplitel_onboard_pc_via_project_subworkflow_1_project_ticket_location Subworkflow Executes subworkflow to locate the associated project ticket. Publishes result as cwm_matched_project_ticket_info
connect_wise_psa_create_project_ticket_notes ConnectWise PSA: Create Project Ticket Notes Creates a note on the project ticket documenting: "PC with serial number [serial_number] found in ImmyBot and onboarding started"

Phase 6: Completion

Task Action Description
END Core: noop Workflow completion point (join task)

Workflow Diagram

START
  β”‚
  β–Ό
Get_Configuration (ConnectWise PSA)
  β”‚
  β–Ό
immy_bot_list_tenants (ImmyBot)
  β”‚
  β–Ό
Change_Immy_Tenant (ImmyBot)
  β”‚
  β–Ό
Check_if_asset_tag_exists
  β”‚
  β”œβ”€β”€β”€ [Asset Tag EXISTS] ──► Tag_for_Tagged ──► Start_Immy_Onboarding_with_Tag ───┐
  β”‚                                                                                  β”‚
  └─── [No Asset Tag] ──────► Start_Immy_Onboarding ────────────────────────────────
                                                                                    β”‚
                                                                                    β–Ό
                                                    Subworkflow: Project Ticket Location
                                                                                    β”‚
                                                                                    β–Ό
                                                    Create Project Ticket Notes (ConnectWise PSA)
                                                                                    β”‚
                                                                                    β–Ό
                                                                                   END

Context Variables

Variable Source Description
serial_number Input PC serial number
immy_computer_ID Input ImmyBot computer identifier
configinfo Get_Configuration ConnectWise configuration data
cwm_company_name Get_Configuration Company name from ConnectWise
cwm_company_id Get_Configuration Company ID from ConnectWise
cwm_config_id Get_Configuration Configuration ID from ConnectWise
cwm_tag_number Get_Configuration Asset tag number (if exists)
immy_tenants immy_bot_list_tenants List of ImmyBot tenants
immy_tenant_ID immy_bot_list_tenants Matched ImmyBot tenant ID
cwm_matched_project_ticket_info Subworkflow Project ticket information

ImmyBot Onboarding Configuration

The ImmyBot onboarding is configured with the following settings:

  • Full Maintenance: Enabled
  • Skip Background Job: Enabled
  • Offline Behavior: Mode 2
  • Reboot Preference: 0 (No automatic reboots)
  • Prompt Timeout: 5 minutes
  • ThisMachineHasNoPrimaryUser: Set to true

Dependencies

  • Subworkflow: Onboard pc via project - subworkflow 1 - project ticket location
  • ConnectWise PSA Integration: Must be configured with access to Configurations and Project Tickets
  • ImmyBot Integration: Must be configured with API access

Error Handling

The workflow includes error handling at key points:

  • The subworkflow task routes to END on failure
  • The Create Project Ticket Notes task routes to END on both success and failure
3 Likes

I setup a golden image with each of our vendors, and they apply that before the computers ship to users. have them turn it on and connect to wifi and it’ll run onboarding, and go into a special tenant. it did take me an embarrassingly long time to figure it out, and each vendor has their own tool to capture the image, but it’s saved tons of time.