Hi everyone,
I’m building an automation that processes user-submitted information about new technologies and creates a structured card in DB. The user input can include:
- A text description of the technology
- One or more links to the technology
- Or both
How the automation works:
- The first AI Agent checks if any links are included in the message. If so, it:
- Follows them
- Extracts and merges data from those links
- Cleans it up
- Returns a single combined text item
- The second AI Agent receives:
- The result from the previous step (parsed data from links) as item A
- The original user message (from the Webhook) as item B
- Both are used in the prompt for structured analysis.
The Problem:
- If the user sends only a text description, everything works.
- If the user sends only links or text description + links, the prompt expression referencing the original user message:
{{ $('Webhook1').item.json.body.entry[0].messaging[0].message.text }}
turns red and causes the Agent to fail with the following error:
Paired item data for item from node 'Code1 Об'єднуємо айтеми1' is unavailable.
Ensure 'Code1 Об'єднуємо айтеми1' is providing the required output.
An expression here won't work because it uses .item and n8n can't figure out the matching item.
But if I delete {{ $(‘Webhook1’).item.json.body.entry[0].messaging[0].message.text }} from promt- everything is work, although it is not clear how it affects the result if only links were sent
It seems that the presence of output from the link-parsing flow somehow breaks access to the original user input, even though that node comes earlier in the flow and should still be accessible.
My question:
Why does referencing the original user message fail only when the link-parsing flow is active?
How can I safely combine both sources of input (original message and parsed results) without breaking .item references?
Any workaround or explanation would be appreciated. Thank you!

