Why Connect Jira to Inbound Email
Project work is often coordinated across email and tools like Jira. Client feedback, bug reports, and approval requests arrive by email, but your team tracks work in Jira. JsonHook bridges this gap by converting inbound emails into structured data that Jira can use to create tasks, update records, and notify team members automatically.
Connecting your inbound email to Jira through JsonHook unlocks a range of high-value automation scenarios:
- Convert client feedback emails into actionable tasks automatically
- Create bug reports in your backlog from automated error-notification emails
- Assign tasks to team members based on the recipient or subject of an email
- Update task status when an approval email is received from a stakeholder
- Attach incoming email content to the relevant project record for full context
Jira supports Jira REST API (Issues endpoint), which makes it a natural target for JsonHook's outbound POST requests. Every email that hits your JsonHook address is parsed within milliseconds and delivered to Jira as a clean JSON object — no polling, no manual export, no middleware server to maintain.
Setting Up Jira with JsonHook
The following steps walk you through connecting JsonHook to Jira. The entire setup typically takes under ten minutes.
- Step 1: Create a Jira API token at
id.atlassian.comunder Security → API tokens. Note your Atlassian domain, email, and the token. - Step 2: In Make or n8n, create a workflow triggered by the JsonHook webhook URL. Add an HTTP Request action to
https://your-domain.atlassian.net/rest/api/3/issuewith Basic Auth (email:api_token) and a JSON body. - Step 3: In JsonHook, create an inbound address and set the automation webhook URL as the destination.
- Step 4: Map
subjectto the Jira issue summary,textto the description, and set theissuetypeandprojectfields statically or dynamically based on the email recipient address.
Once the connection is active, every email sent to your JsonHook address will be automatically parsed and forwarded to Jira. You can test the integration by sending a plain-text email to your JsonHook address and verifying that the payload appears in Jira within a few seconds.
JsonHook supports Jira REST API (Issues endpoint) on the Jira side, so no additional configuration is needed in Jira beyond the steps above. If Jira requires header-based authentication for incoming webhooks, add the required headers in the JsonHook endpoint configuration under Advanced Settings.
Example Workflow: When a client emails a bug report, create a Jira issue in the correct project with priority set
This walkthrough demonstrates one concrete way to use JsonHook with Jira. The scenario: When a client emails a bug report, create a Jira issue in the correct project with priority set.
When an email matching this scenario arrives, JsonHook parses the raw SMTP message and constructs the following JSON payload before POSTing it to your Jira endpoint:
{
"messageId": "",
"from": {
"name": "Jane Smith",
"address": "[email protected]"
},
"to": [
{ "address": "[email protected]" }
],
"subject": "When a client emails a bug report, create a Jira issue in the correct project with priority set",
"text": "Hi, I need help with my account. Please contact me at your earliest convenience.",
"html": "Hi, I need help with my account...
",
"date": "2026-03-15T10:32:00.000Z",
"attachments": [],
"headers": {
"x-priority": "1"
}
}
Jira Issue body: subject → fields.summary, text → fields.description.content[0].content[0].text (Atlassian Document Format), from.address → fields.reporter (if the user exists in Jira) or added to description. Parse priority keywords from subject to set fields.priority.name.
Once Jira receives this payload, it can execute any downstream action — whether that is posting a notification, creating a record, updating a field, or triggering an entire multi-step workflow. The key advantage is that the data arrives as structured JSON, so Jira never needs to parse raw email text or deal with MIME encoding.
Payload Mapping for Jira
JsonHook delivers a consistent JSON schema for every parsed email. The table below shows which JsonHook fields map to the equivalent fields in Jira. Use this as a reference when configuring your Jira Jira REST API (Issues endpoint).
| JsonHook Field | Description | Jira Field |
|---|---|---|
from.address | Sender email address | Sender / Contact email |
from.name | Sender display name | Sender / Contact name |
subject | Email subject line | Title / Subject / Name |
text | Plain-text email body | Description / Body / Message |
html | HTML email body | Rich text field / Notes |
date | Timestamp of receipt (ISO 8601) | Created date / Received at |
attachments[n].filename | Attachment filename | File name / Attachment label |
attachments[n].content | Attachment content (base64) | File content / Binary field |
headers.* | Raw email headers | Metadata / Custom properties |
messageId | Unique message identifier | External ID / Deduplication key |
Not every field will be present in every email. Always check for null or missing values before mapping to required fields in Jira. For text-only emails, html will be empty; for HTML-only emails, text may be empty or auto-generated from the HTML. The attachments array will be an empty array when no files are attached.
Best Practices for Jira Email Integration
Following these best practices will make your Jira email integration more reliable, easier to debug, and simpler to scale as your email volume grows.
- Use dedicated addresses per workflow. Create a separate JsonHook inbound address for each distinct Jira workflow you want to trigger. This makes routing explicit and avoids a single endpoint becoming a bottleneck for all email types.
- Validate the payload before acting. In Jira, add a conditional check at the start of your workflow to confirm that required fields like
from.addressandsubjectare present and non-empty before executing downstream actions. - Test with real emails first. Use JsonHook's delivery log to inspect the raw JSON payload before wiring up Jira. Confirm that all the fields you plan to map are actually populated by your email source.
- Handle errors gracefully. Configure Jira to catch webhook delivery failures and send an alert. JsonHook will retry failed deliveries, but your Jira endpoint should return a 2xx status promptly to acknowledge receipt.
- Keep secrets out of email content. Avoid routing emails that contain passwords, API keys, or PII through workflows unless you have appropriate data-handling controls configured in Jira. Use JsonHook's HTTPS delivery to protect data in transit.