Welcome, everyone.
In this session, we will be talking
about automatic Zoom Room deployment
on macOS and iOS using Jamf Setup
and Workato.
I am Steven Wick.
I am a senior endpoint engineer
at TripActions,
and I have been utilizing Jamf
for about 10 years
to solve different technical challenges.
And this is my colleague, Deri.
Hi, everyone.
My name is Deri,
and I'm leading the TripActions endpoint
engineering teams that manage not only
Macs but also Windows 10 or 11 fleets.
I have been utilizing Jamf since 2017.
Back to you, Steve.
Awesome.
So Zoom Room Automation, we'll dive
into the problem, the integration
with Workato, and then Jamf setup
for the iOS automation.
The problem we were running into is,
due to company growth and expansion,
we needed a fast way to stand up
Zoom Rooms quickly and remotely
without needing IT on site
to help configure them.
We had three main goals to achieve this.
We needed to automate the process
start to finish,
IT support needed to be able to be
taking place remotely,
and we needed to ensure
that our solution could scale.
We started by researching
potential solutions.
Shout-out to James Smith and his article
about automated Zoom Room configuration
for the extension attributes.
This really showed us our solution
was possible.
First, we needed to set up the resources
in Zoom and then create
extension attributes for the
activation code from Zoom.
And then once those two pieces
were in place, we utilized
the Inventory Preload within Jamf
to dump the information onto the record
for the iOS and the Mac devices.
In order to really have this automation
be successful, we needed to standardize
the process from start to finish.
The current hardware needed to be uniform,
with a Mac for the display
and a iPad for the room controller
and scheduling displays.
We needed to establish a Zoom Room
deployment workflow, which we utilized
DEPNotify for all of our Mac minis.
And we wanted to make sure that
we didn't have multiple pre-stages
because this would be a manual process
that we would have to verify
which pre-stage the machine was
prior to first boot.
And that leaves potential room for error.
And I will pass it over to Deri
for the Workato integration piece.
Thank you, Steve.
So I will walk through a couple
of things regarding the Workato
integrations that we have.
First, I'm going to briefly explain
what is Workato and then
extension attributes for Zoom data,
Jamf inventory preloads,
automation recipe, of course,
the automations in actions.
Workato is the leading enterprise
automation platforms.
Workato helps you to automate
business workflow across cloud
and on-premise apps.
For example, it automates
code-to-code CAS business processes,
which may involve transferring data
between apps such as Salesforce,
NetSuite, Bill.com, and Optus.
Workato combines
an enterprise-grade workflow automations
platform with the ease of use expected
from consumer apps,
enabling both business and IT users
to quickly build workflow automations.
In our automations workflow or,
what we call it, our Workato recipe,
we utilize the extension attributes
from Jamf Pro.
So due to how Jamf handles payloads
for variables in custom configurations,
we will be using the Room field
under the User and Location sections
of the device record
to hold the activation codes
of the Zoom Rooms.
Because the iPad's version of Zoom Rooms
allows configurations as, you know,
either a controller or a
scheduling display, we will need to create
a new extensions attribute called
iPad Type to hold these informations.
The inventory preload settings allow you
to upload computers and mobile device
inventory data before device are enrolled.
The preloaded data will be applied
to computers and mobile device
when inventory is collected based
on a matching serial number.
So the keyword here is a serial number,
and that's what we employ as well
in our automations.
So once you've got a serial number
for each device,
let it Mac or iPad devices,
you can start populating the inventory
preload for Zoom Room deployments.
If these devices haven't been enrolled
before, this data will be staged
with Jamf until they enroll
for the first time.
If they are already enrolled,
you will see this data appear.
It records for the next time it performs
a record.
And next, I'm going to show you
what is actually automations,
our Workato recipe.
A recipe are automated workflows built
by users that can span multiple apps,
such as, you know, moving new account
from Salesforce into Zendesk
as a new organization.
Each recipe comprises of trigger and one
or more actions that are carried out
when a trigger event is picked up.
And then it, you know, has,
also, a connection.
So a connection is, when you start
building a recipe,
the first step is establishing
a connection between Workato and an app.
So each connection is associated
with one instance of the app,
such as a user account,
and can be reused across recipes.
And the next is triggers.
So triggers determines what events
to listen to execute the actions
described in a recipe,
for example, when a new line is added
in a Google Sheet,
like the one what we employ
in our workflow.
And then the last one is actions.
Actions carry out an operation
in your target apps,
such as create, update,
or search operations.
So each action requires a set of input
fields and typically returns data.
So I'm going to walk you
through the automations demo.
So here, you can see that the Workato
recipe will monitor for any changes
in Google Sheets, specifically
the column Actions with its contents
equal to yes.
So for each changes that the recipe found
that matched the trigger,
it will go through each individual row.
It will then search
for the serial number
in the lookup table.
If a serial number is found that match
the serial number in the lookup table,
the update operations to the inventory
preload will be carried out
and output the result
into a Slack channel.
And if the serial number
is not found in the lookup table,
it then will go
to create the new inventory preload
in Jamf, which, you know,
using the API call that we have.
And that will update the lookup table
with the inventory ID
that we get from the Jamf API call
and then also update the lookup table
with the serial number of the device
and also the device
that is a computer or a mobile device.
And then if everything is, you know,
successful, then it will go in to update
the Google Sheet with each [indistinct]
row that says in the column Complete
to Yes and then post the result
to a Slack channel.
And then we are moving on to automations
in real life, and that is starting
from when we update the Zoom Room
Deployment Google Sheet that we have
and connect it to Workato.
So this is one of the apps that we are--
you know, integration that we integrate
with Workato.
It's a Google Sheet, and then we have
a Jamf Pro API custom script
that we created,
which we're going to be shared
in the Workato community connectors.
And here, as you can see,
that it comprises of locations,
and then there is a column named
Short Zoom Rooms, and then
username, email address,
which you need to fill in.
And then there is iPad Type, which was
discussed before, either as a controller
or as scheduling a display.
So for the first one that we are going
to input is for the Mac mini.
And then the next one,
we're going to input for the iPad.
You choose your Zoom Rooms, whatever
abbreviation that you have for setups,
and then the serial number is the key
here of the iPad.
And then if is it an iPad,
you need to choose as a Mobile Device.
And then for the Room columns,
you need to enter the Zoom Room
activation code, which you will get
from Zoom Room admin consoles.
And here, as we know,
we want to make sure that every devices
that we have, the trip actions correlate
to, you know, certain user accounts
or email address.
So that's why we have these Zoom Rooms
at TripAction.com
as the usernames and email address.
And of course, you use Controller,
because we're going to dedicate
this iPad as a controller
for the typical Zoom Rooms.
And when you're ready to--
for Workato recipe to be able to pick up
the change on this Google Sheet,
you need to specifically type Yes
on the Actions column on both rows.
When it is done, normally it's gonna take,
you know, for the Workato recipe
to pick up the change within five minutes.
But we're going to fast forward.
And after a couple of seconds,
you will see here that we could have
the selection being updated with all the
changed inventory preload data
we uploaded to Jamf.
And if you want--potentially, you want--
it doesn't matter how many rows
that you add, right?
For example, multiple rows,
the important keyword is that Action
column should always to Yes
if you want a recipe to pick up
those rows.
And here, as you can see,
it has been updated,
and there is a Jamf inventory ID 78
and 79, which correlate
to our Google Sheets.
And here, as you can see,
the Completed column has been updated
as well to Yes.
With that, I'm going to hand over
to Steven.
All right.
So this is the Mac DEP demo.
So at this point, what we will do
is demo this process
from start to finish.
So we have a new Mac that we're
setting up out of the box through DEP,
and we'll go through the setup.
This is the Jamf Connect screen that
we'll go ahead and log into the device
and kick off the initial creation
of the account locally on the Mac.
And then the next screen that will pop up
is the Welcome to TripActions.
This is utilizing DEPNotify.
Basically, what we're having to do
at this point is check the Rosetta
requirements, install the Zoom Room
application, install Google Chrome.
And this will then kick off directly
into the Zoom Room application
and have it preloaded
with the correct information
for the actual Zoom activation code.
So as you can see, this point
is completely stood up and ready to go.
The Zoom Room is completely activated,
and we don't have to touch anything else
on this device.
For the next piece,
we'll tackle the Jamf Setup
for iOS automation.
Jamf Setup allows the end user to make
selections of the configuration that
will be applied to their device.
It utilizes the custom extension
attributes created to pass values,
which can be utilized to trigger
Smart Group membership
and install applications
and configuration profiles while still
maintaining that one pre-stage enrollment
that we're looking for.
So this is the Jamf Setup logic.
What this is basically showing is,
Jamf Setup is launched.
If you have an identity provider,
you can utilize that information
automatically to identify the user
and deploy these parameters
without actually having any user input.
Due to the nature of our devices
mainly being shared use devices,
we have left it up to the user to decide.
So a user chooses any role
that they select.
In our case, it will be
the Zoom Room configuration.
This deploys the Zoom Room ASAM,
which is the guided access
via the Zoom admin console.
And then this solution we were looking
for to have multiple different
use cases.
So this kind of allows us to have
each iOS device set up and configured
to account for any possible
use case across the company.
So now, we will go ahead
and see this in action.
So this is the application.
We'll just select
the Zoom Room configuration.
You hit Next and it kicks off
the install for the
Zoom Room application.
This is already preloaded with all
the information from the earlier
Workato steps.
And as you can see, the device is set up
and ready to go automatically.
And we'll just kick off a meeting
to make sure that we're in business
and we're all squared away.
So the solution we basically came to
to accommodate our expansion,
this automation workflow allows us
to streamline the process for standing up
Zoom Rooms, enable troubleshooting
support to take place remotely,
and provides us a way to continue
to grow and scale as we add more
locations and more Zoom Rooms.
And thank you, guys, for listening.
And I hope you learned something
during this session.
If you have any questions,
feel free to reach out via chat
and we'll be in touch.
Thank you so much.