Easily switch between several configuration files with the command line.
With the --save flag the application stores the last configuration as the one to use if none is specified
Push a custom configuration profile to the Mac and ask the application to use it to change its interface and behaviour instantly.
Reload the application interface to see the changes instantly.
Simulate an enrolment to see the monitors updating.
Deactivate it when deploying.
Save all user inputs at a specific file path.
Choose the file format to store the user inputs: Json or Plist.
Define your own variables to reuse them everywhere in the Plist.
Name and use a variable associated to a value entered by the user.
Customise the window type: simple window, window with a blurred background, fullscreen window, and menu bar window.
Choose the appearance: width and height, the title, the position, title bar hidden...
Choose the window behavior: closable, resizable, draggable...
Position the window horizontally (left, center, right) and vertically (top, center, right).
Execute a script when the app terminates, depending on the installation successful completion.
Prevent the user from using the classic shortcut to quit.
Prevent the user from quitting the application if the installation is not complete.
Choose a shortcut to force quit the application.
Use system placeholder like the device UUID or the current logged in user name. More info.
System placeholders: Octory directory, User name, User full name, User first name, User last name, Device model name, Device marketing model name, Device name, Device serial number, Device UUID, Device processor.
Application placeholders: Current slide validity, Current slide index, Installation completion.
Slides, containers and navigation
Navigation between slides.
Possibility to hide navigations buttons for a specific slide or all the navigation view.
Customise navigation buttons text and color.
Slide validation when displaying forms or monitors installation with a custom informative text. Prevent the user to move to the next slide.
Display between 1 and 3 containers.
Two Containers can share their slide width as 2/3-1/3 or with custom width ratios.
Containers have customs margins and custom border color.
A Container holds several component stacked vertically.
UI core component. Stacked vertically in a container. No limit.
Custom margins, border with a custom color and width.
All input components values are saved in a Json or Plist file.
Each input component has a validation feature to force the user to respect custom rules. If not respected, the validation displays a custom warning message and prevent to quit or move to the next slide.
A custom text label can be displayed to the left of each input component.
Display a text area.
Possibility to customise the font, text alignment and text color.
Display a local or online image.
Specify the height or take all available height.
Add vertical space.
Fixed height or take all available height.
Save user inputs or display a message in the log.
Simple syle with a text or Info style a with an info icon.
Text color or image color can be customised.
Display a local or online website.
Scrolling on the pages can be customised.
Take all available height.
Display a local or online PDF document.
Disable or enable the links in the document
Take all available height.
Play a local or online video.
Optionally hide the controls.
Optionally mute the video.
App monitor component
Display a list of the monitors (file, app) and their installation state.
Take all available height.
List input component
Choice among a list of items.
Custom message validation displayed before the user chose a value.
Validation to force the user to user a value.
Text input component
Text field to enter information.
Regular expression validation.
Checkbox input component
Boxes to check.
Validation to force the user to check a box.
Monitors applications or packages installed with Jamf, Workspace ONE (AirWatch) and Munki, App Store (VPP).
Customise the monitors image, text, and text color.
Monitor files presence and use the generated variables.
Play a system or a custom sound when all monitors (apps, mandatory files) are installed.
Prevent the user to quit until all monitors (apps, mandatory files) are installed.
Programmatically send monitor installation states updates with octo-notifier.
Add conditions on internal variables such as a file presence, the current slide index or the user name to execute actions conditionally.
Add conditions on user inputs.
Conditionally insert or remove components with an animation.
Conditionally insert or remove monitors in an App monitor component with an animation.
Conditionally execute an action set or an action.
Group actions to execute in sets.
Execute actions sets depending on triggers.
Conditionally execute an actions set or an action.
Execute an actions set when certain events happens.
When the application just launched.
When the application will terminate.
When the user clicks a button component.
When the user clicks the previous or next navigation button.
When a variable is updated. For example when the placeholder INSTALLATION_COMPLETE becomes true, or when the user entered a value in an input component.
When anothr application is launched
When a custom trigger event is sent with a button, octo-notifier or a notification action.
Restart the computer.
Shutdown the computer.
Asleep the computer.
Log out the user.
Execute a bash command with root rights. Pipes are supported, e.g. ls /System | grep Applications Store the output in a variable.
Execute a script with root rights. Arguments from the application are supported, like variables. Store the output in a variable.
Execute a Jamf policy.
Send a request to an API (currently supported: Jamf, Jamf Pro and Workspace ONE).
Store the response in a variable or send a body containing internal variables, for example the device identifier.
Specify the variable you want to store with a simple path. For example general->computers->->name.
You credentials are safely stored in the system keychain through the Helper.
Display a custom alert. Store the user choice in a variable.
Play a system or a custom sound.
Open a slide in another window
Display a local notification to the user.
Navigate to a specific slide
Some actions offer you the possibility to store the result into a variable, when it is relevant to do so.
You can then reuse this variable in an other action, or in a condition. For example, you might get a mobile profile identifier with a custom bash command, and use it to send a specific information in an API request.
Display markdown text in a popover window.
The text can be stored in a file.
Font and color customisable.
Sidebar a container
Display a fixed container in the right side
The container will not be affected by the slides navigation
Start the video automatically or replay it when it finishes
Menu bar icon
Choose a specific icon like your brand logo to display in the menu bar, rather than the Octory icon.