ChatGPTWorkInbox & emailAI score · PendingAI-assisted edit · no obvious prompt-injection riskn8n.io

Automatically create JIRA issues from Outlook email support requests

Scheduled poll of Outlook shared inbox → AI triage → auto-create JIRA issues with labels and priority

Some experienceStepsWorkflowPrompt
Who
Teams who need to turn Outlook shared-inbox support emails into tracked JIRA issues
You get
Hourly fetch of new emails, deduplication, AI-generated labels/priority/summary/description, then JIRA creation
You need
n8n · jira · outlook

Constraints

Prerequisites: n8n instance; Outlook shared inbox (recommended dedicated to support); OpenAI API key; JIRA Cloud project access. Three credentials required: microsoftOutlookOAuth2Api, openAiApi, jiraSoftwareCloudApi. Template runs hourly by default, fetching the last hour of mail. JIRA project/issueType defaults of 10000 must be replaced with actual IDs.

What they did

Template author jimleuk built an n8n workflow: a Schedule Trigger polls an Outlook shared inbox hourly; emails are deduplicated and converted to Markdown; a Basic LLM Chain with gpt-4o-mini classifies labels, assigns priority, and rewrites summary and description; finally a JIRA node creates the issue.

How it went

Published on n8n.io with 4,581 views. The author reports the flow automates ticket triage and reduces manual classification effort. (author_report)

Worth knowing

The template assumes a dedicated support inbox; a general inbox may require extra classification/filtering nodes, which can add cost. JIRA project/issueType defaults of 10000 are examples and must be replaced. No built-in retry or failure notification is included; consider adding these for production. Extensible to post-issue steps like auto-resolution or capacity planning.

n8n workflow template

Structure checked · Not run-tested

Use “Import from File” in n8n, or copy the JSON and paste it into the editor. Connect your own accounts, then try test data. The template is inactive by default.

Setup and test checklist

Credentials to connect

  • Get Recent Messages node: connect microsoftOutlookOAuth2Api credentials.
  • OpenAI Chat Model node: connect OpenAI API credentials.
  • Create Issue node: connect jiraSoftwareCloudApi credentials.

Configuration to replace

  • Source template is n8n public workflow #3893 (~12 nodes). Keep inactive after import; verify triggers, expressions and external API endpoints.
  • Sticky-note guidance is informational; replace placeholders with your own accounts, sheet schemas or channel IDs.

Test input and expected output

  • Manually run the main path once in a test workspace and confirm credentialed nodes authenticate without errors.
  • Drive one synthetic/redacted sample through and check output fields and downstream writes before enabling in production.

Template changes

  • Author credential bindings, webhookId and execution data are removed; the workflow is inactive. Nodes, connections and original prompts are preserved. Not run-tested in n8n.
  • No business-logic edits; verify keys, quotas and privacy compliance before use.

Template retrieved: 2026-10-24

Steps

  1. Configure trigger and email fetch

    Create a new n8n workflow. Add a Schedule Trigger node set to run every hour. Add a Microsoft Outlook node, choose Get Recent Messages, and configure the shared mailbox credential. In filtersUI, set receivedAfter to `={{ $now.minus({ "hour": 1 }).toISO() }}` to pull only the last hour. Keep fields such as body, from, subject, and receivedDateTime.

  2. Deduplicate and convert format

    Add a Remove Duplicates node (named Mark as Seen in the template), select removeItemsSeenInPreviousExecutions, and set dedupeValue to `={{ $json.id }}` so each email is processed once. Then add a Markdown node with html set to `={{ $json.body.content }}` to convert HTML email bodies to Markdown for easier parsing.

  3. AI triage and issue generation

    Add a Basic LLM Chain node (Generate Issue From Support Request), connect an OpenAI Chat Model sub-node (model: gpt-4o-mini) and a Structured Output Parser sub-node. In the LLM Chain text field, enter the user message template; in messages, enter the system prompt that instructs the AI to classify by label, assign priority 1–5, and rewrite summary and description. The Structured Output Parser schema must define labels (array of strings), priority (number), summary (string), and description (string).

    Execution prompt · Source text。Basic LLM Chain node messages.messageValues[0].message field

    =Your are JIRA triage assistant who's task is to
    1) classify and label the given issue.
    2) Prioritise the given issue.
    3) Rewrite the issue summary and description.
    
    ## Labels
    Use one or more. Use words wrapped in "[]" (square brackets):
    * Technical
    * Account
    * Access
    * Billing
    * Product
    * Training
    * Feedback
    * Complaints
    * Security
    * Privacy
    
    ## Priority
    * 1 - highest
    * 2 - high
    * 3 - medium
    * 4 - low
    * 5 - lowest
    
    ## Write Summary and Description
    * Remove emotional and anedotal phrases or information
    * Keep to the facts of the matter
    * Highlight what was attempted and is/was failing

    Execution prompt · Source text。Basic LLM Chain node text field

    =Reported by {{ $json.from.emailAddress.name }} <{{ $json.from.emailAddress.address }}>
    Reported at: {{ $now.toISO() }}
    Summary: {{ $json.subject }}
    Description:
    {{ $json.data.replaceAll('\n', ' ') }}
  4. Create JIRA issue

    Add a JIRA node, choose Create Issue, and configure the jiraSoftwareCloudApi credential. Enter actual project and issue type IDs (the template shows 10000 as an example and it must be replaced). Set Summary to `={{ $json.output.summary }}`, Description to `={{ $json.output.description }}`, Labels to `={{ $json.output.labels }}`, and Priority to `={{ $json.output.priority }}`. Save and activate the workflow.

Prompt you can copy

Setup guidance · Editorial suggestion。Setup assistant: confirm inputs and permissions first

This block is the prompt. Ads are never placed here.

You are setting up an n8n workflow that fetches support emails from an Outlook shared inbox, triages them with AI, and creates JIRA issues. First confirm you have: an n8n instance, access to an Outlook shared inbox, an OpenAI API key, and a JIRA Cloud project. If you need to change the label set or priority definitions, edit the system prompt in the Basic LLM Chain node.

To change labels or priorities, edit the system prompt in the Basic LLM Chain; JIRA project/issueType IDs must be replaced with real values

Source

Automatically create JIRA issues from Outlook email support requests · jimleuk · n8n.io · 2025-05-06

Comments & feedback

Tried this method? Share results, problems or improvements. Comments appear after moderation. Please avoid sensitive information.

Loading…

    Related