Quick Overview
This workflow closes the loop on Jira support tickets by sending customer auto-replies and CSAT requests via WhatsApp (WAHA) or Gmail, then saving CSAT responses back to Jira and optionally logging notes to HubSpot.
How it works
- Receives a new ticket payload from another n8n workflow run, loads the close-loop configuration, and normalizes the message details for the customer’s channel.
- Checks whether an acknowledgement can be sent, then sends the auto-reply via WAHA WhatsApp API or Gmail.
- Optionally creates a HubSpot note (and associates it to the contact) when a HubSpot contact ID is provided.
- Adds a Jira comment and label to mark that the customer auto-reply was sent.
- Receives a Jira webhook when an issue transitions to (or is in) Done, validates a shared token, and skips tickets that already have a CSAT-sent label.
- Fetches the Jira issue to determine channel and contact details, builds a CSAT form link, and sends the CSAT request via WAHA WhatsApp API or Gmail.
- Adds a Jira comment and label to record that the CSAT request was sent, then accepts CSAT form submissions, writes the score (and optional custom field) to Jira, and optionally logs the CSAT as a HubSpot note.
Setup
- Add Jira HTTP Basic credentials (email + API token) and update the Jira base URL, project key, Done status name, label names, and custom field IDs in the embedded configuration code.
- Configure the Jira webhook to POST to this workflow’s “jira-csat” webhook URL and include the shared token (query parameter or x-webhook-token header) matching the workflow configuration.
- Connect a Gmail OAuth2 account for sending customer emails and set the sender account you want to use.
- Provide WAHA (WhatsApp HTTP API) header-auth credentials and confirm your WAHA base URL and session ID are correct for sending WhatsApp messages.
- If you use HubSpot logging, add a HubSpot private app token as header auth and ensure the Jira ticket contains the HubSpot contact ID custom field.
- After importing the template, copy the CSAT Form Trigger webhook path into the “CSAT Form Path Config” node so generated form links point to the correct form endpoint.