# Create A Company AI Task

GraphQL endpoint: `/company`

Creates a task the calling company runs against its documents. Naming folders in `folderIds` covers each of them and everything beneath it; `runOnRoot` covers the whole repository instead. A task given neither runs against the documents a run names. Creating a task stores it — use `runCompanyAiTask` to run it. Documents uploaded afterwards are run against it as they become readable.

## Query

```graphql
mutation ($name: String!, $prompt: String!, $runOnRoot: Boolean, $folderIds: [ID!], $outputShape: JSON!) {
  createCompanyAiTask(name: $name, prompt: $prompt, runOnRoot: $runOnRoot, folderIds: $folderIds, outputShape: $outputShape) {
    id
    name
    prompt
    runOnRoot
    folders { id name }
    outputShape
    documentCount
    inFlightCount
  }
}

```

## Variables

```json
{
  "name": "Invoice details",
  "outputShape": {
    "total": "number"
  },
  "prompt": "Extract the total."
}
```

## Response

```json
{
  "data": {
    "createCompanyAiTask": {
      "documentCount": 0,
      "folders": [],
      "id": "00000000-0000-4000-8000-000000000001",
      "inFlightCount": 0,
      "name": "Invoice details",
      "outputShape": {
        "total": "number"
      },
      "prompt": "Extract the total.",
      "runOnRoot": false
    }
  }
}
```
