# Workflow

Workflows can be accomplished using the concept of jobs that are children of other jobs.

For example, if you have **JOB A**, which needs to wait for **JOB B**, and **JOB C** to be completed first, you can set **JOB B**, and **JOB C** to be children of **JOB A**. This means that regardless of which tube **JOB B**, or **JOB C** are on, **JOB A** will not be able to be reserved until they both have fully completed.&#x20;

{% hint style="info" %}
You can also set timeouts on parent jobs, so that even if all of their children jobs have not completed after X amount of time, they will become available.

Also, there is no limit to how many levels of parent/children jobs can be used, so you can make arbitrarily complex workflows within the queue.
{% endhint %}


---

# 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://allqueue.gitbook.io/allq/features/workflow.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.
