Integration n8n + jira software + evolution

Hello, I’m currently trying to configure the following flow in n8n:

A WhatsApp webhook sends a POST request with a URL to Evolution. Inside Evolution, I have the webhook and the integration with n8n configured, both pointing to this same URL (I wasn’t sure which one applies, so I set it up in both).

The next step in the flow is: when someone sends the word “suporte” (support) to the number registered in Evolution, it should trigger the support flow. Then, the system checks if the sender is an existing client — if yes, it proceeds to the Jira flow, creating a ticket inside Jira.

In the following step, it informs the client about the ticket number and that someone will contact them soon. The last webhook is the response “ok”, which completes the flow.

If the sender is not yet a client, after typing “suporte,” it follows another flow asking for their client details.

When I test the flow through Postman, everything works fine. However, it doesn’t correctly recognize the condition “suporte and is client = true.” Instead, it returns false and goes down the wrong path.

Also, when I send the message directly to the number on WhatsApp typing “suporte,” the flow doesn’t trigger — it only works when tested from Postman.

Hi voipsafe can you please show the condition? So far, this syntax is not correct from my perspective: “suporte and is client = true”

Thanks.

of course
in this suport, not have a condition

in check suport, I have it configured like this

Well, there are a few points to keep in mind in this case.

  1. By default, an If node will always return False if no condition is added.

  2. On the other hand, we must keep in mind that the flow’s path will depend on the variables isSupport and isClient, correct?
    So far, given the message coming from WhatsApp, what you’re doing is checking whether it’s consulting for Support or not. If it is consulting, then isSupport will return True. Otherwise, False.
    What I’m not seeing is how to evaluate whether it’s a client or not. But assuming you have both values ​​already on hand, then you need to include both in the If node with the following condition:

    isSupport = true AND isClient = true

    This way, both values ​​will be considered to go down the true or false branch.

  3. There may be something I’m not quite understanding because I can’t figure out why it’s working for you with Postman.

thanks for feedback
I’m new to n8n so I have some questions at first
would it be possible for me to share my stream somehow?
The idea of ​​identifying whether you are a customer or not would be to send a question in the chat flow. If you are already a customer (true), you will follow the flow of opening a ticket. If you are not a customer (false), you will follow another flow without opening a ticket.

I adjusted the this support

I see. Well, another thing you should keep in mind is that, to reference previous information in a node, in most cases, it’s recommended to always run the workflow up to the previous node.

In this case, when you’re in the “If” node, you’re not seeing any values ​​on the left side; this means the flow hasn’t reached the “If” node. It’s therefore recommended to run the workflow up to the If node so you can see the values ​​of the isSupport and isClient variables if they exist anywhere in the flow. If these variables don’t appear anywhere, then something is wrong.

For example, I ask you, where in the flow does the “isClient” variable appear? Does it come from the webhook or from where?

Regarding this question: “Would it be possible for me to share my stream somehow?”
If you’re referring to sharing the workflow here, yes, it is possible using the </> symbol and pasting the workflow code obtained when the workflow is downloaded.

here is the flow, I think it is easier to understand

Thank you.

Okay, I want to make some observations, but first, I want to clear up an important question: Are you going to use only this n8n workflow to do everything you have in mind, or are you going to use more than one?
Because you can also create workflows that call other workflows. Based on this, I’ll answer you.

Since you’re just starting out, I recommend just one.

that, in the beginning I will use only one flow
The idea further ahead is to integrate Openia, associate the calls with Jira agents, as soon as a call is finalized, go to the satisfaction survey and this call evaluation goes to Jira, I say this because we used another system that had these resources, I believe it is possible to do all this within N8N

What next actions can I take to solve this simple flow?

Hi @voipsafe , I’ve created two different flows so you can analyze which one suits you best. One uses only JavaScript code to parse the message, and another uses an AI model (Gemini). I recommend using AI as it will likely be more accurate when parsing a wide variety of messages.

I’m simulating the message received with the webhook. You’ll have to figure out how to replace that part.

Let me know your thoughts.

thanks for feedback
I will adjust these flows you sent and test them in my environment, I will update here with progress information
Another question, I don’t know if you have knowledge in integration with Jira software, but we identify our customers in Jira from the email, that is, if the customer had the email registered in Jira, he was allowed to open calls, we can create this in the flow and identify that he is already a customer by the email registered in Jira or what would be another way to identify that he is already a customer in Jira?

I tested the flow you sent and it worked until the call was created, but it’s only working when I send it through postman. When I test it by sending the support message to the number registered in evolution, it only appears when typing but doesn’t return anything.

The connection cannot be established, this usually occurs due to an incorrect host (domain) value

Error details

From HTTP Request

Error code

ENOTFOUND

Full message

getaddrinfo ENOTFOUND api.evolution-api.com

Request

{ "body": { "number": "", "options": { "delay": 1200, "presence": "composing" }, "textMessage": { "text": "✅ Olá! Seu chamado foi criado automaticamente no Jira.\n\n📋 **Detalhes:**\n• Cliente: \n• Data: 22/10/2025, 13:10:56\n\n🔗 Em breve um agente entrará em contato para dar continuidade ao seu atendimento.\n\nObrigado por entrar em contato! 🙏" } }, "headers": { "authorization": "**hidden**", "content-type": "application/json", "accept": "application/json,text/html,application/xhtml+xml,application/xml,text/*;q=0.9, image/*;q=0.8, */*;q=0.7" }, "method": "POST", "uri": "https://api.evolution-api.com/message/sendText/553432541806", "gzip": true, "rejectUnauthorized": true, "followRedirect": true, "resolveWithFullResponse": true, "followAllRedirects": true, "timeout": 10000, "encoding": null, "json": false, "useStream": true }
Other info

Item Index

0

Node type

n8n-nodes-base.httpRequest

Node version

4.2 (Latest)

n8n version

1.112.0 (Cloud)

Time

22/10/2025, 10:10:56

Stack trace

NodeApiError: The connection cannot be established, this usually occurs due to an incorrect host (domain) value at ExecuteContext.execute (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-nodes-base@file+packages+nodes-base_@[email protected]_asn1.js@5_afd197edb2c1f848eae21a96a97fab23/node_modules/n8n-nodes-base/nodes/HttpRequest/V3/HttpRequestV3.node.ts:847:16) at processTicksAndRejections (node:internal/process/task_queues:105:5) at WorkflowExecute.executeNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1254:8) at WorkflowExecute.runNode (/usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1428:11) at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:1761:27 at /usr/local/lib/node_modules/n8n/node_modules/.pnpm/n8n-core@file+packages+core_@[email protected]_@[email protected]_08b575bec2313d5d8a4cc75358971443/node_modules/n8n-core/src/execution-engine/workflow-execute.ts:2338:11

Parameters

Settings

Docs

Method

URL

Authentication

Send Query Parameters

Send Headers

Specify Headers

Header Parameters

Name

Value

Name

Value

Send Body

Body Content Type

Specify Body

JSON

{

“number”: “{{ $json.from }}”,

“options”: {

“delay”: 1200,

“presence”: “composing”

},

“textMessage”: {

“text”: “:white_check_mark: Olá! Seu chamado foi criado automaticamente no Jira.\n\n​:clipboard: **Detalhes:**\n• Cliente: {{ $json.contactName }}\n• Data: {{ new Date().toLocaleString(‘pt-BR’) }}\n\n​:link: Em breve um agente entrará em contato para dar continuidade ao seu atendimento.\n\nObrigado por entrar em contato! :folded_hands:

}

}

{ “number”: “”, “options”: { “delay”: 1200, “presence”: “composing” }, “textMessage”: { “text”: “:white_check_mark: Olá! Seu chamado foi criado automaticamente no Jira.\n\n​:clipboard: **Detalhes:**\n• Cliente: \n• Data: 22/10/2025, 10:21:50\n\n​:link: Em breve um agente entrará em contato para dar continuidade ao seu atendimento.\n\nObrigado por entrar em contato! :folded_hands:” } }

Options

Timeout

You can view the raw requests this node makes in your browser’s developer console

I wish this node would…

Hey @voipsafe checking your messages now. I’m going to reply in a moment.

Okay, here are some observations:

  1. The “Set Fields (WhatsApp Message)” node should be removed. We used it earlier to simulate messages coming from the webhook.
  2. You need to connect the webhook node directly to the “Code” node (Is it for customer support?) to parse the message. In this step, you need to determine where the message is located in the webhook body. Then, you need to use that variable in the “Code” node and modify the following line: const inputText = $input.first().json.whatsAppMessage;
  3. The message you send must contain at least two keywords related to support and client. Otherwise, this won’t work.

Again, there’s currently no way to know if it’s a client or not, at least if that information comes from the webhook. Otherwise, if you are sure that you will run this workflow only when you already know that you is from a client and the workflow will be triggered only with the support word, then we should remove the isClient variable from the workflow.

Let me know if you understand this and base on that we can move forward.

Sure, I understand, I’ll send the updated code and the prints
I think to make it work, we can remove the option of already being a customer, keep only typing the keyword support, it will enter the true flow and open the call
remembering that I did these tests through postman, sending directly through the number that is registered in the evolution api does not work, it only appears when typing but does not return any flow

another question, we are using the evolution api, I saw that it is not native in n8n, node needs to be installedDo we need to have this node in the flow for the integration to work?

Hi @voipsafe , sorry, I was busy. Is there any way for you to use an alternative to Evolution? I’ve seen a lot of people get banned from using it. Can you watch the following video that explains how to use WhatsApp more securely?

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.