n8n

How to Automate Jira Assignment and Workload Balance?

Keep unassigned tickets from slipping through. This automation builds a smart index from resolved issues and uses it to assign stale Jira tickets to the right teammate while balancing workload. It is built for engineering and service teams that want faster triage with less manual effort.

Two scheduled runs power the flow. One job pulls recently resolved Jira issues, removes duplicates, formats the text, creates embeddings with OpenAI, and stores them in a Supabase vector database. The other job checks Jira for unassigned To Do issues older than five days. For each stale issue, an AI agent searches the vector store for similar resolved tickets and notes who fixed them. The flow turns those people into candidates, checks each person’s current In Progress count via Jira JQL, picks the least busy teammate, assigns the issue, and leaves a comment. If no good match is found, it skips.

You will need Jira Software Cloud, a Supabase project with pgvector, and an OpenAI API key. After setup, teams cut manual triage and move work faster with fair load sharing. This is useful for product squads, support engineers, and IT operations that manage active issue queues.

What are the key features?

  • Two schedule triggers keep the index fresh and run stale ticket checks on a loop.
  • Pull recent resolved tickets from Jira and remove duplicates before indexing.
  • Format and split issue text, then create embeddings with OpenAI for better search.
  • Store and search issue vectors in Supabase with a tool named get_similar_issues.
  • AI chat agent finds similar past tickets and proposes likely assignees.
  • Convert candidates to items and check each user’s In Progress count with Jira JQL.
  • Sort by lowest workload, assign the ticket, and post a clear comment in Jira.
  • Skip gracefully when no similar issues are found to avoid bad assignments.

What are the benefits?

  • Reduce manual triage from 60 minutes to 10 minutes per day
  • Automate assignment for tickets unassigned longer than 5 days
  • Balance workload by choosing the teammate with the fewest active issues
  • Improve match quality by using similar resolved issues as guidance
  • Connect Jira, Supabase, and OpenAI in one continuous flow
  • Handle hundreds of tickets with vector search and batching

How do you set it up?

  1. Import the template into n8n: Create a new workflow in n8n > Click the three dots menu > Select 'Import from File' > Choose the downloaded JSON file.
  2. You'll need accounts with Jira Software Cloud, Supabase and OpenAI. See the Tools Required section above for links to create accounts with these services.
  3. In the n8n credentials manager, create Jira Software Cloud credentials. Use your Atlassian site URL, email, and an API token from your Atlassian account. If unsure, double click any Jira node, click 'Credential to connect with' > 'Create new credential', and follow the on screen steps.
  4. Set up Supabase: create a project, enable the pgvector extension, and create a table named documents as required by the vector store. In n8n, create a Supabase credential with your project URL and anon or service key. If unsure, open a Supabase node and create a new credential from the dropdown.
  5. Create an OpenAI credential in n8n using your API key from the OpenAI dashboard. Select the gpt 4o mini model in the OpenAI Chat nodes, or adjust to a model you prefer.
  6. Open the Supabase Vector Store nodes and confirm the table name documents, mode settings, topK 20, and tool name get_similar_issues are already set.
  7. Review the Jira nodes: update the JQL in Last 50 Resolved and Get Unassigned Tickets more than 5 days to match your project key, statuses, and age rules.
  8. Check the Collect Fields node and confirm the field mappings align with your Jira fields for project key, issue key, type, summary, and description.
  9. Set both Schedule Trigger nodes to the intervals you want, such as hourly for indexing and every 15 minutes for stale checks.
  10. Seed the index: execute the flow from the Schedule Trigger path that loads resolved issues. Verify new rows appear in your Supabase documents table.
  11. Test assignment: temporarily relax the age filter in the stale JQL or pick a known stale ticket. Run the second Schedule Trigger path and watch the agent, candidate parsing, workload checks, and sort nodes.
  12. Confirm results in Jira: the ticket should show a new assignee and a comment that explains the auto assignment due to age.
  13. Troubleshoot: if no candidates are found, ensure resolved issues were indexed and embeddings were created. If you get auth errors, recheck credentials. If OpenAI rate limits occur, increase the schedule interval. If Supabase errors appear, verify the documents table and pgvector setup match LangChain requirements.

Tools Required

$24 / mo or $20 / mo billed annually to use n8n in the cloud. However, the local or self-hosted n8n Community Edition is free.

Jira Software Cloud

Sign up

Free plan: $0 / mo (up to 10 users); REST API access via API token available on Free and paid plans

OpenAI

Sign up

Pay-as-you-go: GPT-5 at $1.25 per 1M input tokens and $10 per 1M output tokens

Supabase

Sign up

Free: $0 / mo — unlimited API requests; 500 MB database; 5 GB bandwidth; 1 GB storage; 50,000 MAUs.

Similar Templates

Join Futurise to access 1,200+ automation templates

Get instant access to ready-made automation workflows for n8n, Make.com, AI agents, and more. Download, customise, and deploy in minutes.