anaksor-ocr
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
An n8n workflow for a reporting inbox. It screenshots each new Gmail message, has an OpenAI vision model read the picture with the headers, and opens one Jira ticket with the analysis and the screenshot.
Gmail phishing check by screenshot with one Jira ticket is an n8n workflow in the Productivity category, listed by Mindket. It is free. This is version 1, last updated on . Download it on this page or copy its JSON, then import it into an n8n canvas. Nothing runs until you activate it in n8n.
New Gmail message
It starts when a new email arrives in the Gmail account. Set first:
One Jira ticket per email, with an analysis written from its screenshot and headers, and the screenshot attached
What you need before you start.
Inbox
Delivers each new email with its HTML, text and headers.
NeedsA Gmail account
Screenshot
Draws the email’s HTML as an image.
Needshcti.io API ID and key
Vision model
Looks at the screenshot with the headers and writes the analysis.
NeedsOpenAI API key
Ticket tracker
Holds the ticket with the analysis and the screenshot.
NeedsA Jira Cloud site and credential
Optional inbox
A switched off branch that reads Outlook instead of Gmail.
NeedsA Microsoft credential, only if you switch it on
Checked by Mindket on 13 Nov 2026
This n8n workflow checks suspicious emails for phishing by looking at them. It watches a Gmail account, draws each new message as a screenshot and sends that picture, with the headers, to an OpenAI vision model. The model writes an analysis, and the workflow opens one Jira ticket that holds it. The screenshot is attached to the ticket. Thirteen nodes run it, beside five sticky notes.
IT and security teams with a mailbox for reported emails, and service providers who handle such reports for clients. It suits people who want an analyst’s first read in words, with the picture of the email next to it. Skip it if you want a flag that sorts tickets by itself, or if links matter most, because the model sees a picture and not the addresses behind it. Its cousin, Gmail phishing check that files a Jira ticket per verdict, reads the HTML text and sorts tickets into malicious and benign.
| Industry | Who uses it | How they use it | Example |
|---|---|---|---|
| IT | IT teams | Get a written first read of each reported email | An administrator reads the analysis in the ticket before replying to the reporter. |
| Managed services | Service providers | Document each reported email for a client | A provider keeps the ticket and its screenshot as part of a client report. |
| Security | Security analysts | See the email as the recipient saw it | An analyst compares the screenshot with the analysis for odd logos and wording. |
| Finance | Accounts teams | Check emails that ask for payment changes | A clerk forwards a bank change request and reads the analysis before paying. |
You need Gmail, hcti.io, OpenAI and Jira accounts, plus the ids of one Jira project and one issue type.
Any n8n that can reach Gmail, hcti.io, OpenAI and Jira will run it, as long as the workflow stays switched on, because the Gmail trigger asks for new mail every minute.
Download saves a zip with workflow.json and Mindket’s setup notes in your downloads folder. Import the file, add the credentials, put in your Jira ids and switch the workflow on.
| Need | Detail |
|---|---|
| n8n | On n8n Cloud or on a server of your own |
| Gmail | An account that receives the suspicious emails |
| hcti.io | An API ID and an API key |
| OpenAI | An API key |
| Jira | A Jira Cloud site, with the ids of a project and an issue type |
workflow.json.Gmail Trigger.Screenshot HTML and Retrieve Screenshot.ChatGPT Analysis.Create Jira Ticket, replace <YOUR_JIRA_PROJECT_ID> and <YOUR_JIRA_ISSUE_TYPE_ID> with the ids from your Jira site.Forward a suspicious email to the Gmail account, or let people send it there. After the next check of Gmail, a Jira ticket appears with the analysis in its description and the screenshot attached. Read the analysis. Open the screenshot. Decide what to do.
| To change | Where |
|---|---|
| What the model looks for | The prompt in ChatGPT Analysis |
| Ticket wording | The summary and description fields of Create Jira Ticket |
| The model and its reply cap | ChatGPT Analysis |
| Which emails are checked | The filters of Gmail Trigger |
| Gmail or Outlook | Which of the two triggers is switched on |
A clerk in an accounts team gets an email that claims to come from a supplier and asks her to pay a new bank account. She forwards it to the security mailbox.
The workflow draws a screenshot and sends it to the model with the headers. The analysis notes that the logo looks stretched, the greeting is generic and the reply address differs from the sender’s. A Jira ticket appears with that analysis and the screenshot attached. An administrator calls the supplier on a number already on file.
If you are new. n8n draws a workflow as boxes joined by lines, and each box, a node, does one job. Phishing is an email that tries to trick you. It wants a password or money. A vision model is an AI that can look at a picture and describe it. Jira is a tool where teams track their work as tickets.
For experts. The model reads a rendered picture, so the HTML never reaches it, and the headers ride along in the prompt.
| Node | What it does | What to know |
|---|---|---|
Screenshot HTML | Asks hcti.io to render the HTML | A POST to https://hcti.io/v1/image with HTTP Basic Auth. The reply holds the image address in url |
Retrieve Screenshot | Downloads the image | It becomes the binary property data |
ChatGPT Analysis | Describes the picture and judges it | Image analyze with base64 input, gpt-5.6-sol and a cap of 4000 tokens. The text is in content |
Create Jira Ticket | Opens the ticket | The description holds the recipient, the subject, the plain text and the analysis in Jira wiki markup |
Rename Screenshot | Sets the file name of the image | A Code node edits the binary’s fileName before the upload, which reads the data property |
It checks every email in that Gmail account, and it sends private mail to three outside services.
Gmail Trigger has no filter, so every new email in that account is analyzed and ticketed. Use a mailbox that people forward suspicious messages to, or add a label filterScreenshot HTMLchatgpt-4o-latest, which OpenAI’s deprecations page, read on 12 November 2026, lists as shut down on 17 February 2026. Its listed replacement was itself shut down on 23 July 2026 and points to gpt-5.6-sol. Mindket’s copy uses that model. It also raises the reply cap from 1500 to 4000 tokens, because a reasoning model counts its thinking against the cap. The Jira ids are placeholders, an empty query row is gone and the sticky notes are shortgpt-5.6-sol costs 4 dollars per million input tokens and 20 per million output tokens on OpenAI’s page. gpt-5.6-terra and gpt-6-luna take images too and cost less, so try them if the price mattersAn n8n workflow for a reporting inbox. Each new Gmail message is drawn as a screenshot, and a vision model from OpenAI
looks at that picture, together with the message headers, to judge whether it looks like phishing. The workflow then
opens one Jira ticket with the analysis and attaches the screenshot.
Mindket lists a cousin, Gmail phishing check that files a Jira ticket per verdict. That one sends the HTML text and the
headers to the model, gets a yes or no flag back, and opens either a malicious or a benign ticket. This one shows the
model the picture, writes free text and opens a single kind of ticket with the plain text of the email in its
description. Pick this one to let the model see the email as a person would, and the other for a flag that sorts tickets.
workflow.json: the workflow as n8n exports it, 13 nodes and 5 sticky notes. It holds no credential.README.md: these notes.ChatGPT Analysis used chatgpt-4o-latest. OpenAI's deprecations page, read on 12 November 2026, lists it as shut downgpt-5.1-chat-latest, was shut down on 23 July 2026 and points togpt-5.6-sol. The step now uses gpt-5.6-sol, which takes images.Create Jira Ticket held the project and issue type ids of its author's own site. They now read<YOUR_JIRA_PROJECT_ID> and <YOUR_JIRA_ISSUE_TYPE_ID>.Screenshot HTML sent an empty query parameter row. We removed the row.workflow.json.Gmail Trigger.Screenshot HTML and Retrieve Screenshot.ChatGPT Analysis.Create Jira Ticket, replace <YOUR_JIRA_PROJECT_ID> and<YOUR_JIRA_ISSUE_TYPE_ID> with the ids from your Jira site.Gmail Trigger checks the account every minute with Simplify turned off, so it receives the full message.Set Gmail Variables keeps the HTML, the plain text, the headers, the subject and the recipient.Set Email Variables passes those fields on to Screenshot HTML.Screenshot HTML posts the HTML to hcti.io, which draws it as an image. Retrieve Screenshot downloads that image.ChatGPT Analysis sends the image to gpt-5.6-sol with a prompt that adds the headers and asks whether the email coulddata property.Create Jira Ticket opens one ticket. Its summary is the subject with a phishing report label. Its description namescontent.Rename Screenshot names the image emailScreenshot.png, and Upload Screenshot of Email to Jira attaches it to theA Microsoft Outlook Trigger branch sits switched off beside the Gmail one. It fetches headers through the Microsoft
Graph API and feeds the same steps.
ChatGPT Analysis.Create Jira Ticket.ChatGPT Analysis.Microsoft Outlook Trigger and switch off Gmail Trigger. The Outlook branch needsGmail Trigger.Gmail Trigger has no filter, so every new email in that account is analyzed and ticketed. Use a mailbox that peopleScreenshot HTML.gpt-5.6-sol costs 4 dollars per million input tokens and 20 per million output tokens on OpenAI's page. gpt-5.6-terragpt-6-luna take images too and cost less, so try them if the price matters.NOTICE.md 647 B README.md 6 KB workflow.json 14 KB
Sokheng · Kit
Reads Khmer and English text from documents, receipts and photos of signs, using a detector for text lines and a recogniser for each line. Suits developers who…
Qwen · Kit
Qwen2.5-7B-Instruct as GGUF files in eight quantization sizes, to chat with locally through llama.cpp. For people who want a capable 7.6B model on their own co…
ACE-Step · Kit
Generates music from text with a 4B diffusion decoder, 50 steps and guidance control, aiming for higher audio quality than the base. For creators with a GPU of…
op7418 · Skill
Skill that makes single-file HTML slide decks, slide illustrations and platform covers in two visual styles, with a presenter mode for rehearsal. For speakers…
zarazhangrui · Skill
Builds HTML presentations from scratch or from a PowerPoint file and shows visual style previews to pick from, for people who want web slides with no CSS or Ja…
iptv-org · Kit
Collects publicly available live TV channels from many countries into playlists that any video player with live streaming can open. Made for viewers and for de…