User GuideIntegrations & Import

Integrations & Import

Connect GitHub, GitLab and Slack to your boards, link your own systems with API keys and webhooks, and bring boards, tickets and people over from another tool.

GitHub · GitLab · Git rules · Slack app · API keys · Webhooks · AI tools · Importer · Imported people
User GuideIntegrations & Import

The Integrations page

Open Sidebar → Admin → Integrations. Everyone can look; connecting usually needs an admin, and each card says what it needs.

1
Find a tool
Search with Search integrations… or filter by category.
2
See what's on
Connected lists what's already connected; Available to connect shows the cards with a Connect button.
3
Connect
Click the card's button and follow the steps in the other tool. GitHub and GitLab connect under Code repositories; the GitLab card's Connect takes you there.
4
Import
Import from another tool at the top opens the importer (see below).
5
Jira and Asana
Connect signs you in to the other tool. If your Atlassian account reaches more than one Jira site, the Jira site panel opens when you come back: pick the site and click Use this site. Site on the Jira card changes it later, and Disconnect on the Jira or Asana card stops it (imported tickets stay). If a sign-in can't finish, a message says why; click Connect to try again.

Your plan sets how many integrations can be connected at once; the page shows how many you use, and a card says Upgrade to connect when you're at the limit. GitLab counts as one and GitHub once, however many repositories you link.

Connect GitHub

1
Install the app
Integrations → Code repositories → GitHub for your company → Install the GitHub App. Pick your organisation and repositories in GitHub, then come back.
2
Link repositories
Click Repositories on the connection. Link or unlink each one and, if you like, give it a Board: Git rules then run only for that board's tickets. The panel reads the latest list from GitHub when it opens; click Refresh to check again.
3
Disconnect
Click Disconnect and confirm. Tickets stop showing its pull requests, commits and branches. To stop GitHub sending anything, also uninstall the app in your GitHub settings.

Who can: people with “Manage Git connections” (Groups & permissions → Company Info).

Connect GitLab

1
gitlab.com
Integrations → Code repositories → GitLab → Connect, and sign in with GitLab.
2
Self-managed GitLab
Click Use an access token. Enter the GitLab address (https, reachable from the internet) and an Access token: a project or group access token with the api scope and the Maintainer role. Click Connect.
3
Link projects
Choose the projects to link, and optionally a board for each.
4
New projects
Click Repositories on the connection any time: it reads the latest list from GitLab, so projects made after you connected show up (not linked yet). Click Refresh to check again.

A project GitLab no longer shows to the connection (removed, archived, or access changed) is marked Not found on GitLab and can't be linked until it shows again; linked projects keep working. If the panel says GitLab no longer accepts the connection, click Disconnect and connect GitLab again.

Addresses on a private network are refused. The token is never shown again after you connect.

Without “Manage Git connections” you won't see Code repositories; the GitLab card says An admin can connect it.

Code on tickets and Git rules

1
Name the work after the ticket
Open a ticket and click the branch icon (Copy branch name) for a name like WA-12-fix-the-login-redirect. Or put the key (WA-12) in a branch name, pull request title or description, or a commit message.
2
See it on the ticket
A Code tab appears once something is linked, listing branches, commits and pull requests (Open, Draft, Merged or Closed) with who opened them and links out.
3
Move tickets automatically
Board settings → Git rules: choose a column for Branch created, Pull request opened, Pull request merged and Pull request closed, switch each rule on, and click Save. Nothing moves until a rule is on.
  • Git moves still follow the board's workflow rules: if one stops a move, the ticket gets a comment saying why. History says the move came from Git.
  • Anyone who can see a ticket sees its Code tab; Git connections and Git rules are only for people with “Manage Git connections”.
  • Code links never show in the client portal.

Slack: notifications and the app

Slack has one card on the Integrations page. Click Set up (or Manage once something is connected) to open its panel, which has two sections: Notifications and Slack app (commands). The card shows whether each one is on.

1
Notifications
In Notifications, click Connect notifications and pick a channel in Slack. This is your own connection; Disconnect notifications stops it.
2
Add the Slack app
In Slack app (commands), click Add to Slack and approve in Slack. When you come back, the panel opens on Default board.
3
Pick the Default board
Choose where /teamtrackin create puts tickets when no board key is given. Until you pick one, the card says “No default board yet: pick one” and /teamtrackin create needs a board key, like create TB: Fix it.
4
Remove the app
Slack app (commands) → Remove the Slack app, then confirm Remove. Commands stop at once and everyone's Slack account is disconnected; tickets already made and notifications stay.

One Slack workspace per company, and Slack counts as one integration on your plan however you use it. Adding the app and picking the default board need an admin who can edit company info; others see “An admin can pick a default board”.

Work from Slack

In SlackWhat happens
/teamtrackin helpA private list of the commands.
/teamtrackin create Fix the login pageA ticket on the default board. /teamtrackin create TB: Fix it puts it on board TB.
/teamtrackin search status = Done AND assignee = me()The first five matches, in the same search language as the Search page.
/teamtrackin myYour open tickets, soonest due first.
/teamtrackin assign TB-12 @patMakes Pat the ticket's owner.
More actions → Create ticket (on a message)A short form with the message filled in. The thread gets a reply with the ticket's title and link.
1
Link your account
If your Slack e-mail matches your TeamTrackin e-mail it links by itself. Otherwise type /teamtrackin link and open the link it gives you while signed in to TeamTrackin, then confirm. The link works once, for 10 minutes.
2
Check it
Your link status shows in the Slack card's panel (Manage → Slack app (commands)) under Your Slack account.

Everything runs as your own TeamTrackin account with your permissions and board access, and answers are only shown to you. If you can't make tickets on a board in the app, you can't from Slack either. Tickets made from Slack say so in their History.

API keys and webhooks

To connect a tool that isn't listed, use the API and webhooks in Sidebar → Company → Company Info → Developers. Standard and up.

1
Make an API key
Developers → New key. Enter a Name, choose who it Acts as (yourself, or someone who can't do more than you), pick a preset under Start from a preset (Read everything, Project manager, HR or Full access), adjust the Read, Write and Delete boxes under Permissions, and optionally set Expires, Allowed addresses and Requests per minute. Click Make key.
2
Copy it
The key (it starts with ttk_) is shown once. Copy it and click I've copied it.
3
Change or revoke
Change edits a key; Revoke stops it at once.
4
Add a webhook
Developers → New webhook. Enter the https URL, a Description, tick the Events (for example ticket created, moved or assigned, comment created, sprint started) and optionally limit it to Boards. Click Add webhook and copy the signing secret, shown once.
5
Check deliveries
Send test sends a test event; Delivery log shows each delivery as Delivered, Failed (will retry), Gave up or Waiting.

A key can never do more than the person it acts as, nor more than whoever set it up, and only reaches your own company. Changes it makes show “via API key: <name>” in the history, and the account owner is told when a key is made, changed or revoked. Read the full details in the Company guide and the API docs.

Who can: “Manage API keys” and “Manage webhooks” in Groups & permissions. Not available in the demo company.

AI tools

Let the AI tools your team already uses (chat apps, code editors and other AI tools that support MCP, the open standard for connecting AI tools) find, create and update tickets, boards, sprints, time and more in TeamTrackin. Open Sidebar → Company → Company Info → Developers → AI tools.

1
Make your link
Click Make link (the first time) and then Copy link. Your company gets its own connector link.
2
Code editors and other tools
Make an API key on the API keys tab, add a remote server in your AI tool, paste the connector link as its address and add the header Authorization: Bearer followed by the key. Standard and up.
3
Chat apps
Add a custom connector in your chat app with the connector link and click Connect. Each person signs in to TeamTrackin, checks the permissions, unticks anything they don't want and clicks Approve. Premium and Enterprise.

The link alone opens nothing, an AI tool never does more than the person it acts as, and it only ever reaches your own company. Read the full steps in the Company guide and the AI tools docs.

Who can: “Manage AI tools” makes the link and sees every connected AI tool; “Connect AI tools” signs in from a chat app for yourself. Both are on for the owner and Admins by default, and can be given to other groups in Groups & permissions. Not available in the demo company.

Import from another tool

Moving from ClickUp, Asana, Linear, Trello, monday.com, Notion, or Jira and Confluence? Bring boards, tickets, comments, files and people over. A CSV or Excel export works for any tool. Moving a wiki? Confluence spaces and pages (with their databases and whiteboards), and pages from Notion, ClickUp, Linear and monday.com, come into Docs (see Pages into Docs below).

1
Open Import
On a Space's Boards tab click Import, or Integrations → Import from another tool. The Import page has two tabs: New import and Imports.
2
Pick the tool
On New import, pick the tool you're moving from. Each card says what it brings and, in plain words, what it can't.
3
Follow the steps
Connect (or upload), map, dry run, import, report. Details below.
4
Come back later
All imports (top right, or Source in the steps) takes you back to the list from any step; your Map changes are kept. Imports lists past imports and drafts you set up but haven't started: click Carry on to pick up where you stopped.

Who can: people with “Run imports” (Admins by default). Others don't see the buttons, and the page says they have no access.

The import step by step

1. Connect or upload

  • If the tool is already connected on the Integrations page, click Use connected account.
  • Or use the tool's own sign-in where offered (for Notion: Connect with Notion, pick the pages to share, and you come back).
  • Or paste a personal token and click Connect; Where to find it explains each tool. The token is only used for this import and removed when it ends.
  • For CSV or Excel (or a Trello JSON export), upload the file and click Read this file.

2. Columns (CSV and Excel only)

Each header shows with three sample values. Pick what it holds (title, key, status, priority, assignee, created, labels, comment, attachment and so on) or Ignore, pick the title column, then click Read again after changes.

3. Map

  • Where it goes: the boards to bring and where each lands (a new Space or one you have, a group, a new board or an existing one).
  • Statuses → columns: a column for each status (or a new column) and what it means (the nine column meanings). The meaning is guessed from the status name first (“Not started”, “To do”, “Backlog”, “New” and “Ready for dev” mean To do), so check any that look off.
  • People: matched by e-mail to an active person here, kept as a name (not invited yet), or left out. Archived people are never offered; a row matched to someone archived since asks you to pick again.
  • Fields, priorities and ticket types: map each to one here, a new field, or leave it out. Columns that match the ticket's own fields start there (Priority, Ticket type, Description, Estimate, Story points, Labels, Due date, Start date and Assignee); only columns that match nothing become new fields.
  • What to bring (Jira & Confluence): tick Jira tickets, Confluence pages, Databases and Whiteboards, or untick what you'd rather leave behind. A company with only Confluence unticks Jira tickets; on a site without Jira it's unticked for you, with the reason.
  • Docs and pages (when the tool has pages): Bring pages into Docs, and for each space a new Docs space (with its name) or one of yours.
  • Also bring (comments, files, time…), who sees new boards, and optionally only tickets changed since a date.
  • Pages only (Jira tickets unticked): the board, ticket and new-board sections aren't shown. Pick the spaces under Docs and pages and run the dry run.

Good guesses are filled in; fix only what's off. Click Save and run a dry run.

Some tools (Notion, for one) don't say how many tickets a board has. Then the map shows “—” for that board and Ticket counts appear after the dry run; the dry run shows the real numbers.

4. Dry run

See exactly what will happen before anything is written: per board, tickets New, Updated, Unchanged or Kept yours, what gets made, people not invited yet, files and their size, how long it takes, and what isn't brought over. Nothing is on any board yet. Click Change the mapping to go back, or Start import.

5. Import

A progress bar shows live counts. Pause, Resume or cancel. You can leave the page: it keeps running and you get one notification when it's done. If the other tool asks to slow down, it waits and carries on by itself. Only one import runs at a time.

6. Report

What came in, whether the counts match the dry run, what came in as text, notes and every problem with its reason. Download CSV gives the full list.

An extra the other tool refuses (comments, files or time) never stops the import: the tickets still come in and the import finishes. Left out this time lists each one with what to turn on, for example “Comments on 12 tickets in Income couldn't be read”. Files that didn't come in are named with their count (ticket files and page files on separate lines), with the fix. Turn it on in the other tool and import the same source again: tickets already in show as Unchanged and the missing extras come in. Files stored on another website are kept on the ticket as links; files and images uploaded to the tool itself (Notion included) are copied.

Pages into Docs

Notion, Confluence, ClickUp Docs, Linear documents and monday.com Docs come into Documents with their page tree and order, formatting, images, files, comments, authors and dates. Jira and Confluence are one card on the New import list, Jira & Confluence (Confluence is an import source, so it isn't on the Integrations page). One connection brings Jira tickets, Confluence pages, databases and whiteboards in one dry run, one report and one undo; a team with Confluence but no Jira unticks Jira tickets. Imports started from the old Confluence card still open from Imports.

1
Connect
Pick the tool. For Jira & Confluence, use your connected Jira account, or enter your Atlassian site, your Atlassian e-mail and an API token from id.atlassian.com → Security → API tokens.
2
Choose the spaces
On the Map step, Docs and pages: keep Bring pages into Docs ticked (on by default when your plan has Documents), then pick New Docs space or one of yours for each space, or untick it.
3
Check the dry run
Docs and pages shows how many pages, files and comments come in, per space, and what each tool can't give.
4
Read the report
Every page is listed with its result and reason; click a page to open it in Docs.
  • Links between imported pages open the Docs pages. In Notion, a ticket's “Page: <title>” line links to the imported page.
  • Images and files are copied into Docs. Files kept on other websites stay as links.
  • People not invited yet show as Written by <name> with a Not invited tag, and their comments are tagged Imported. Hand them over under Users → Imported people and their pages and comments move to that person.
  • Importing again never makes copies: changed pages are updated, unchanged pages show Unchanged, and a page you edited in Docs is kept as yours.
  • Confluence databases and whiteboards come in the same import, under the page they sat in, with a link back. Confluence shares only their names: a database comes in empty until you upload its CSV export on the report (⋯ → Export → CSV in Confluence, then Upload CSV), and a whiteboard comes in as an empty board with a note.
  • From Notion, columns come in one after another, callouts, toggles, tables and synced blocks come in as their content, and a block Docs can't show (such as a button) leaves a short grey note. Importing again updates pages you haven't edited.
  • From monday.com, check lists come in as task lists with their ticks, notice boxes as callouts, tables with their cells and a layout's columns one after another.
  • Notion databases inside pages come in as boards in the same import: the page keeps a link to each board, and the report lists them under Databases inside pages.
  • From Confluence, emoji, dates, status labels, panels, expand sections, task lists, tables and @mentions come in as the same things in Docs; SVG images come too, cleaned first.
  • Undo removes the imported pages with their files and comments, and the databases and whiteboards the import made.
  • Without Documents in your plan, pages are skipped and the dry run says why.

After an import

  • An imported ticket shows its old key, for example “Was ABC-123”. Searching for the old key (Ctrl/⌘ + K, a ticket picker, or key = ABC-123 on the Search page) finds it. Export CSV has an Old key column.
  • Created dates come from the other tool. Comments by people who aren't users here keep their name, tagged imported.
  • Descriptions and comments keep their formatting (headings, lists, checkboxes, bold, links). Files the other tool stores itself are copied onto the ticket, and images on comments onto the comment; a comment that was only an image says “(image: name)”. Links that stop working after a while are never put on a ticket.
  • Imported time says “Imported from <tool>” in the Worklogs and counts in Time vs estimate, but never in payroll, timesheets, invoices, summaries or insights.
  • Importing writes quietly: no automations, e-mails or notifications fire for imported tickets.
  • Import the same source again and nothing doubles: unchanged tickets are skipped, changed ones are updated, and tickets your team changed since are Kept yours and listed in the report.
1
Undo
Imports → open the import → Undo import. The side panel says how many tickets will go; confirm Undo import.
2
What goes
Every ticket the import made (even ones changed since), with its comments, files, links and time. Tickets it updated go back to how they were. Boards and Spaces it made go too, unless your team added its own tickets to them.

Imported people

People from the other tool who aren't users here come in as names. They don't take a seat and don't show in payroll or timesheets. Their tickets show a dim avatar marked not invited and count as Unassigned.

1
Open the list
Sidebar → Users → Imported people (shown once an import made some).
2
Hand over
Click Hand over to… and pick a user: their tickets, comments and imported time move to that user. Anything you import from that tool later goes straight to that user too.
3
Or invite them
Invite them as a user with the same e-mail. Once they verify it, their work moves over by itself.
4
Hide
Hide from this list hides someone; their name stays on tickets.
5
Un-hide
Open the Hidden tab and click Un-hide: the person moves back to Not invited yet, where you can hand their work over. Importing the same source again brings hidden people back too.

What each tool brings

ToolBringsDoesn't bring
Jira & Confluence (Cloud)Jira: sprints, epics, sub-tasks, comments, files, time, links, custom fields. Confluence: spaces and pages into Docs (page tree and order, formatting, images and files, footer and inline comments with replies, authors and dates), and databases and whiteboards with a link back.Workflow rules (set them up after), change history (only created and resolved dates), time logged on epics themselves, checklist apps' data, page history (only the latest version), page restrictions, folders (their pages come in at the top), macros (their text or name stays), what's in a database (upload its CSV export) or on a whiteboard.
ClickUpGroups, sub-tasks, checklists, comments, files, time, links, custom fields, several assignees. Docs and their pages come into Docs.Whiteboards, automations, comments on Docs. Formula, rollup, location and progress fields come in as text.
AsanaGroups, sub-tasks, comments, files, time (on plans that have it), links, custom fields.Rules, forms, goals.
LinearCycles as sprints, epics, sub-tasks, comments, files, links. Documents (with their comments) come into Docs, under a page per project.No custom fields or time to bring. Document history.
TrelloChecklists, comments, files, custom fields.Sub-tickets, time, Power-Ups data, Butler automations. From a JSON export, files stay as links.
monday.comGroups, sub-items, comments, files, custom fields. Docs come into Docs.Time comes in as one total per item; formula and mirror columns as text. Comments on docs.
NotionPages and databases you share with TeamTrackin, all into one Space. Images and files stored in Notion (in pages, file properties and comments) are copied. Pages that aren't database rows, and sub-pages under tickets, come into Docs.Sprints, time. Files that are links to other websites stay links. Teamspaces (all pages go into one Docs space).
CSV or ExcelTickets, sub-tasks, comments (from comment columns), files from the tools' own hosts, custom fields.Anything not in the file.

Bring your tools together

Code, chat and your old tool's data, all next to the work on your boards.