Instant trigger: Missing fields when scenario is activated vs when it's 'run once'

first image: is when I run the web hook after activating it, it’s missing the fields state and integration_id

second image: is when I click ‘run once’ and then call the same script to call the webhook. It successfully parses all the fields in this scenario and the workflow works

Here’s the interface for the custom apps instant trigger

[
    {
        "name": "id",
        "type": "text",
        "label": "Project Id"
    },
    {
        "name": "integration_id",
        "type": "text",
        "label": "integration_id"
    },
    {
        "name": "title",
        "type": "text",
        "label": "Project title"
    },
    {
        "name": "content",
        "type": "text",
        "label": "Project HTML"
    },
    {
        "name": "state",
        "type": "text",
        "label": "Project State"
    }
]

here’s the connection json

{
  "response": {
    "output": {
      "id": "{{payload.id || body.id}}",
      "title": "{{payload.title || body.title}}", 
      "content": "{{payload.content || body.content}}",
      "state": "{{payload.state || body.state}}",
      "integration_id": "{{payload.integration_id || body.integration_id}}"
    }
  }
}

I’m very confused

I’ve tried so many permutations of the communication json …

{}

or

{
    "response" : {
        "output" : "{{body}}"
    }
}

the webhook queue shows that the data is there, it simply is just not being mapped