# External Link Callback

## Direct an end-user to an external web page

> The External Link Handler API allows you to direct an end-user to an external web page from within a Flow conversation and then return to the Flow conversation with optional additional data gathered from the external web page.\<br />\<br/>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":{"/callback":{"post":{"tags":["External Link Callback"],"summary":"Direct an end-user to an external web page","description":"The External Link Handler API allows you to direct an end-user to an external web page from within a Flow conversation and then return to the Flow conversation with optional additional data gathered from the external web page.<br /><br/>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. This value is also required in the body section, please refer accordingly for the description.","required":true,"schema":{"type":"string"}}],"requestBody":{"description":"Payload describing the external link","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Externallink"}}},"required":true},"responses":{"200":{"description":"Successfully validated the response and returned data appended to matched session.","content":{}},"400":{"description":"A bad/invalid reference was returned and the session could not be matched","content":{}}}}}},"components":{"schemas":{"Externallink":{"required":["result"],"type":"object","properties":{"result":{"type":"string","description":"Used to evaluate success or failure in Flow and can be any value you wish to return for evaluation"},"reference":{"type":"string","description":"A unique hash generated by Flow based on SessionID and SourceID that allows us to identify the user's session. This value is automatically appended as a query parameter on external links and should be intercepted and returned with the callback for validation (in header and body): e.g. `https://www.example.com?reference=f7_4hn5=8f&%#nK=`"},"data":{"type":"object","additionalProperties":{"type":"string"},"description":"An optional hashmap with any key and value that can be referenced in the flow later on."}}}}}}
```


---

# 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/external-link-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.
