Productivity

How to Sync Tasks from GitHub, Jira, Asana & More in One Place Without Migrating Data

Centralize tasks from GitHub, Jira, Asana, Notion, and Linear in Foco without migrating data. Bidirectional sync, color-coded works, and no duplicate effort.

Unifying tasks from GitHub, Jira, Asana, Notion, and Linear in one dashboard without migrating data means you keep using your original tools—with their integrations, historical data, and team workflows—while executing everything from a single app. Foco Plus Connections pulls tasks assigned to you in these tools via OAuth, displays them in color-coded work containers (e.g., blue for GitHub issues, green for Asana tasks), and lets you close them in Foco to update the original app automatically. No manual copying, no switching between tabs, and no risk of missing deadlines because a task was buried in one of five apps.

How It Works: The Exact Mechanism Behind Foco Connections

When you connect GitHub, JHub issues assigned to you appear in Foco as tasks with the title, due date (if set), priority (based on labels like urgent or high), and a link to the original issue. If you enable "complete also in the source", marking the task as done in Foco closes the issue in GitHub. The same applies to Jira tickets, Asana tasks, Linear issues, and Notion pages where you’re mentioned. Foco doesn’t import comments or attachments—just the core task data to avoid clutter—but it does include a direct link to the original item as a note.

Step 1: Map Your Tools to Work Containers

Before connecting apps, create a work container in Foco for each context. Examples from real users:

  • Freelance Developer: "Client A" (red), "Client B" (blue), "Open Source" (purple). GitHub issues for Client A go to the red container; Jira tickets for Client B go to blue.
  • Agency Designer: "Web Projects" (green), "Branding" (yellow). Asana tasks for web projects go to green; Notion pages for branding go to yellow.
  • Startup Founder: "Product" (orange), "Marketing" (teal). Linear issues for product go to orange; GitHub PRs for marketing tools go to teal.

Assign a color to each work. In Panorama mode, tasks appear with their work’s color, so you instantly know if a task is for Client A (red) or an open-source project (purple). In Focus mode, you see only tasks for one work, e.g., all GitHub issues for Client A in red.

Step 2: Choose Between Automatic or Fixed Destination

For each connection, decide where tasks should land:

  • Automatic: Foco’s AI analyzes the task content (e.g., a GitHub issue titled "Fix login bug for Client X") and assigns it to the most relevant work. Use this if tasks from one tool span multiple jobs (e.g., GitHub issues for different clients).
  • Fixed: All tasks from a tool go to one work. Use this if all Asana tasks are for one client or all Jira tickets are for one project. Example: Connect Asana to the "Client A" work (red) to send all Asana tasks there.

Pro tip: If you choose Automatic, review the first few tasks Foco assigns to ensure they land in the right work. Adjust manually if needed.

Developer reviewing GitHub issues on a laptop with Foco.

Step 3: Enable Bidirectional Sync to Avoid Duplicate Work

With "complete also in the source" enabled, closing a task in Foco updates the original app. Examples:

  • GitHub: Closing a task in Foco closes the issue in GitHub and adds a comment: "Closed via Foco."
  • Jira: The ticket moves to the "Done" column.
  • Asana: The task is marked as completed.
  • Notion: A comment is added to the page: "Marked as done in Foco."

This eliminates the need to update tasks in two places. A freelancer managing 10 GitHub issues and 5 Asana tasks saves ~15 minutes/day by not switching between apps to mark tasks as done.

Real-World Workflow: Syncing GitHub, Jira, and Asana for a Freelance Developer

Scenario: You’re a developer juggling three clients and an open-source project. Here’s how Foco Plus Connections streamlines your day:

  • Setup: Connect GitHub to "Client A" (red) and "Open Source" (purple); Jira to "Client B" (blue); Asana to "Client C" (green). Enable bidirectional sync for all.
  • Morning: Open Panorama mode to see all tasks. GitHub issues appear in red/purple, Jira tickets in blue, Asana tasks in green. Filter by "Today" to see what’s due.
  • Focus Time: Switch to Focus mode for "Client A" (red). Only GitHub issues for Client A appear. Use Kanban view to drag tasks from "To Do" to "Doing."
  • Sync: Close a GitHub issue in Foco. It closes automatically in GitHub, and the client gets a notification. No need to log in to GitHub separately.
  • Afternoon: Check Calendar view to see tasks alongside Google Calendar events. A Jira ticket for Client B (blue) is due at 3 PM—block 1 hour for it.

Result: You spend zero time checking GitHub, Jira, or Asana separately. All tasks are in one dashboard, color-coded by client, and synced bidirectionally.

How Foco Compares to Alternatives for Unifying Tasks

1. Foco vs. Generic Task Managers (Todoist, TickTick)

Generic task managers let you manually add tasks from different apps, but they lack:

Freelancer organizing tasks on a tablet with color-coded works in Foco.
  • Bidirectional sync: You must manually update tasks in both apps. Example: Closing a GitHub issue in Todoist doesn’t close it in GitHub.
  • Work containers: Tasks from different clients/projects mix together. Example: A Todoist project for "Client A" and "Client B" shows all tasks in one list, making it hard to focus on one client at a time.
  • Color-coding by context: Todoist uses colors for priority, not context. In Foco, a red task always means "Client A," so you know the context at a glance.

2. Foco vs. Project Management Tools (Asana, ClickUp)

Project management tools are designed for single teams or projects, not multiple jobs. Problems when using them for freelancers:

  • User minimums: Asana’s paid plans require 2+ users, so a solo freelancer pays for a seat they don’t need. Foco’s Plus plan is €20/month for one user.
  • No bidirectional sync: Asana’s GitHub/Jira integrations are unidirectional. You can see GitHub issues in Asana, but closing them in Asana doesn’t close them in GitHub.
  • Overkill for freelancers: Features like Gantt charts or workload management are irrelevant if you’re managing 3 clients, not a 50-person team.

3. Foco vs. Email Forwarding (e.g., u-xxxx@in.heyfoco.com)

Foco’s email capture (u-xxxx@in.heyfoco.com) lets you forward emails to create tasks, but it’s manual. Connections automate this by pulling tasks from tools like GitHub or Asana without you forwarding anything. Example: A GitHub issue assigned to you appears in Foco within minutes, while an email task requires you to forward it manually.

Key Decisions When Setting Up Foco Connections

1. Should You Use Automatic or Fixed Destination?

Choose Automatic if:

  • Tasks from one tool span multiple jobs (e.g., GitHub issues for Client A and Client B).
  • You want Foco to learn over time where tasks should go (e.g., a GitHub issue titled "Fix bug for Client X" goes to the "Client X" work).

Choose Fixed if:

Digital Kanban board with color-coded tasks in Foco.
  • All tasks from a tool belong to one job (e.g., all Asana tasks are for Client A).
  • You want to avoid reviewing where tasks land (e.g., all Jira tickets go to the "Development" work).

2. How to Handle Tasks with Multiple Assignees

If a GitHub issue is assigned to you and a teammate, Foco imports it with both assignees. However, you can only assign tasks to teammates who are invited and accepted collaboration in the work. Example: If you invite a designer to the "Client A" work, you can assign them Asana tasks for Client A, but you can’t assign them tasks in Asana itself from Foco.

3. What Happens When You Delete a Task in Foco?

Deleting a task in Foco does not delete it in the original app. Foco only syncs the "done" status. To delete a task in both apps, delete it first in the original tool (e.g., GitHub), then delete it in Foco. This prevents accidental data loss.

Pro Tips to Maximize Foco Connections

1. Use Tags to Group Cross-Cutting Tasks

Even though tasks belong to a work, add tags to group them by theme. Examples:

  • #urgent: Filter Panorama mode to see all urgent tasks, regardless of work. Useful for prioritizing critical tasks.
  • #meeting: Tag tasks related to meetings (e.g., "Prepare slides for Client A"). Filter by #meeting to see all prep work for the day.
  • #waiting: Tag tasks waiting on someone else. Use the daily briefing to see what’s pending from others.

2. Combine Connections with Time Blocking

Use Calendar view to see tasks alongside Google Calendar/Outlook events. Example:

Person comparing tasks from multiple apps on dual monitors using Foco.
  • A GitHub issue (red) is due at 2 PM. Block 1.5 hours for it in Google Calendar.
  • An Asana task (green) has no due date. Assign it to "This Week" in List view and block time for it later.

This avoids overlaps and ensures you allocate time for tasks from all tools. Learn more in Time Blocking for Multiple Jobs.

3. Use Ráfaga for Bulk Task Creation

With Foco Plus, use Ráfaga to dictate multiple tasks at once. Example:

  • Say: "Review GitHub PR for Client A, urgent, due tomorrow at 10 AM. Write documentation for Client B, due Friday. Schedule meeting with Client C, no date yet."
  • Foco transcribes this into 3 tasks, detects dates/priorities, and lets you review before saving.

This saves time when you have a backlog of tasks to add. Without Plus, you get 5 Ráfaga uses/month.

When to Avoid Foco Connections

Foco Connections aren’t ideal if:

  • You need to manage tasks for a large team: Foco is designed for freelancers/small teams. For 10+ people, tools like Asana or ClickUp offer better collaboration features (e.g., workload management).
  • You rely on tool-specific features: Foco doesn’t import GitHub comments or Jira subtasks. If you need these, stick to the original app.
  • You use unsupported tools: Foco only connects to Notion, Linear, Asana, GitHub, Jira, and MCP servers. For Trello or ClickUp, use email capture (u-xxxx@in.heyfoco.com).
Unifying tasks without migrating isn’t about replacing your tools—it’s about reducing the mental load of switching between them. The goal is to spend less time managing apps and more time doing the work.

FAQ

What happens if a task is updated in the original app (e.g., GitHub) after it’s imported to Foco?

Foco syncs updates from the original app every time you open the app or at set intervals (e.g., every 15 minutes). If a GitHub issue’s due date changes in GitHub, it updates in Foco automatically. However, Foco doesn’t sync comments or attachments—only core task data (title, due date, priority, status).

Can I use Foco Connections to manage personal tasks alongside work tasks?

Yes. Create a work container for "Personal" (e.g., gray) and manually add personal tasks. Use Panorama mode to see all tasks (work and personal) together, each with their work’s color. For example, a red task is for Client A, while a gray task is for groceries.

How does Foco handle recurring tasks from connected apps?

Foco imports recurring tasks as one-time tasks. If a GitHub issue is set to recur weekly, Foco imports the first occurrence. When you complete it, the next occurrence won’t appear unless it’s created in GitHub. For recurring tasks, use Foco’s built-in recurrence feature (e.g., set a task to recur daily or weekly).

What if I disconnect a tool from Foco?

Disconnecting a tool (e.g., GitHub) stops new tasks from importing, but existing tasks remain in Foco. You can still edit or complete them, but they won’t sync back to GitHub. To avoid confusion, archive or delete tasks from disconnected tools.

Does Foco support custom fields from tools like Jira or Asana?

Foco imports standard fields (title, due date, priority, assignees) but doesn’t support custom fields. For example, if a Jira ticket has a custom field like "Sprint," it won’t appear in Foco. Use tags or notes to capture this information manually.

Try Foco

Every task from every job in one place. Free to start.

Start free