Describe the problem/error/question
I’m working with onOffice and n8n, and I’ve set up a webhook that sends an object ID when a process starts. The problem is, even though the API connection and HMAC signature are correct, the request returns empty or no data. I suspect it’s due to the wrong action type or field parameters, and I need to adjust the integration so n8n can reliably fetch the property data using that object ID.
What is the error message (if any)?
There’s no explicit error message being returned from the onOffice API — the request goes through successfully, but the response is either empty or missing the expected property data.
Please share your workflow
{
“nodes”: [
{
“parameters”: {
“path”: “b6231738-3233-4c32-af30-104a588ac686”,
“options”: {}
},
“type”: “n8n-nodes-base.webhook”,
“typeVersion”: 2.1,
“position”: [
0,
0
],
“id”: “40b2c2c6-9523-40ae-9b92-73b7f7d53ade”,
“name”: “Webhook”,
“webhookId”: “b6231738-3233-4c32-af30-104a588ac686”
},
{
“parameters”: {
“assignments”: {
“assignments”: [
{
“id”: “f888b602-1d2b-4a36-91a6-50f5d8658ac9”,
“name”: “estateId”,
“value”: “={{ $json.query.Objektnummer }}”,
“type”: “string”
},
{
“id”: “06901238-32ff-4775-96f5-e4da77a8ae59”,
“name”: “token”,
“value”: “={{ $vars.onOfficeToken }}”,
“type”: “string”
},
{
“id”: “c06df727-1abb-48d3-bdf2-e6c1dc882df1”,
“name”: “secret”,
“value”: “={{ $vars.onOfficeSecret }}”,
“type”: “string”
}
]
},
“includeOtherFields”: true,
“options”: {}
},
“type”: “n8n-nodes-base.set”,
“typeVersion”: 3.4,
“position”: [
224,
0
],
“id”: “23455f93-0139-4151-8d15-b1acc5415d94”,
“name”: “Edit Fields”
},
{
“parameters”: {
“jsCode”: “const crypto = require(‘crypto’);\n\n// Get values from Webhook\nconst token = $json.token || “c2ee2e782aba6dbd123103a82db96657”;\nconst secret = $json.secret || “8ff353e0b068e0edbd1044c6c0ddd5e71353e4b0894602f98009819e6e0daf7d”;\nconst estateIntern = $json.estateId;\n\n//
Handle empty input gracefully\nif (!estateIntern) {\n return {\n json: {\n error: true,\n message: “No estateId received in webhook body. Please POST JSON like { \“estateId\”: \“51\” }”,\n receivedInput: $json\n }\n };\n}\n\nconst hmacVersion = “1.0”;\nconst timestamp = Math.floor(Date.now() / 1000) - 5;\n\nconst requestObject = {\n actions: [\n {\n actionid: “urn:onoffice-de-ns:smart:2.5:smartml:action:list”,\n resourcetype: “estate”,\n parameters: {\n listlimit: 1,\n filter: {\n fieldname: “objektnr_intern”,\n value: estateIntern,\n operator: “=”\n },\n fields: [“Id”, “objektnr_intern”, “objektnr_extern”, “objekttitel”]\n }\n }\n ]\n};\n\nconst message = JSON.stringify(requestObject) + timestamp + token + hmacVersion;\n\nconst hmacSignature = crypto\n .createHmac(“sha256”, secret)\n .update(message, “utf8”)\n .digest(“base64”);\n\nreturn {\n json: {\n token,\n signature: hmacSignature,\n hmac_version: hmacVersion,\n timestamp,\n request: requestObject\n }\n};\n”
},
“type”: “n8n-nodes-base.code”,
“typeVersion”: 2,
“position”: [
448,
0
],
“id”: “009649c6-0842-4e12-baeb-87d641bcc183”,
“name”: “Code”
},
{
“parameters”: {
“method”: “POST”,
“url”: “https://api.onoffice.de/api/stable/api.php”,
“sendHeaders”: true,
“headerParameters”: {
“parameters”: [
{
“name”: “Content-Type”,
“value”: “application/json”
}
]
},
“sendBody”: true,
“specifyBody”: “json”,
“jsonBody”: “={{$json}}”,
“options”: {}
},
“type”: “n8n-nodes-base.httpRequest”,
“typeVersion”: 4.2,
“position”: [
672,
0
],
“id”: “6229fe29-b1e1-494b-956b-3df19a88646f”,
“name”: “HTTP Request”
}
],
“connections”: {
“Webhook”: {
“main”: [
[
{
“node”: “Edit Fields”,
“type”: “main”,
“index”: 0
}
]
]
},
“Edit Fields”: {
“main”: [
[
{
“node”: “Code”,
“type”: “main”,
“index”: 0
}
]
]
},
“Code”: {
“main”: [
[
{
“node”: “HTTP Request”,
“type”: “main”,
“index”: 0
}
]
]
}
},
“pinData”: {
“Edit Fields”: [
{
“headers”: {
“host”: “timo0806.app.n8n.cloud”,
“accept”: “/”,
“accept-encoding”: “gzip, br”,
“cdn-loop”: “cloudflare; loops=1; subreqs=1”,
“cf-connecting-ip”: “95.130.253.253”,
“cf-ew-via”: “15”,
“cf-ipcountry”: “DE”,
“cf-ray”: “976558d617c9cef6-FRA”,
“cf-visitor”: “{“scheme”:“https”}”,
“cf-worker”: “n8n.cloud”,
“x-forwarded-for”: “95.130.253.253, 172.70.248.183”,
“x-forwarded-host”: “timo0806.app.n8n.cloud”,
“x-forwarded-port”: “443”,
“x-forwarded-proto”: “https”,
“x-forwarded-server”: “traefik-prod-users-gwc-63-757945c69-fw6gx”,
“x-is-trusted”: “yes”,
“x-real-ip”: “95.130.253.253”
},
“params”: {},
“query”: {
“Objektnummer”: “51”
},
“body”: {},
“webhookUrl”: “https://timo0806.app.n8n.cloud/webhook-test/b6231738-3233-4c32-af30-104a588ac686”,
“executionMode”: “test”,
“estateId”: “51”,
“token”: “”,
“secret”: “”
}
]
},
“meta”: {
“instanceId”: “7154d1dc63df3778a88c096dd1a3f82ca5c3815dacc57a9eb37e3359e94a44d9”
}
}
(Select the nodes on your canvas and use the keyboard shortcuts CMD+C/CTRL+C and CMD+V/CTRL+V to copy and paste the workflow.)
Share the output returned by the last node
Information on your n8n setup
- n8n version: cloud
- Database (default: SQLite):
- n8n EXECUTIONS_PROCESS setting (default: own, main):
- Running n8n via (Docker, npm, n8n cloud, desktop app):
- Operating system:
