# Data Library Reference (ADL) How to provision an Agentforce Data Library (ADL) and wire it into an Agent Script `.agent` file so the agent can answer questions grounded on uploaded documents, Knowledge articles, or a custom retriever. This reference is consumed by the **Create an Agent** and **Modify an Existing Agent** workflows in `SKILL.md`. The parent skill decides *whether* to provision an ADL (by asking the user); this file owns *how*. ## Use `sf agent adl` CLI Commands All ADL operations use the `sf agent adl` CLI. The CLI handles authentication, API version negotiation, polling, and error formatting automatically. Available commands: | Command | Purpose | |---------|---------| | `sf agent adl create` | Create a new library (SFDRIVE, KNOWLEDGE, or RETRIEVER) | | `sf agent adl upload` | Upload file(s) to a SFDRIVE library and trigger indexing | | `sf agent adl get` | Get full details of a library (status, retrieverId, config) | | `sf agent adl status` | Get indexing stage details | | `sf agent adl list` | List all libraries in the org | | `sf agent adl update` | Update library metadata, content fields, or swap retriever | | `sf agent adl delete` | Permanently delete a library | | `sf agent adl file add` | Day-2: add files to an existing SFDRIVE library | | `sf agent adl file list` | List files in a SFDRIVE library | | `sf agent adl file delete` | Remove a file from a SFDRIVE library | ### CLI Command Reference #### `sf agent adl create` Creates a new data library. The `--source-type` determines which additional flags are required. ```text FLAGS (required): -n, --name= Display name (max 80 chars) -o, --target-org= Target org alias or username --developer-name= API name (alphanumeric + underscores, starts with letter, max 80 chars) --source-type=