# Wait for Callback

## Wait for an external system to initiate a callback

> The Wait for Callback node was created to facilitate an asynchronous process external to Chat Flow. For example waiting for an external client system to generate an invoice.\<br />\<br />This node will block the flow until a callback was received or the timed out was reached. The timeout is 1 minute less that the session length.\<br/> \<br />This node should be used in conjunction with the Set Variable Node to first set a UUID as a variable and then use that UUID in the Reference Field on the node and in the Callback API so that the Callback Handler can identify that the callback belong to a specific session.\<br />\<br/>Once the callback is received the end-user can then continue with the conversational workflow according to the steps defined in Flow.

```json
{"openapi":"3.0.1","info":{"title":"Flow","version":"1.1.0"},"servers":[{"url":"https://flow-callback.clickatell.com/","description":"Production server"},{"url":"https://control-callback-uat.payd.co/","description":"Sandbox/UAT server"}],"paths":{"/chat/callback":{"post":{"tags":["Wait for Callback"],"summary":"Wait for an external system to initiate a callback","description":"The Wait for Callback node was created to facilitate an asynchronous process external to Chat Flow. For example waiting for an external client system to generate an invoice.<br /><br />This node will block the flow until a callback was received or the timed out was reached. The timeout is 1 minute less that the session length.<br/> <br />This node should be used in conjunction with the Set Variable Node to first set a UUID as a variable and then use that UUID in the Reference Field on the node and in the Callback API so that the Callback Handler can identify that the callback belong to a specific session.<br /><br/>Once the callback is received the end-user can then continue with the conversational workflow according to the steps defined in Flow.","parameters":[{"name":"reference","in":"header","description":"A reference to be passed as a header.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Payload describing the callback result","required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Waitforcallback"}}}},"responses":{"202":{"description":"Successfully validated the response and returned data appended to matched session."},"204":{"description":"Callback has previously been processed in is being ignored."},"400":{"description":"A bad/invalid reference was returned and the session could not be matched, or the session has expired."}}}}},"components":{"schemas":{"Waitforcallback":{"type":"object"}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://help.clickatell.com/developers-api-reference/wait-for-callback.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
