Integrations Overview
Connect supported systems, control sync scope, and resolve records that need review
Use integrations to connect ticket work, time tracking, customer data, and Office presence with your existing systems. Setup and sync behavior differ by service; use the service's guide before connecting it.
Available connections
| Connection | Use it for | Setup |
|---|---|---|
| Slack | Ticket notifications and forms in Slack | OAuth |
| Asana | Linked tasks for Core tickets | Personal Access Token |
| Everhour | Client/project imports and time tracking | API key |
| NinjaOne | Device and company synchronization | Integration configuration |
| Xero and HubSpot | Accounting actuals, bank data, opportunities, and renewal matching | Financials settings |
Xero and HubSpot sync every 6 hours. For financial admins, their cards under Settings → Integrations show the latest sync, including a failed one, with Sync now, Reconnect, and Disconnect. Connect them from Financials settings.
Office presence (experimental)
These feed the experimental Office, so it shows who is on a call, in a meeting, or at lunch without anyone setting a status. Each one is optional and connected once per workspace by an owner, super-admin, or admin.
| Integration | Description |
|---|---|
| Zoom | Zoom presence, Zoom Phone calls, and Zoom meetings. Early access: only Rooted's own Zoom account can connect until Zoom approves the app, so contact us to install it |
| Microsoft 365 | Teams presence, Outlook calendar status, and the meeting room a meeting is booked in. Early access: Microsoft shows the app as from an unverified publisher until Rooted is verified, so contact us to install it |
| Slack status | Lunch, breaks, and out sick from Slack statuses, behind a toggle that is off by default |
Like the Office itself, these sources appear only for people with experimental features turned on. Owners and super-admins find them under Settings > Integrations > Office presence, one card per source. Admins don't have the Integrations tab, so they open the Zoom, Microsoft 365, and Slack pages directly.
Core keeps a coarse status such as "in a meeting" or "on a call". For non-private Microsoft 365 calendar events it also keeps the meeting details (subject, organizer, invitees, times, location, a plain-text preview, and links) while the person shares their status. It never keeps phone numbers, who someone talked to on a call, or message bodies. See Automatic status in the Office guide for setup and privacy details.
Configure sync
Open Settings → Integrations to add a supported integration, test its credentials, and choose its import scope. Scheduled import frequencies include Manual only, Hourly, Daily, and Weekly; available options depend on the integration.
Select the clients, projects, organizations, or entity types you intend to import before running a broad sync. Timer synchronization and Office presence have their own update behavior and do not follow a generic two-way field-mapping setup.
Use the sync dashboard and integration detail pages to review status, recent runs, errors, and available retry or dry-run controls. If data is missing, check credentials, scope filters, mappings, and the reconciliation queue before reconnecting.
Reconciliation Queue
Core routes integration and billing records that need a human decision into the reconciliation queue instead of silently guessing. This includes unmatched projects or customers from integrations, plus ticket-driven billing reviews for per-contact contract items when onboarding, offboarding, or customer contact activity suggests a billable contact may need to be added or removed.
Renewal and accounting matches
HubSpot renewals and Xero contacts auto-link only when the match is unambiguous. A draft contract does not compete with a live renewal, and a line-of-business difference does not block a renewal whose company and amount already match. A company nickname or the company's own domain, such as Magnific on Freepik, can identify the customer only when the yearly amounts match. A subdomain such as support.acme.com counts as Acme. A Xero contact whose name matches the company, including punctuation or a legal suffix, auto-links when invoices show it is the only billing contact of that name. Someone with revenue access can confirm the same link from the review queue.
Onboarding and offboarding
For onboarding and offboarding tickets, Core first looks for the named employee before suggesting a billing change. If an onboarding form includes first name, last name, email, or role details, the queue can propose a new contact, show the evidence it found, and let reviewers add or reuse that contact while assigning the correct per-contact billable item. If the ticket names a new person who does not exist in Core yet, reviewers can add that person directly from the review item instead of accidentally billing the ticket requester. For offboarding, reviewers can choose the departing contact, enter the last billable day when the ticket did not provide one, remove the contact from listed per-contact billing items, and set them inactive from the same queue. If the ticket does not clearly identify one matching contact, the queue asks you to identify the right person first instead of offering a billing action on the requester.
Connect a custom workflow
Automation webhooks
Use Call Webhook to send an external request from an automation. Configure the URL, method, headers, and body, then use variables to include the triggering data.
Use a Webhook trigger to receive requests at a workflow-specific endpoint. Incoming automation webhooks require an HMAC-SHA256 signature made with the workflow's signing secret. See Automations for the exact header and execution controls.
Some integrations have their own sync-webhook configuration. Use that integration's setup instructions and required verification method.
AI agents and appointment buttons
Use the MCP Server to connect an agent with your Core permissions and selected read or write access. For a Power Automate or Teams button that schedules an assigned ticket, use Appointment buttons.
Disconnect
Use the connection's Disconnect or configuration controls and review the confirmation. Disconnecting stops the connection; records already imported into Core generally remain and may need separate review.