n8n has its own output parser tool call that the LLM can do to format its final response to a specific format.

https://github.com/n8n-io/n8n/blob/879e8f17ec9b7d23c7e311d4937d4f08009f91aa/packages/%40n8n/nodes-langchain/nodes/agents/Agent/agents/ToolsAgent/V2/execute.ts#L253

INodeExecutionData is the interface the format in which the output of an execution by a node is stored - https://github.com/n8n-io/n8n/blob/master/packages/workflow/src/interfaces.ts#L1248