Hi everyone 
I’m using Evolution API 1.6.1 within Docker and n8n to send WhatsApp messages.
When a message arrives at the n8n webhook, instead of the client’s actual number, I see something like this:
171983593590830@lid
I have tried using expressions like the following in the Set node:
JavaScript
$json[“body”][“data”][“remoteJid”].split(“@”)[0]
I’ve also tried participant and key.remoteJid, but it always returns @lid or undefined.
My goal is to automatically obtain the client’s actual phone number to send messages.
I’m running everything inside Docker, and my container is turned off to test LID_MODE.
Does anyone know how to configure Evolution API 1.6.1 to stop sending @lid and send the client’s actual phone number, or how I can resolve this from within n8n?
Any help would be greatly appreciated 
"Welcome to the community! 
The @lid issue is a result of how WhatsApp now handles internal identifiers. To get the real phone number back, you have two main options:
Option 1: Update your Docker Config (Recommended) In your Evolution API environment variables, set: WPP_LID_MODE=false After changing this, restart your container. This should stop the API from using LIDs and go back to sending the standard JID (phone number).
Option 2: Use the ‘Get Contact’ endpoint in n8n If you are stuck with the LID, you can add an HTTP Request node right after your Webhook.
-
Endpoint: GET /contact/profile/{{ $json.body.data.remoteJid }}
-
This will return the full profile data for that contact, which includes the actual phone number you need for your other nodes.
Option 3: Check the ‘Pushname’ Sometimes the phone number is sent in a different field called key.participant or within the sender object. Double-check your Webhook’s JSON output—if you see the number anywhere else, you can grab it with a simple expression like {{ $json.body.data.key.remoteJid.replace(':1', '').split('@')[0] }}.
Hope this helps you get those messages routed correctly!"