> ## Documentation Index
> Fetch the complete documentation index at: https://docs.juneops.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Kandji Integration

> Complete integration guide for connecting Kandji with June

<img src="https://mintcdn.com/juneopsinc/C20aq7J5TiiNefBH/images/kandji_integration_page.png?fit=max&auto=format&n=C20aq7J5TiiNefBH&q=85&s=b7d79be897d8cf9a37cd5a992c2dbcf4" alt="Kandji Integration" width="2158" height="1180" data-path="images/kandji_integration_page.png" />

Connect your Kandji tenant with June for modern Mac device management and comprehensive asset tracking.

## What you'll accomplish

* Generate API access token in Kandji
* Configure the June integration
* Understand Kandji data mapping
* Set up automated sync preferences

## Prerequisites

Before starting the integration, ensure you have:

* Kandji tenant with API access
* Admin or appropriate API permissions in Kandji
* June organization admin permissions
* Understanding of your Kandji device management setup

## Setup Process

### Step 1: Generate API Token in Kandji

<Steps>
  <Step title="Access Kandji Settings">
    1. Log into your Kandji tenant
    2. Navigate to **Settings** in the left sidebar
    3. Go to **Access** section
    4. Select **API Token**
  </Step>

  <Step title="Create New Token">
    1. Click **Generate New Token**
    2. Enter a descriptive name: "June Integration Token"
    3. Set appropriate permissions (see permissions section below)
    4. Click **Generate**
  </Step>

  <Step title="Copy and Secure Token">
    1. **Immediately** copy the generated token
    2. Store it securely - you won't be able to view it again
    3. Note the creation date for future reference
  </Step>
</Steps>

### Step 2: Configure Token Permissions

Ensure your API token has the following permissions:

#### Required Permissions

* **Blueprints**: Read access to device blueprint configurations
* **Users**: Read access to user assignments
* **Audit Logs**: Read access for fetching devices audit events
* **Tag Management**: Read and write access to tags
* **Tenant Details**: Read access to tenant license information. This is used to test the connection.
* **Devices**: Access to device information, device actions, and device secrets (optional).
* **Device Secrets**: Access to device secrets so that we can show them in the June UI. We don't store these credentials and they are fetched on demand.

<img src="https://mintcdn.com/juneopsinc/C20aq7J5TiiNefBH/images/kandji_permissions.png?fit=max&auto=format&n=C20aq7J5TiiNefBH&q=85&s=96bd8719da316dfcb22b839c4f6dddea" alt="Kandji Permissions" width="2770" height="1997" data-path="images/kandji_permissions.png" />

### Step 3: Configure June Integration

<Steps>
  <Step title="Access June Integrations">
    1. Log into June
    2. Navigate to **Integrations > MDM Systems**
    3. Click **Add Integration**
  </Step>

  <Step title="Select Kandji">
    1. Choose "Kandji" from the available integrations
    2. Click **Configure** to start the setup wizard
  </Step>

  <Step title="Enter Kandji Details">
    Provide the following information:

    * **Kandji Organization API URL**: Your Kandji organization API URL (e.g., `https://yourcompany.api.kandji.io`).
    * **API Token**: The token generated in Step 1
    * **Sync Interval**: How often June should sync with Kandji. Default is daily.
  </Step>

  <Step title="Test Connection">
    1. Click **Test Connection** to verify the setup
    2. June will attempt to connect and retrieve sample data
    3. Resolve any authentication issues before proceeding
  </Step>
</Steps>

### Step 4: Configure Sync Preferences

<Steps>
  <Step title="Set Sync Frequency">
    Choose how often June should sync with Kandji:

    * **Every day**: Recommended for most environments
    * **Every other day**: For larger environments or limited bandwidth
    * **Weekly**: For environments with fewer changes
  </Step>

  <Step title="Choose Data to Sync">
    Select which device attributes to synchronize:

    * Device Data (Always included)
    * Employee Data
    * Installed Software applications
    * Device Actions (Restart, Lock, Wipe, etc.)
  </Step>
</Steps>

### Step 5: Schedule your first sync

<Steps>
  <Step title="Schedule your first sync">
    Click on the "Sync Now" button to schedule your first sync.
  </Step>
</Steps>

## Data Synchronization

### What Gets Synced

| Data Type           | Kandji Source                           | June Destination           | Notes                              |
| ------------------- | --------------------------------------- | -------------------------- | ---------------------------------- |
| **Device Identity** | Computer Name, Serial Number            | Device Name, Asset Tag     | Primary device identification      |
| **Hardware Info**   | Model, Processor, Memory, Storage       | Hardware Specifications    | Complete hardware inventory        |
| **Software**        | Operating System, Software Applications | System Info, App Inventory | OS version and installed apps      |
| **User Assignment** | User and Location fields                | Employee Assignment        | Links devices to users             |
| **Compliance**      | Last Inventory, Check-in Status         | Health Status              | Device connectivity and compliance |
| **Department Data** | Device assignment to departments        | Department and Location    | Organizational groupings           |

## Troubleshooting

### Common Authentication Issues

<AccordionGroup>
  <Accordion title="Invalid API Token">
    **Symptoms**: "Authentication failed" or "Invalid token" errors

    **Solutions**:

    * Verify the API token was copied correctly
    * Ensure that the *Tenant Details* permission is enabled.
    * Check if the token has been revoked or expired
    * Ensure sufficient permissions were granted to the token
    * Test the connection by clicking the "Test Connection" button.
  </Accordion>

  <Accordion title="Insufficient Permissions">
    **Symptoms**: "Access denied" errors for specific operations

    **Solutions**:

    * Review token permissions in Kandji settings
    * Ensure all required permissions are enabled
    * Check if permissions were modified after token creation.
    * Edit the token permissions in Kandji and save.
    * Test the connection by clicking the "Test Connection" button.
  </Accordion>

  <Accordion title="Subdomain Issues">
    **Symptoms**: "Tenant not found" or connection errors

    **Solutions**:

    * Verify the Kandji organization API URL is correct. You must enter the full URL [https://subdomain.api.kandji.io](https://subdomain.api.kandji.io)
    * Check for typos in the subdomain field
    * Ensure the Kandji tenant is active and accessible
    * Test direct access to Kandji web interface
  </Accordion>
</AccordionGroup>

### Sync Issues

<AccordionGroup>
  <Accordion title="Missing Devices">
    **Possible Causes**:

    * Devices not enrolled in Kandji
    * Devices haven't checked in recently
    * Insufficient permissions to access certain devices

    **Solutions**:

    * Verify device enrollment status in Kandji
    * Check last inventory date for missing devices
    * Confirm API permissions cover all required devices
  </Accordion>

  <Accordion title="Outdated Information">
    **Possible Causes**:

    * Devices not checking in regularly
    * Sync frequency too low
    * Network issues preventing updates

    **Solutions**:

    * Increase sync frequency if needed
    * Force inventory update on devices by clicking on the "Sync Now" button in the integration page.
    * Check device connectivity and management status
    * Review sync logs for specific error messages
  </Accordion>

  <Accordion title="Performance Problems">
    **Symptoms**: Slow syncs, timeouts, high resource usage

    **Solutions**:

    * Reduce sync frequency during peak hours
    * Monitor Kandji server performance during sync windows
    * You could be hitting the rate limit of the Kandji API. You could try to increase the sync frequency to reduce the number of devices that are synced.
  </Accordion>
</AccordionGroup>

## Next Steps

Once your Kandji integration is configured:

<CardGroup cols={2}>
  <Card title="Mac-Specific Views" href="/smart-search/creating-custom-views">
    Create views specifically for Mac device management
  </Card>

  <Card title="Compliance agents" href="/security-compliance/security-policies">
    Set up compliance monitoring for Kandji device compliance.
  </Card>

  <Card title="User Correlation" href="/integrations/okta">
    Connect identity providers for complete user-device correlation
  </Card>

  <Card title="Automated Workflows" href="/workflows/device-actions">
    Set up automated actions based on Kandji device status
  </Card>
</CardGroup>

## Support Resources

Need help with your Kandji integration?

* **Kandji Documentation**: Review Kandji API documentation and guides
* **June Community**: Join discussions about Mac device management
* **Integration Support**: Contact June support for integration-specific issues
* **Best Practices**: Consult with June solutions engineers for optimization

<Note>
  Kandji integration typically establishes connection within minutes. It can take up to 1 hour for the initial sync to complete depending on the number of devices in your organization.
</Note>
