Features exhaustive list

Version 2.1.0



  • 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.
Admin menu

  • Reload the application interface to see the changes instantly.
  • Simulate an enrolment to see the monitors updating.
  • Deactivate it when deploying.
User input

  • 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).
App termination

  • 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.
  • Display: Text, Image, Spacer, Button, Web, AppMonitor.
  • Input: List, Text, Checkboxes.
Input component

  • 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.
Text component

  • Display a text area.
  • Possibility to customise the font, text alignment and text color.
Image component

  • Display a local or online image.
  • Specify the height or take all available height.
Spacer component

  • Add vertical space.
  • Fixed height or take all available height.
Button component

  • 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.
Web component

  • Display a local or online website.
  • Scrolling on the pages can be customised.
  • Take all available height.
PDf component

  • Display a local or online PDF document.
  • Disable or enable the links in the document
  • Take all available height.
Video component

  • 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.

Octory Pro


  • 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.
Termination actions

  • Restart the computer.
  • Shutdown the computer.
  • Asleep the computer.
  • Log out the user.
Execution actions

  • 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.
API actions

  • 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->[2]->name.
  • You credentials are safely stored in the system keychain through the Helper.
Interaction actions

  • 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
Actions variables

  • 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
Video component

  • 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.