Webhooks & public links
No sign-in: the token in the address is the secret. /hook/<token> starts a flow; /hook/a/<token> and /hook/w/<token> are the approval and form links Flows emails.
| Method | Path | Summary |
|---|---|---|
| GET | /hook/w/:token | Open a form link |
| POST | /hook/w/:token | Answer a form link |
| GET | /hook/a/:token | Open an approval link |
| POST | /hook/a/:token | Answer an approval link |
| ALL | /hook/:token | Start a flow (webhook) |
#Open a form link
GET
/hook/w/:token- Address
https://<your-org>.brambleit.cloud/flows/hook/w/:token- Requires
- None: public, or protected by a token in the address or body.
Path parameters
| Name | Type | Description |
|---|---|---|
tokenrequired | string |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/flows/hook/w/%E2%80%A6', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Answer a form link
POST
/hook/w/:token- Address
https://<your-org>.brambleit.cloud/flows/hook/w/:token- Requires
- None: public, or protected by a token in the address or body.
Path parameters
| Name | Type | Description |
|---|---|---|
tokenrequired | string |
Request body JSON
| Name | Type | Description |
|---|---|---|
decision | string | |
note | string |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/flows/hook/w/%E2%80%A6', {
method: 'POST',
credentials: 'include',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({"decision":"string","note":"string"}),
});
const data = await res.json();#Open an approval link
GET
/hook/a/:token- Address
https://<your-org>.brambleit.cloud/flows/hook/a/:token- Requires
- None: public, or protected by a token in the address or body.
Path parameters
| Name | Type | Description |
|---|---|---|
tokenrequired | string |
Response
A redirect.
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/flows/hook/a/%E2%80%A6', {
method: 'GET',
credentials: 'include',
});
const data = await res.json();#Answer an approval link
POST
/hook/a/:token- Address
https://<your-org>.brambleit.cloud/flows/hook/a/:token- Requires
- None: public, or protected by a token in the address or body.
Path parameters
| Name | Type | Description |
|---|---|---|
tokenrequired | string |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/flows/hook/a/%E2%80%A6', {
method: 'POST',
credentials: 'include',
});
const data = await res.json();#Start a flow (webhook)
ALL
/hook/:tokenAny method the trigger allows. See Flows webhooks for the request and reply.
- Address
https://<your-org>.brambleit.cloud/flows/hook/:token- Requires
- None: public, or protected by a token in the address or body.
Path parameters
| Name | Type | Description |
|---|---|---|
tokenrequired | string |
Response 200
Errors
| Status | Message |
|---|---|
| 404 | Not found |
| 405 | This webhook expects … |
| 401 | Missing or wrong secret header |
| 429 | Too many requests |
| 409 | The flow is still busy with the last call |
Example request
JavaScript
// From a page served by Bramble (uses the signed-in session)
const res = await fetch('/flows/hook/%E2%80%A6', {
method: 'ALL',
credentials: 'include',
});
const data = await res.json();Was this page helpful?
Thanks for your feedback.