Quick overview
This workflow listens for Jira issue create/update events, finds unassigned issues in a target project, pulls team member data from Airtable plus each member’s open Jira workload, and uses an OpenRouter-powered AI agent to choose an assignee and update the Jira issue.
How it works
- Triggers from Jira on issue creation or issue update.
- Sets the target Jira project key, then fetches all issues for that project from Jira and the matching team roster from Airtable.
- Filters the Jira results to keep only issues with no assignee and stops if there are no issues to process.
- Iterates through each unassigned issue and, for each team member from Airtable, queries Jira for their non-DONE issues to capture current workload.
- Consolidates the team roster and workload details into a single payload tied to the current issue key.
- Uses an OpenRouter chat model–backed AI agent (with Jira Issue lookups) to select the best Jira accountId and return a structured JSON decision with a reason.
- Updates the Jira issue by setting its assignee to the chosen accountId, then continues to the next unassigned issue.
Setup
- Add credentials for Jira Software Cloud, Airtable Personal Access Token, and OpenRouter.
- In Airtable, create or map a team members table that includes the fields used by the workflow (including Jira_Project_Key and Jira_Account_Id) and set the correct base/table in the Airtable search step.
- Update the JIRA_PROJECT_KEY value to the Jira project you want to manage and ensure the Airtable filter matches that key.
- Enable a Jira webhook/trigger connection for issue_created and issue_updated events and activate the workflow.