---
category: [Administration & Integrations, Administration & Integrations/Custom Integrations & Apps, Platform and Product Extensions, Platform and Product Extensions/Integration]
keyword: [Integrate, Workday Integration, Orchestrate for Integrations, Orchestration, Orchestration Builder]
nav: wcp_docs
parent_url: /wcp_docs/
title: Define HTTP Polling Configurations
layout: subsection
---

### Prerequisites

Create a Workday Integration System or Workday Business Process orchestration.

### Context

HTTP polling configurations enable you to check the status of external systems without manual intervention. You can reference a polling configuration in any <b>Send HTTP Request</b> step.

<b>Note:</b> HTTP polling is designed exclusively for use with external third-party systems. You can't use it in conjunction with the <b>Send Workday API Request</b> component to poll Workday APIs.

Orchestration processing pauses while polling is ongoing. It resumes when either:

-   Specified conditions are met in the external system, or
-   A specified time period elapses.


Example: you create a polling configuration to check when an external system has finished importing the data you need for downstream components in your orchestration.

You can perform HTTP polling as part of a group, branch, error handler, or suborchestration as well as in the main body of the orchestration.

### Steps

1.  Open your orchestration in Orchestration Builder and click the gear icon to access <b>Orchestration Settings</b>.
2.  In the <b>Settings</b> panel, complete these fields on the <b>HTTP Polling</b> tab:

<table><thead><tr><th>    Option</th><th>    Description</th></tr></thead><tbody><tr><td><b><b>Name</b></b></td><td>Provide a name for the polling integration configuration. This is the name by which the configuration is referenced in the <b>Polling Settings</b> section of the <b>Send HTTP Request</b> component's properties panel.</td></tr><tr><td><b><b>Total Polling Duration (Minutes)</b></b></td><td>Specify how long polling should last in total. The maximum value allowed is 2880 minutes (48 hours).</td></tr><tr><td><b><b>Starting Interval (Minutes)</b></b></td><td>Specify the starting interval from which polling begins. The minimum value allowed is 1 minute and the maximum is 60 minutes. The default value is 15 minutes. <p>Orchestrate employs exponential backoff, meaning it conserves resources by doubling the interval between retries after each failed attempt up to the interval maximum of 60 minutes. Retries continue until either the poll succeeds or the <b>Total Polling Duration</b> value is reached.</p> <p>Example: if you enter a <b>Starting Interval</b> value of 10 minutes and a <b>Total Polling Duration</b> value of 200 minutes, Orchestrate performs polls after intervals of 10 minutes, 20 minutes, 40 minutes, 60 minutes, 120 minutes, 180 minutes, and 200 minutes.</p> <p>Note: Orchestration Builder displays a 'legacy configuration' notice when you access HTTP Polling settings you created before exponential polling was available. Legacy configurations continue to work as originally designed but don't take advantage of exponential polling until they're modified and saved.</p></td></tr><tr><td><b><b>Error On Timeout</b></b></td><td>Select this checkbox if you want Orchestrate to log an error when polling times out. You can configure an error handler to take action based on this error.</td></tr></tbody></table><br/>

3.  To specify the circumstances under which polling ends, click <b>Add Stop Condition</b> and from the <b>Condition 1</b> drop-down menu, select a condition type. These are the available types and the conditions they check for:

    -   Header: A specific header type in the HTTP response.
    -   Header Value: A specific value in the HTTP response.
    -   Status Code: 1 or more specific HTTP response codes.
    -   Status Code Range: Any HTTP response code within a specific range.
    -   Custom: A condition that you create using Expression Builder.

    You can add more than 1 stop condition to your polling configuration. If you do so, polling stops and orchestration processing continues only when all of the specified conditions are met.

    If the Stop conditions have not been met and Total Polling Duration elapses, the orchestration proceeds using the last polling response as the step's output. You can then build additional workflows which may include logging an error or executing alternative processing steps.

4.  Complete the fields relevant to your condition type:

<table><thead><tr><th>    Option</th><th>    Description</th></tr></thead><tbody><tr><td><b>Header</b></td><td><b>Name</b>: The header type you want to check for.</td></tr><tr><td><b>Header Value</b></td><td><b>Name</b>: The header type of the value you want to check for. <p><b>Value</b>: A specific value associated with that header type.</p></td></tr><tr><td><b>Status Code</b></td><td><p><b>Codes</b>: The response code or codes you want to check for.</p></td></tr><tr><td><b>Status Code Range</b></td><td><b>Start of Range</b>: The first value in the range of response codes you want to check for. <p><b>End of Range</b>: The last value in the range.</p></td></tr><tr><td><b>Custom</b></td><td><p><b>Condition</b>: An expression that defines a specific custom condition of your choosing. The expression can use the output of the HTTP step itself (<code>currentStep</code>) or any of these global values:</p><ul><li>    An Orchestrate Expression Language global function.
</li><li>    A launch parameter.
</li><li>    An app attribute.
</li></ul><p>It can't use the output of upstream steps.</p></td></tr></tbody></table><br/>

5.  Click <b>Save</b>.


### Result

The configuration you created is now available to Orchestration Builder's <b>Send HTTP Request</b> component.

You can find it in the component's <b>Settings</b> tab, in the <b>Polling Settings</b> section.

<b>Note:</b> Select the <b>Advanced Mode</b> check box if the <b>Polling Settings</b> section isn't displayed.

### Example

An external system processes a large file and provides an endpoint where you can check the job status. The job can take several hours to complete.

You configure a HTTP polling configuration with these time values:

-   Total Polling Duration: 120 minutes
-   Starting Interval: 2 minutes


You create 2 stop conditions. The first is a Status Code of 200. For the second, you write an expression that checks the response body for the presence of the word `completed`.

The orchestration initiates the file processing and then, using the HTTP polling configuration, checks the external job status endpoint after 2 minutes, then after another 4 minutes, then again after 8 minutes, and so on up to the 60 minute interval limit, until both stop conditions are met or until the total polling time of 120 minutes has elapsed.

