# Install on Neat (Neat Pulse)

With Room System, Mago turns a Neat device into a fully independent meeting room. The room calendar is displayed on screen, meetings can be joined or started with a single tap, and a Neat Pad or Wireless Touch Controller lets anyone in the room manage the session.

### Installation steps

{% stepper %}
{% step %}

### Check hardware and peripherals

You will use a Neat Bar or Neat Bar Pro connected to a passive external display via HDMI, or a Neat Board or Neat Board Pro with integrated display and AV peripherals. See [neat-devices](https://kb.mago.io/certified-devices/neat-devices "mention") for the list of certified Neat devices.
{% endstep %}

{% step %}

### Prepare the Touch Controller

If you are using a Neat Bar Gen 2 with a Neat Pad, the Pad serves as the Touch Controller and no additional hardware is required.

If you are using a Neat Bar Gen 2 in BYOD mode without a Neat Pad, or a Neat Board (optionally), you will use an iPad (iPadOS 13+) or Android tablet (Android 10.0+, minimum resolution 1024x600) as a wireless Touch Controller. See [wireless-touch-controllers](https://kb.mago.io/requirements/wireless-touch-controllers "mention") for instructions. The wireless touch controller tablet requires an active Wi-Fi internet connection.
{% endstep %}

{% step %}

### Prepare the network

Connect the device to wired Gigabit Ethernet. Verify that the connection provides at least 2 Mbps of internet bandwidth. Configure firewall rules and FQDN allowlisting according to the [network](https://kb.mago.io/requirements/network "mention") requirements. Proxy connections are not supported.
{% endstep %}

{% step %}

### Prepare wireless screen sharing

**Mago Link** allows any user to share their screen by visiting [magolink.com](https://magolink.com) from a browser on their laptop or mobile. No app install is required. Verify that the network meets the requirements described in [mago-link](https://kb.mago.io/requirements/presentation/wireless-screen-sharing/mago-link "mention").
{% endstep %}

{% step %}

### Authorize the Mago app in your organization

Before Mago can access **room calendars** and **video conferencing services** on behalf of your organization, a tenant administrator must grant consent to the Mago application in your identity or services provider, such as Microsoft 365 or Google Workspace.

This is a one-time operation that authorizes Mago to request the permissions it requires, such as reading calendar events and authenticating meeting participants.

{% hint style="warning" %}
Without this consent, devices will not be able to display room calendars or join meetings as authenticated participants.
{% endhint %}

Select your provider below and follow the setup steps.

{% tabs %}
{% tab title="Microsoft 365" %}
When using Mago with Microsoft 365 room resources and users, the Mago app for display and Mago mobile app access Microsoft 365 services through the Microsoft Graph and Azure Communication Services APIs. To enable these features, a tenant administrator must grant consent to the Mago enterprise application.

{% hint style="success" %}
Mago is a verified enterprise application in the **Microsoft Entra app gallery** (application ID `17781659-6867-4c77-9ba3-40670305181c)` and it is listed under the official **Azure Marketplace**.
{% endhint %}

#### Add the Mago application to your tenant

Open [admin.mago.io](https://admin.mago.io/) and sign in with a Microsoft 365 account that has **Global Administrator**, **Application Administrator**, or **Cloud Application Administrator privileges**. When prompted, review the requested permissions and select "Accept" on behalf of your organization. The Mago application is now registered in your tenant.

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2FSBktWH6jXKKddXFxxkng%2Fmago-admin-center-signin.jpg?alt=media&#x26;token=c43b0523-dd1e-41c8-ad4f-3128de74f9f6" alt="" width="375"><figcaption></figcaption></figure>

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2FN9mgBPd1TFeHfU552urg%2Fmago-admin-consent.webp?alt=media&#x26;token=e5c8903b-50cf-4b05-a05d-8cfe473e7949" alt="" width="375"><figcaption></figcaption></figure>

#### Grant admin consent to the required scopes

To review and grant admin consent to the required scopes in the Mago application permissions:

* Open the [**Azure portal**](https://portal.azure.com/) and sign in with a Microsoft 365 Administrator account.
* Go to Microsoft Entra ID > Enterprise Applications (or search directly for "**Enterprise Applications**").

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2FiBdqVUpQpQSLQNL4Bkj2%2Fenterprise-apps.webp?alt=media&#x26;token=bb4655ed-312c-4e3f-b80f-c39eb9fc2b96" alt=""><figcaption></figcaption></figure>

* Under the Application list, search for "**Mago**" (Application ID `17781659-6867-4c77-9ba3-40670305181c`).

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2FWFi1wmwO2BlhLbgwTSM2%2Fenterprise-apps-mago.webp?alt=media&#x26;token=d07d68d8-774a-43d5-af96-76624b67bc67" alt=""><figcaption></figcaption></figure>

* Enter the Mago application, go to **Security** > **Permissions** and verify that admin consent has been granted to the required scopes. To grant admin consent to all the required scopes, click the "Grant admin consent for *YourCompanyName*" button.

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2F5Hql2RRyQEziNdUZfP4Z%2Fenterprise-apps-mago-grant.webp?alt=media&#x26;token=d6b8ad4b-6d29-468c-b84f-0830557e8703" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
See [microsoft-365](https://kb.mago.io/requirements/third-party-providers/microsoft-365 "mention") for **Advanced consent options** and the full list of **Required features and scopes**.
{% endhint %}
{% endtab %}

{% tab title="Google Workspace" %}
When using Mago with Google Workspace room resources and users, the Mago app for display and Mago mobile app access Google services through Google APIs. To enable these features, a Google Workspace administrator must authorize the Mago application in the domain.

{% hint style="success" %}
Mago is a Google OAuth verified application.
{% endhint %}

#### Authorize the Mago application

Open [admin.mago.io](https://admin.mago.io/) and sign in with a Google Workspace account that has Super Admin privileges. When prompted, review the requested permissions and approve. The Mago application is now authorized in your domain.

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2FptqZeG1KKA7Q7fEhjAQB%2Fmago-admin-login.webp?alt=media&#x26;token=1fc130ad-9776-40dc-a31a-fc435119cf84" alt="" width="351"><figcaption></figcaption></figure>

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2FInoQcmkioq9RJMDOtDjL%2Fmago-admin-center-google-signin.webp?alt=media&#x26;token=ec711228-8371-4e61-b9a4-381cb93b3ea4" alt="" width="375"><figcaption></figcaption></figure>

#### Verify third-party app access and allow the Mago application if restricted

When room resources or users sign in later during device activation, Google will prompt them to approve additional scopes (such as calendar and meeting access).

{% hint style="warning" %}
If your domain restricts third-party application access, these prompts will be blocked with a **`400 admin_policy_enforced`** error.
{% endhint %}

#### Check third-party app access policy

To check if your domain restricts third-party application access:

* Open the [Google Admin console](https://admin.google.com/)
* Go to Security > Access and data control > **API controls**
* Click on **Settings**

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2FVI5V0TmYfaAJIY45So49%2Fgoogle-admin-8.webp?alt=media&#x26;token=749f1b43-8521-432a-9807-d8fbd724d0a1" alt=""><figcaption></figcaption></figure>

* Under "Unconfigured third-party apps", verify which access level is selected. If it is set to "Allow users to access any third-party apps", no further action is required. If access is restricted, proceed with the next step to pre-authorize the Mago application at domain level.

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2FfFTtp3smBt53QIl3T0mn%2Fgoogle-admin-9.webp?alt=media&#x26;token=bd3a67f7-3abe-4333-b1db-a8ce670196c0" alt=""><figcaption></figcaption></figure>

#### Pre-authorize the Mago application

If your domain restricts third-party application access:

* Open the [Google Admin console](https://admin.google.com/)
* Go to Security > Access and data control > API controls > **Manage App Access**

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2FLBO8JjSrXhwrYDA1ehyy%2Fgoogle-admin-1.webp?alt=media&#x26;token=009551d7-3cf1-49fe-a4b0-a3017bd82321" alt=""><figcaption></figcaption></figure>

* Click on "Configure new app"

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2Fn9wVzHleirZv1yNKXlUO%2Fgoogle-admin-2.webp?alt=media&#x26;token=bace8861-3ebd-4fb6-90d3-9c4d173d2dcd" alt=""><figcaption></figcaption></figure>

* Search for the following Mago app client IDs and add them as trusted app (one by one).

<table><thead><tr><th width="148.30078125">Application</th><th>Client ID</th></tr></thead><tbody><tr><td>Mago app for display / web</td><td><code>436832489008-nl03st57foo9su4qg5mddnadhl7ql5oe.apps.googleusercontent.com</code></td></tr><tr><td>Mago mobile app for Android</td><td><code>436832489008-5ie2c8hme7jucfh4vn4hul7sdkm8mhuk.apps.googleusercontent.com</code></td></tr><tr><td>Mago mobile app for iOS</td><td><code>436832489008-l3lejr6nqvgmevau7u999gm6c17jdci2.apps.googleusercontent.com</code></td></tr></tbody></table>

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2FDV0BTak78sohRm8CuHTU%2Fgoogle-admin-3.webp?alt=media&#x26;token=640cf9e0-aa1c-4256-b7f2-38c523ae2e8f" alt=""><figcaption></figcaption></figure>

* Set your desired Scope and click **Continue**

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2FvACXSCMdnXaHQ3hwj7Mr%2Fgoogle-admin-4.webp?alt=media&#x26;token=2a835ece-3797-4eb8-8e30-77feb62bba04" alt=""><figcaption></figcaption></figure>

* Set the app as **Trusted**, then click **Continue**

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2F5F0gatfqwQOSK73GFKlI%2Fgoogle-admin-5.webp?alt=media&#x26;token=e7267572-68c7-476d-b975-5fee7fb8691e" alt=""><figcaption></figcaption></figure>

* Review and click **Finish**

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2FTuwZjSqWikY1JVFXHdpE%2Fgoogle-admin-6.webp?alt=media&#x26;token=43656f5d-1749-4b55-b5db-dadeb013b3bb" alt=""><figcaption></figcaption></figure>

* Make sure to repeat the steps to configure all 3 Mago app client IDs.

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2FnXEy7r2WmJajKoenAsQk%2Fgoogle-admin-7.webp?alt=media&#x26;token=db859a20-1821-444f-b82f-a28b6b06317b" alt=""><figcaption></figcaption></figure>

{% hint style="success" %}
This ensures that users and room resources are not blocked when Mago requests additional scopes (such as calendar access) during device activation or configuration.
{% endhint %}

{% hint style="info" %}
See [google-workspace](https://kb.mago.io/requirements/third-party-providers/google-workspace "mention") for the full list of **Required features and scopes**.
{% endhint %}
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

### Prepare the room resource and calendar

A room resource account is required for calendar integration and instant meeting hosting. Create and provision the account in your calendar provider before proceeding.

* **Microsoft 365** — create and provision a room resource account, grant the required OAuth scopes, and run the PowerShell command to correctly display meeting titles — see the full guide here: [microsoft-365-calendar](https://kb.mago.io/requirements/calendar/microsoft-365-calendar "mention")
* **Google Workspace** — create a service account for conference room calendars and configure resource delegation — see the full guide here: [google-workspace-calendar](https://kb.mago.io/requirements/calendar/google-workspace-calendar "mention")
  {% endstep %}

{% step %}

### Prepare video conferencing

With Room System, the room has its own identity and can join meetings independently. The configuration depends on the video conferencing provider you plan to use. BYOM User Join is also available to users connected to the room. Complete the steps for each provider that applies to your deployment.

{% tabs %}
{% tab title="Microsoft Teams" %}
**Guest Join (ID and Passcode)**

Guest Join is available out of the box. The room joins as a guest and always goes to the lobby. No additional setup is required.

**Room Join (Authenticated Calls) and Host Instant Meetings**

To enable Room Join and Host Instant Meetings, which allow the room to bypass the lobby, appear with its own identity, and start new meetings as a host, you will configure the following:

* Install the **Azure Communication Services service principal** in the tenant
* Provision the room resource with a Microsoft Teams **license**

See [authenticated-calls-with-microsoft-teams](https://kb.mago.io/requirements/video-conferencing/authenticated-calls/authenticated-calls-with-microsoft-teams "mention") for the full procedure.

**User Join (BYOM Authenticated Calls)**

Regardless of the room configuration, User Join (BYOM Authenticated Calls) is always available.

{% hint style="info" %}
When a user connects to the room with their personal device and starts a meeting, their user identity takes precedence over the room identity for the duration of the connection. Once the user disconnects, the room reverts to its own join mode.
{% endhint %}

<figure><img src="https://2978719120-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-M2FbpP2hYI1Myy7hMs_%2Fuploads%2FTCtSK0GAuIvosfgjFF3h%2Frs-setup-auth.jpg?alt=media&#x26;token=5dfa78cf-17c5-4822-bc44-32c7a5ff89e8" alt=""><figcaption></figcaption></figure>
{% endtab %}

{% tab title="Zoom" %}
**Guest Join (ID and Passcode)**

{% hint style="warning" %}
Since March 2026, Zoom no longer allows unauthenticated participants to join meetings from room systems.
{% endhint %}

* A Zoom account is required for all join modes, including Guest Join. Any Zoom account type is supported (Free, Pro, Business, Enterprise). Have the Zoom account credentials ready, as they will be entered during the activation wizard.
* The "Mago Room" app from the Zoom Marketplace must also be approved on the Zoom tenant or on the individual user account. See [zoom](https://kb.mago.io/requirements/third-party-providers/zoom "mention") for the approval procedure.

**Room Join (Authenticated Calls) and Host Instant Meetings**

To enable Room Join and Host Instant Meetings, which allow the room to bypass the lobby, appear with its own identity, and start new meetings as a host, you will assign the appropriate host license to the room resource Zoom account according to the [licensing-requirements](https://kb.mago.io/requirements/video-conferencing/licensing-requirements "mention") table.
{% endtab %}

{% tab title="Webex" %}
**Guest Join (ID and Passcode)**

Guest Join is available out of the box. The room joins as a guest with no additional setup.

**Room Join (Authenticated Calls) and Host Instant Meetings**

To enable Room Join and Host Instant Meetings, which allow the room to bypass the lobby, appear with its own identity, and start new meetings as a host, a Webex account with host license is required (Free, Starter, Business, or Enterprise). Assign the appropriate license to the room resource account according to the [licensing-requirements](https://kb.mago.io/requirements/video-conferencing/licensing-requirements "mention") table.
{% endtab %}

{% tab title="Google Meet" %}
**Guest Join (ID and Passcode)**

Guest Join is available out of the box. The room joins as a guest with no additional setup.

**Room Join (Authenticated Calls) and Host Instant Meetings**

To enable Room Join and Host Instant Meetings, which allow the room to bypass the lobby, appear with its own identity, and start new meetings as a host, a Google Workspace account is required (Free, Business Starter, Business Standard, Business Plus, or Enterprise). Assign the appropriate license to the room resource account according to the [licensing-requirements](https://kb.mago.io/requirements/video-conferencing/licensing-requirements "mention") table.
{% endtab %}
{% endtabs %}
{% endstep %}

{% step %}

### Enroll the device in Neat Pulse

Make sure the Neat device is already enrolled in your Neat Pulse account. If it is not, follow the Neat onboarding flow to add it before proceeding. See <https://neat.no/pulse/>
{% endstep %}

{% step %}

### Install Mago from Neat AppHub

On your Neat device, open the Neat Pulse management portal and navigate to the AppHub. Search for Mago and install it. Alternatively, you can push the app remotely to one or more devices directly from Neat Pulse.
{% endstep %}

{% step %}

### Grant required permissions

On first launch, Mago will request permissions for microphone, camera, networking, and local discovery. Grant all permissions when prompted. These are required for video conferencing, pairing, and screen sharing to function correctly.
{% endstep %}

{% step %}

### Sign in or Sign up to Mago Admin Center

If you do not already have an account, register at [admin.mago.io](https://admin.mago.io). You will also need a valid Mago license key. If you do not have one, you can select a free trial during device activation.
{% endstep %}

{% step %}

### Activate the device and complete the setup wizard

On first launch, Mago displays an activation screen with a QR code or a 6-digit code. Open [admin.mago.io](https://admin.mago.io) in a browser, go to Devices > Activate, and follow the on-screen steps to activate. Name the device when prompted. The device will appear under Devices in the Admin Center once activation is complete.

During the activation wizard, complete the following configuration steps.

* *Connect the calendar.* Select the calendar provider (Microsoft 365 or Google Workspace) and connect the room resource account you prepared. Complete the authentication flow and continue to the next step.
* *Configure video call providers.* For each video conferencing provider you plan to use (Microsoft Teams, Zoom, Cisco Webex, Google Meet, Mago Meet), enable the features that apply to your deployment: Guest Join with meeting ID and Passcode, Authenticated Calls, and Host Instant Meetings. The provider credentials and licenses you prepared are required to complete this configuration.
  {% endstep %}

{% step %}

### Pair the Touch Controller

*Neat Pad Controller.* Input the 6-digit code displayed on the Neat device to pair the Neat Pad.

*Wireless Touch Controller.* On the iPad or Android tablet, open the Mago Controller app and follow the pairing instructions. The app discovers the room device automatically when both are on the same network. After pairing, the tablet displays the room calendar and meeting controls.
{% endstep %}

{% step %}

### Configure policies

In Mago Admin Center, go to Policies and create or assign a policy for the device. Configure appearance, device settings, and any restrictions as needed. The device will update over the air.
{% endstep %}

{% step %}

### Verify

* Confirm date and time are correct
* Verify network connectivity
* Test wireless screen sharing
* Test video calls

{% hint style="success" %}
The room is now ready for Room System use!
{% endhint %}
{% endstep %}
{% endstepper %}
