Variable in Request body - Fleet

Hi,
I am using Elastic-Agent integration using Custom API to integrate with Teamviewer API to fetch events.
Request URL: https://webapi.teamviewer.com/api/v1/EventLogging
Request HTTP Method: POST
Request Body:

{
    "StartDate":"2024-03-21T12:00:00Z",
    "EndDate":"2024-03-21T13:00:00Z",
    "EventTypes": [
         "Session"
     ],
     "Events": [
         "StartedSession",
         "EndedSession",
         "ParticipantJoinedSession",
         "ParticipantLeftSession"
    ]
}

Now the issue with the request body that Teamviewer API needs mandatory fields StartDate and EndDate with values as mentioned above. And I need to figure out a way to use something like "now" and "now-1h" instead.

I tried using Request Transform with no luck, as may be I am doing something silly.

- set:
    target: StartDate
    value: '[[now (parseDuration "-1h")]]'
- set:
    target: EndDate
    value: '[[now]]'

Since I do not have much experience on handling APIs per say, can anyone point me to right solution on how can I get this sorted ?

Complete API request

{
  "package": {
    "name": "httpjson",
    "version": "1.20.0",
    "experimental_data_stream_features": []
  },
  "name": "Teamviewer",
  "namespace": "teamviewer",
  "description": "Teamviewer Event Logs",
  "policy_id": "7b0aa080-9b5a-11ee-b7d8-4381dadb75d9",
  "vars": {},
  "inputs": {
    "generic-httpjson": {
      "enabled": true,
      "streams": {
        "httpjson.generic": {
          "enabled": true,
          "vars": {
            "data_stream.dataset": "httpjson.teamviewer",
            "request_url": "https://webapi.teamviewer.com/api/v1/EventLogging",
            "request_interval": "1h",
            "request_method": "POST",
            "username": "",
            "password": "",
            "oauth_id": "",
            "oauth_secret": "",
            "oauth_token_url": "",
            "request_body": "{\n \n    \"EventTypes\": [\n         \"Session\"\n     ],\n     \"Events\": [\n         \"StartedSession\",\n         \"EndedSession\",\n         \"ParticipantJoinedSession\",\n         \"ParticipantLeftSession\"\n    ]\n}",
            "request_transforms": "- set:\n    target: header.Authorization\n    value: 'MY BEARER TOKEN'\n- set:\n    target: StartDate\n    value: '[[now (parseDuration \"-1h\")]]'\n- set:\n    target: EndDate\n    value: '[[now]]'",
            "response_transforms": "- set:\n    target: body.last_requested_at\n    value: '[[.cursor.last_requested_at]]'\n    default: \"[[now]]\"",
            "response_split": "target: body.AuditEvents\ntype: array\nignore_empty_value: true\nkeep_parent: false\nsplit: \n  target: body.AuditEvents.EventDetails\n  type: array\n  keep_parent: false",
            "cursor": "cursor:\n  last_requested_at:\n    value: '[[now]]'",
            "request_redirect_headers_ban_list": [],
            "oauth_scopes": [],
            "processors": "- decode_json_fields:\n    fields: [\"message\"]\n    process_array: true\n    target: \"json\"\n    max_depth: 3\n    overwrite_keys: true\n    add_error_key: true",
            "tags": [
              "teamviewer-session"
            ]
          }
        }
      }
    }
  }
}

EDIT: The integration works fine, if I use the static dates