Skip to content

Integrations

The Integrations page (/admin/integrations) connects nara to external systems. Providers are grouped by domain: Communication, Knowledge base, Productivity, and Ticketing. Only one integration per domain is allowed — connecting a provider blocks the others in the same domain until it is disconnected.

  1. Pick a provider card and click Connect.
  2. Enter credentials for the provider’s authentication method:
    • OAuth — sign in and grant access in the provider’s consent flow.
    • Client Credentials — enter Client ID, Client Secret, and Tenant ID.
    • API Token — enter the token plus the Base URL and Username/Email.
  3. Save. The integration switches to Active and the first sync starts.

An integration shows one of three statuses: Active, Disabled, or Error. Use Re-sync to trigger a fresh synchronization, and Disconnect to remove the integration.

Providers that push changes to nara register a webhook during setup. From the integration you can Rotate secret to invalidate the current webhook secret and Retry setup if webhook registration failed. Confluence Cloud does not support the required webhooks, so nara falls back to polling for it.

If a provider is only reachable inside your network, enable the Local hosting toggle to route all provider traffic through an online Edge deployment. The deployment must be online for syncs to run.

The Outbound sync toggle controls whether changes made in nara (for example ticket updates) are written back to the provider. Disable it to run the integration read-only.

Syncs incidents, requests, and catalog tasks. The integration surfaces per-table sync health, supports a dry run to preview changes without writing, and offers a backfill to import historical records.

Ticketing integration connected via API token; tickets sync in both directions when outbound sync is enabled.

Ticketing integration connected via a GLPI user API token plus an optional App Token. The GLPI REST API must be enabled, and the API user’s time zone must be set to UTC. Tickets, followups, tasks, solutions, and document attachments sync into nara by polling; outbound sync writes ticket changes back to GLPI.

Knowledge-base integration using the same GLPI credentials as the ticketing provider. Articles, categories, and document attachments are ingested into memory by polling; articles outside their visibility window are removed. Outbound sync writes article changes back to GLPI.

Knowledge-base integration; pages are ingested into memory. Confluence Cloud uses polling instead of webhooks (see above).

  1. Package download — download the nara Teams app package.
  2. Authorize — grant admin consent for the required Microsoft permissions.
  3. Publish to catalog — upload the package to your organization’s Teams app catalog.
  4. Select the Default Teams agent that answers conversations coming from Teams.

nara answers a Teams phone number only when the number belongs to a resource account that is linked to nara’s application ID. The Teams Phone section of the Microsoft Teams integration shows this ID.

The Teams admin center can create only auto attendant and call queue resource accounts. Calls to such an account never reach nara and hang up immediately. Create the resource account in Teams PowerShell instead:

Terminal window
Connect-MicrosoftTeams
New-CsOnlineApplicationInstance -UserPrincipalName <account@your-domain> -ApplicationId <nara-application-id> -DisplayName "nara phone assistant"
Set-CsPhoneNumberAssignment -Identity <account@your-domain> -PhoneNumber <+E.164-number> -PhoneNumberType <CallingPlan|OperatorConnect|DirectRouting>

Assign a Microsoft Teams Phone Resource Account license to the account before you assign the number.

nara cannot see which application a resource account is linked to. The Teams Phone section therefore lists a number only after its first call reaches nara:

  1. Call the new number once. The call ends because no agent answers it yet.
  2. In the Teams Phone section, select Connect number.
  3. On the Phone numbers page, assign an agent to the number.

If the number does not appear after a call, the call did not reach nara.

Connects Microsoft 365 for SharePoint knowledge sync, calendar access, and directory sync. The availability preview runs a mailbox Free/Busy check so you can verify calendar access before agents rely on it.

Agents can find free times and create Teams meetings for the signed-in user. Finding free times needs the application permission Calendars.Read, finding people needs User.Read.All, and creating meetings needs User.Read.All and Calendars.ReadWrite. A Calendars.ReadWrite grant in Microsoft Entra ID covers every mailbox. To limit it to the people who organize meetings, assign the Exchange Online role Application Calendars.ReadWrite with a management scope instead. See RBAC for Applications in Exchange Online.

Ticketing integration for Jira issues.

Ticketing integration for Zendesk tickets.