Mailhook and Monday: AI Resume-to-Candidate Extractor Template

Email a resume to a Mailhook address and Spojit fetches the PDF, extracts the candidate's name, skills, and years of experience as structured data, then adds them as a new item on your Monday.com hiring board.

What It Builds

This template starts with a Mailhook trigger that fires the moment a resume lands at a dedicated Spojit address. An Attachment node pulls the PDF bytes, a Knowledge node embeds the document into a transient collection and queries it in the same run to return a clean JSON object (name, skills, years of experience), and a Monday Connector node creates a candidate item on your board.

The result is a hands-off intake pipeline: candidates or recruiters forward resumes to one address, and each one becomes a structured Monday item without manual copy-paste or re-typing.

The Prompt

Paste this into Miraxa, the intelligent layer across your automation, and it builds the workflow and connects the tools for you:

Build a workflow triggered by a Mailhook. When a resume email arrives, use an Attachment node to fetch the first PDF attachment, then use a Knowledge node in transient mode to embed that PDF and query it for the candidate's full name, a list of their skills, and their total years of experience as structured JSON. Then add a new candidate item to my Monday.com hiring board with the name as the item name and the skills and years of experience in their columns.

Connectors Used

  • Mailhook trigger - generates a unique @mailhook.spojit.com address that starts a run whenever a resume is emailed in. No mailbox or login needed.
  • Attachment node - fetches the actual bytes of the resume PDF referenced by the Mailhook trigger. Set Mode to Single and Filename pattern to *.pdf.
  • Knowledge node - in Embed mode it embeds the resume into a Transient collection, then in Query mode it returns the extracted fields, shaped by a Response Schema.
  • Monday - the create-item tool adds the candidate to your board (use list-boards first if you need the board name).

Customize It

Change the Monday board name to whatever your hiring pipeline is called, and adjust the columns the prompt fills (for example add a Source column or map {{ input.from }} as the applicant email). To capture more fields, expand the Knowledge query in the prompt to also pull location, current title, or a one-line summary. If you accept Word resumes too, set the Attachment Filename pattern to match *.pdf, *.docx and change the Knowledge node Document Type accordingly. You can also add a From allowlist on the Mailhook trigger so only mail from your recruiters or job board starts a run.

Tips

  • Give the Knowledge Query node a Response Schema with name, skills, and yearsExperience so the output is reliable JSON you can map straight into Monday columns instead of free text.
  • Use a Transient collection (not a persistent one) so each resume is embedded, queried, and discarded per run. There is no document table to clean up afterward.
  • The Monday create-item call is a predictable single action, so keep that node in Direct mode to avoid spending AI credits where they are not needed. Reserve the AI for the extraction step.

Common Pitfalls

  • The designer will not save an Attachment node unless the trigger is a Mailhook. If you swapped in an Email or Webhook trigger, the Attachment node has nothing to fetch.
  • Attachments are capped at 10 MB each (25 MB per run by default). A very large scanned resume can exceed this; ask the sender to send a standard PDF export rather than a high-resolution scan.
  • Scanned, image-only resumes have no selectable text. Set the Knowledge Document Type to the image OCR option so the text can still be read, or the query will come back empty.
  • Map the Knowledge output fields into the correct Monday columns. If a skills column is a different type than the JSON value, the create-item call can reject it, so confirm your board column names and types first.

Related Articles

Did this answer your question? Thanks for the feedback There was a problem submitting your feedback. Please try again later.