Organizational Unit structure

Read as Markdown

Table of contents

What is an Organizational Unit?

Within Cronofy, an Organizational Unit is a container within which various things can be managed. From a permissions perspective it creates a hard boundary to other entities within Cronofy.

Though various mixtures are possible, we typically see two “shapes” of Organizational Unit:

  • Integrator - created for the management of an integration
  • Customer - created to enable a company’s employees to schedule via Cronofy

Integrator Organizational Units #

Integrator Organizational Units primarily exist to manage the Cronofy applications that the integrator is building against.

Members of the Organizational Unit will be people from IT, operations, and software development who need access to one (or more) of the applications falling under the Organizational Unit’s jurisdiction.

Access can be granted at the Organizational Unit level, for example granting the Ops Admin access to all Applications, or at the individual level, for example providing the Developer access only to the Staging and Development applications.

Example #

Integrator Organizational UnitDiagram of an integrator Organizational Unit holding three applications, Production, Staging, and Development, and three members, an Ops Admin, an Engineering Manager, and a Developer.ProductionStagingDevelopmentOps AdminEngineering ManagerDeveloperOrganizational UnitApplicationsMembers
Integrator Organizational Unit
Description
  • The Organizational Unit holds the integrator’s applications: Production, Staging, and Development.
  • It also holds its members: an Ops Admin, an Engineering Manager, and a Developer.

Customer Organizational Units #

Customer Organizational Units primarily exist to manage the scheduling setup of a whole company, or a specific business unit within a wider company. Such configuration starts with calendars, but will often cover video conferencing and other integrations that need to be configured to support their scheduling workflows.

Integrations can be provided directly by Cronofy, but also by integrators using Cronofy’s API.

For this configuration, access is generally only role-based. The Ops Admin has the ability to manage the various integrations, setting up calendar access, configuring provisioning rules for members, and such like.

The Scheduling Coordinator would be given the ability to manage scheduling rules, groups, and perform scheduling operations on behalf of other members.

The general employees will usually have much more restricted access, for example seeing the events that have been scheduled, though this is rarely used as their calendar is the easiest source of this information.

Onboarding #

Onboarding for employees can take many forms:

  • Manually, on a member-by-member basis
  • Automatic, based on presence within an organization directory
  • Automatic, but based on a group within an organization directory

For SMEs we usually see a straightforward “one Organizational Unit for everyone” approach, often with automatic onboarding for new employees based on them being added to the organization’s directory.

For larger companies, the picture is more mixed. Many still take the “one Organizational Unit” approach, but we also see Organizational Unit per business unit, per function, function within business unit, and even for specific projects. These are all supported by Cronofy, allowing people to draw the boundary lines where they see fit.

Examples #

General case #

Customer Organizational UnitDiagram of a customer Organizational Unit holding its integrations, a calendar provider, a conferencing provider, and an integrator's application, and its members, an Ops Admin, a Scheduling Coordinator, and the employees.Calendar providerConferencing providerIntegrator applicationOps AdminScheduling CoordinatorEmployee AEmployee BEmployee ...Organizational UnitIntegrationsMembers
Customer Organizational Unit
Description
  • The Organizational Unit holds the company’s integrations: a calendar provider, a conferencing provider, and an integrator’s application.
  • It also holds its members: an Ops Admin, a Scheduling Coordinator, and employees A, B, and so on.

Multiple calendar hosts #

Organizational Unit with multiple calendar hostsDiagram of a customer Organizational Unit with Microsoft 365 and Google calendars, where the Scheduling Coordinator and Employee A use Microsoft 365 and Employee B and other employees use Google.Ops AdminSchedulingCoordinatorEmployee AEmployee BEmployee ...Microsoft 365CalendarsGoogleCalendarsOrganizational UnitMembersIntegrations
Organizational Unit with multiple calendar hosts
Description
  • The Organizational Unit holds two calendar integrations, Microsoft 365 Calendars and Google Calendars, and its members.
  • The Scheduling Coordinator’s calendar is in Microsoft 365.
  • Employee A’s calendar is in Microsoft 365.
  • Employee B’s calendar is in Google.
  • Other employees’ calendars are in Google too.
  • The Ops Admin isn’t connected to a calendar in this example.

Per-business unit #

Organizational Unit per business unitDiagram of a company with separate Sales and Support Organizational Units, each with its own calendars, conferencing, and integrator application, and its own members.Microsoft 365CalendarsZoomHubSpotOps AdminSalesManagerAccountExec AAccountExec BAccountExec ...Microsoft 365CalendarsZoomZendeskOps AdminSupportManagerSupportAgent ASupportAgent BSupportAgent ...Sales Organizational UnitIntegrationsMembersSupport Organizational UnitIntegrationsMembers
Organizational Unit per business unit
Description
  • The Sales Organizational Unit holds Microsoft 365 Calendars, Zoom, and HubSpot as its integrations.
  • Its members are an Ops Admin, a Sales Manager, and Account Execs A, B, and so on.
  • The Support Organizational Unit holds Microsoft 365 Calendars, Zoom, and Zendesk as its integrations.
  • Its members are an Ops Admin, a Support Manager, and Support Agents A, B, and so on.

Integrating against Organizational Units #

For an integration to be active for an customer Organizational Unit, there needs to be an authorization connecting their Organizational Unit to an integrator’s application.

This is achieved by an administrator of the customer’s Organizational Unit going through an Organization Connect OAuth-based authorization flow. The initiating Cronofy application then receives an access and refresh token it can use to perform permitted operations on the customer Organizational Unit’s behalf via Cronofy’s platform.

Authorizing access to a customer Organizational UnitDiagram of an integrator's application connected to a customer Organizational Unit through an authorization.Integrator ApplicationAuthorizationCustomer Organizational Unit
Authorizing access to a customer Organizational Unit
Description
  • The integrator’s application holds an authorization.
  • The authorization gives it access to the customer Organizational Unit.

The integrator’s application then maintains a separate authorization for each customer Organizational Unit:

An authorization for each customerDiagram of an integrator's application connected to customers A, B, C, D, and more, each through its own authorization.IntegratorApplicationAuthorizationCustomer AAuthorizationCustomer BAuthorizationCustomer CAuthorizationCustomer DAuthorizationCustomer ...
An authorization for each customer
Description
  • The integrator’s application holds a separate authorization for each customer Organizational Unit.
  • One authorization gives it access to Customer A’s Organizational Unit.
  • Another gives it access to Customer B’s, and likewise for Customers C and D and any further customers.

In the case where a company has multiple Organizational Units, the integrator’s application must obtain a separate authorization for each one:

An authorization for each of a customer's Organizational UnitsDiagram of an integrator's application connected to Customer A's Sales, Support, and Hiring Organizational Units, each through its own authorization.Integrator ApplicationAuthorizationCustomer A SalesAuthorizationCustomer A SupportAuthorizationCustomer A Hiring
An authorization for each of a customer's Organizational Units
Description
  • The integrator’s application holds a separate authorization for each of Customer A’s Organizational Units.
  • One authorization gives it access to Customer A’s Sales Organizational Unit.
  • Another gives it access to Customer A’s Support Organizational Unit.
  • A third gives it access to Customer A’s Hiring Organizational Unit.