@cnovotny here is an expanded set of steps that we use



(attachments are the same as the above pics in case they are not clear enough)
In the example the attachment is in an 'IF' condition so that it only process this part if there is actually an attachment (used for when attachment question is optional)
I have redacted a lot of the information for our own privacy. The best think to get the upload path is to complete the form once and hunt down the path.
The form Id should be the same one as in the trigger (when a new response is submitted) and not Response Id as you have
The JSON should have the content set as the form attachment question and the JSON schema is as follows
{
"type": "array",
"items": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"link": {
"type": "string"
},
"id": {
"type": "string"
},
"type": {},
"size": {
"type": "integer"
},
"referenceId": {
"type": "string"
},
"driveId": {
"type": "string"
},
"status": {
"type": "integer"
},
"uploadSessionUrl": {}
},
"required": [
"name",
"link",
"id",
"type",
"size",
"referenceId",
"driveId",
"status",
"uploadSessionUrl"
]
}
}
Please let me know if you need further guidance