Skip to content

Web Service

The Web Service element runs a service, and then the process continues. Most often it calls an external system over HTTP (a webhook), but it can also archive a form, sign a document, or update and submit an open form.

To add one, drag Web Service from the palette, or click Append service on the element before it. Its settings are on these tabs:

  • General: the ID and the Name shown on the canvas (default: “ServiceTask”).
  • Inputs: the data the service uses. See Inputs and data.
  • Service: the kind of service and its settings.
  • Outputs: the result that later elements can use.
  • Multi Instance: shown only for a multi-instance element. See Repeat an element for each item.

On the Service tab, select the Kind. Changing the kind clears the settings of the previous kind.

Kind What it does
Webhook Sends an HTTP request to an external system.
Archive Sends a submitted form to the project’s archive integration.
SignDocument Signs a document.
UpdateSessionData Changes field values in an open form.
SubmitSession Submits an open form automatically. Shown only when automatic submit is included in your organization’s plan.
BuildTemplateFromData Creates a template from a data-model template and data. Shown only when the data model is included in your organization’s plan.

Fields with a link-icon switch can take their value from a Reference (an input or a process value) instead of a typed value.

Setting What to enter
URI The address to call. Must start with http:// or https://. Required.
Timeout (seconds) How long to wait for an answer, 1 to 300 seconds.
Method GET, POST, PUT or DELETE.

Click + Add Header for each HTTP header, and enter its Key and Value, or turn on the switch to use a Reference.

Body Type How to write the body
Inline template Text, for example JSON. Insert values with {{ variable }}, for example {"email": "{{ parameter1 }}"}.
Javascript expression JavaScript that returns the body. The editor suggests names as you type.
Parser Type What happens with the response
Skip parsing (the default) The response is kept as it is.
Javascript expression JavaScript that returns the value to keep. Use body for the response body and status for the HTTP status code, together with the element’s inputs.
Condition Type When the element fails
No checking (the default) Never. The process continues whatever the answer is. Check the status code in a later gateway if needed.
Success return code When the HTTP status code is 400 or higher. The process fails.
Setting What to select
CA Certificate The certificate authority to trust for the called server, from the project’s mTLS integrations.
Client Certificate & Key The client certificate to send for mutual TLS, from the project’s mTLS integrations.
Authentication Type No authentication, or Client secret authentication to send a token from a secret.
Client Secret Shown for client secret authentication. The secret to use.

The lists of certificates, secrets and templates are loaded once. If you create a new one while the editor is open, reload the page to see it.

Sends a submitted form to the project’s archive integration. In Archive Result Reference, select the form result to archive. The list shows the element’s inputs of type Session Result. Connect the element after the form, so the form’s result is added to its inputs automatically.

Signs a document. Drag a file to Document (.pdf, .doc or .docx), or turn on the switch to use a Reference to a document from an earlier element.

Changes field values in a form that is still open. In Session Node, select the Form / Session to update, or use a Reference. Then click + Add Input Parameter for each field, and enter the field’s Key and the Value.

Submits a form that is still open, as if the recipient submitted it. In Session Node, select the Form / Session to submit, or use a Reference. If the form was already submitted, nothing happens.

Creates a new template from a data-model template and data, for example to repeat a section once for each item. Select the Template and the Data Reference that holds the data.

Later elements can use the result of the service:

Output What it holds
Body For a webhook, the response body (after the parser, if you set one). For other kinds, the result of the service.
Status Code For a webhook, the HTTP status code.

The editor reports these problems under Validation Errors:

  • a webhook without a URI, or a header without a key or a value;
  • an archive without an Archive Result Reference, a signing service without a document, a template service without a template, or a form service without a Session Node;
  • an input without a name or a source.