Realización de una solicitud HTTP POST desde el cumplimiento en Dialogflow

Estoy escribiendo un controlador para intentar generar un PDF. Esta API acepta una solicitud POST con los datos JSON y devuelve un enlace al PDF generado. La intención activa este código pero la respuesta no se agrega al agente. ¿Es posible que la solicitud no se envíe al destino? La API parece no recibir ninguna solicitud. ¿Alguna idea de como resolver esto

function fillDocument(agent) {
    const name = agent.parameters.name;
    const address = agent.parameters.newaddress;
    const doctype = agent.parameters.doctype;

    var XMLHttpRequest = require("xmlhttprequest").XMLHttpRequest;
    var xhr = new XMLHttpRequest();
    var url = "https://us1.pdfgeneratorapi.com/api/v3/templates/36628/output?format=pdf&output=url";
    xhr.open("POST", url, true);
    xhr.setRequestHeader("X-Auth-Key", "...");
    xhr.setRequestHeader("X-Auth-Secret", "...");
    xhr.setRequestHeader("X-Auth-Workspace", "...");
    xhr.setRequestHeader("Content-Type", "application/json");
    xhr.setRequestHeader("Accept", "application/json");
    xhr.setRequestHeader("Cache-Control", "no-cache");
    xhr.onreadystatechange = function () {
        if (xhr.readyState === 4 && xhr.status === 200) {
            var json = JSON.parse(xhr.responseText);
            agent.add(json.response);
        }
    };
    var data = JSON.stringify({...});
    xhr.send(data);
}

EDIT: procedí a configurar una cuenta de facturación en GCP, ahora la llamada funciona, pero es asíncrona. Si lo cambio para sincronizar haciendo esto:

xhr.open("POST", url, false);

Obtuve el siguiente error

EROFS: read-only file system, open '.node-xmlhttprequest-sync-2'

Necesito que sea asíncrono ya que la respuesta que se supone que envíe mi bot depende de la respuesta de la API. ¿Alguna idea sobre cómo solucionar esto?

Respuestas a la pregunta(1)

Su respuesta a la pregunta