Skip to content

Callout

Andre edited this page Oct 17, 2022 · 7 revisions

Overview

Call out to any HTTP endpoint by setting the CalloutUrl property. A step can have both the CalloutUrl and EnableWebhook set. The call-out can pass the webhookId to the receiving endpoint.

The call-out will happen before the webhook is created, but will usually be within a second of each other. In the unlikely scenario where a reply is received before the webhook creation is complete, a 202 ACCEPTED response will be returned. The reply call should then be re-tried.

CalloutUrl can be left empty and then the step will not call out but will still spawn a webhook if EnableWebhook is set to true. If CalloutUrl is empty and EnableWebhook is false, then the step will still complete and log but not do anything.

Relevant Step Properties

  • CalloutUrl string : This is the HTTP endpoint URL to call out to. This can be used as a call to a micro-service.
  • IsHttpGet bool : True or false to indicate HTTP POST or GET.
  • CalloutTimeoutSeconds int : How long it will take for the call to wait before it times out.
  • StopOnCalloutFailure bool : If this is set to true then the workflow will stop executing when a call-out timeout or other error occurs.
  • SubStepsToRunForCalloutFailure List<int> : This can be set to run a specific list of of steps when a call-out failure occurs. This is only applicable if StopOnCalloutFailure is set to false.
  • AsynchronousPollingEnabled bool : If this is set to true, then the step call-out will poll for a result if it receives a 202 accepted reply.
  • ForwardResponseData bool : If this is set to true, then the response content from the call-out will be passed to its webhook, and then to the child steps.
  • RetryOptions RetryOptions : This can be set per step to override the default retry options of the workflow.

Model Classes

public class RetryOptions
{
    public int DelaySeconds { get; set; } = 5;
    public int MaxDelaySeconds { get; set; } = 120;
    public int MaxRetries { get; set; } = 15;
    public double BackoffCoefficient { get; set; } = 5;
    public int TimeOutSeconds { get; set; } = 300;
}
Clone this wiki locally