Default for Box AI for Box Hubs
diff --git a/content/guides/box-ai/ai-tutorials/ask-questions.md b/content/guides/box-ai/ai-tutorials/ask-questions.md
new file mode 100644
index 000000000..fbe9ee6ba
--- /dev/null
+++ b/content/guides/box-ai/ai-tutorials/ask-questions.md
@@ -0,0 +1,183 @@
+---
+rank: 2
+related_endpoints:
+ - post_ai_ask
+related_guides:
+ - box-ai/ai-tutorials/prerequisites
+ - box-ai/ai-tutorials/default-agent-overrides
+ - box-ai/ai-tutorials/generate-text
+ - box-ai/ai-tutorials/extract-metadata
+ - box-ai/ai-tutorials/extract-metadata-structured
+alias_paths:
+ - guides/box-ai/ask-questions
+---
+
+# Ask questions to Box AI
+
+
+Box AI API is available to all Enterprise Plus customers.
+
+
+
+Box AI API allows you to
+ask a question about a supplied file or
+a set of files, and get a response based on
+the content.
+For example, while viewing a document in Box,
+you can ask Box AI to summarize the content.
+
+## Before you start
+
+Make sure you followed the steps listed in [prerequisites for using Box AI][prereq] to create a custom app and authenticate.
+
+## Send a request
+
+To send a request containing your question,
+use the `POST /2.0/ai/ask` endpoint and
+provide the mandatory parameters.
+
+
+
+### Parameters
+
+To make a call, you need to pass the following parameters.
+Mandatory parameters are in **bold**.
+
+| Parameter |Description | Available values | Example |
+| ------------ | ------ | ----------- | --- |
+| **`mode`** | The type of request. It can be a question about a single file or a set of files. For a single file, Box AI API supports up to 1MB of text representation. If the file size exceeds 1MB, the first 1MB of text representation will be processed. If you want to list multiple files, the limit is 25 files. If you set `mode` to `single_item_qa`, the `items` array can list only one element.| `single_item_qa`, `multiple_item_qa` | `single_item_qa` |
+| **`prompt`** | The question about your document or content. The prompt's length cannot exceed 10000 characters. | | `What is this document about?` |
+| `dialogue_history.prompt` | The prompt previously provided by the client and answered by the Large Language Model (LLM). | `Make my email about public APIs sound more professional` |
+| `dialogue_history.answer` | The answer previously provided by the LLM. | `Here is a draft of your professional email about public APIs.` |
+| `dialogue_history.created_at` | The ISO date formatted timestamp of when the previous answer to the prompt was created. | `2012-12-12T10:53:43-08:00` |
+|`include_citations`| Specifies if the citations should be returned in the answer.| `true`, `false`| `true`|
+|**`items.id`** | The Box file ID you want to provide as input. | | `112233445566`|
+| **`items.type`** | The type of the provided input. Currently, it can be a single file or multiple files. | `file` | `file` |
+| `items.content` | The content of the item. Usually it is the text representation. | | `An application programming interface (API) is a way for two or more computer programs or components to communicate with each other. It is a type of software interface...` |
+|`ai_agent` | The AI agent used to override the default agent configuration. You can use this parameter replace the default LLM with a custom one using the [`model`][model-param] parameter for shorter and longer texts, tweak the base [`prompt`][prompt-param] to allow for a more customized user experience, or change an LLM parameter, such as `temperature`, to make the results more or less creative. Before you use the `ai_agent` parameter, you can get the default configuration using the [`GET 2.0/ai_agent_default`][agent] request. For specific use cases, see the [AI model overrides tutorial][overrides]. ||
+
+## Use cases
+
+## Ask questions about an item
+
+This example shows how to ask a question about one or more items using the `POST ask/ai` API. When using this endpoint, remember to specify the `mode` parameter depending on the number of items you want to supply.
+
+```sh
+curl -i -L POST "https://api.box.com/2.0/ai/ask" \
+ -H "content-type: application/json" \
+ -H "authorization: Bearer
" \
+ -d '{
+ "mode": "single_item_qa",
+ "items": [
+ {
+ "id": "12345678",
+ "type": "file"
+ }
+ ],
+ "prompt": "List the guidelines on creating questions in Box AI for Documents"
+}'
+```
+
+The response will be as follows:
+
+```sh
+{
+ "answer": "The guidelines for working with questions in Box AI for Documents are as follows:\n\n1. Box AI pulls information only from the document loaded in preview.\n2. If questions fall outside the scope of the document, Box AI will inform you that it cannot answer.\n3. Be specific when asking questions; use parameters like numbered lists, brevity, tables, and central themes or key points.\n4. Aim to stay within the scope of the document.\n5. Focus on text-based responses only.",
+ "created_at": "2024-11-04T02:30:09.557-08:00",
+ "completion_reason": "done"
+}
+```
+
+## Ask questions with `content` parameter
+
+If you use the `content` parameter as the source of input for Box AI, it will use it as the primary source.
+
+```sh
+curl -i -L POST "https://api.box.com/2.0/ai/ask" \
+ -H "content-type: application/json" \
+ -H "authorization: Bearer " \
+ -d '{
+ "mode": "single_item_qa",
+ "items": [
+ {
+ "id": "12345678",
+ "type": "file",
+ "content": "This is a document about Box AI For documents. It consists of the functionality summary and guidelines on how to work with Box AI. Additionally, it provides a set of best practices for creating questions."
+ }
+ ],
+ "prompt": "List the guidelines on creating questions in Box AI for Documents"
+}'
+```
+
+The response to this request is based on the `content` parameter instead of the file's content:
+
+```sh
+{
+ "answer": "The document does not provide specific guidelines on working with questions in Box AI for Documents. It only mentions that it includes a set of best practices for creating questions, but the details of those guidelines are not included in the text provided. If you have more information or another document, I can help further!",
+ "created_at": "2024-11-04T02:31:51.125-08:00",
+ "completion_reason": "done"
+}
+```
+
+## Ask questions with `citations` parameter
+
+Setting the `citations` parameter to `true` causes the response to include excerpts from source file or files Box AI used to compile the answer.
+
+```sh
+curl -i -L POST "https://api.box.com/2.0/ai/ask" \
+ -H "content-type: application/json" \
+ -H "authorization: Bearer " \
+ -d '{
+ "mode": "multiple_item_qa",
+ "include_citations": true,
+ "items": [
+ {
+ "id": "12345678",
+ "type": "file"
+ }
+ ],
+ "prompt": "List the guidelines on working with responses in Box AI for Documents"
+}'
+```
+
+The resulting answer includes the source file and direct content citations.
+
+```sh
+{
+ "answer": "The guidelines for working with questions in Box AI for Documents are as follows:\n\n1. Box AI pulls information only from the document loaded in preview, and cannot answer questions outside its scope.\n2. Be specific when asking questions; use parameters like numbered lists, brevity, tables, and central themes or key points.\n3. Examples of better phrasing include asking for a numbered list of key points instead of just \"list key points,\" and requesting a succinct outline of important points rather than a general inquiry about the document's purpose.\n4. Stay within the scope of the document and focus on text-based responses only.",
+ "created_at": "2024-11-04T02:35:00.578-08:00",
+ "completion_reason": "done",
+ "citations": [
+ {
+ "type": "file",
+ "id": "12345678",
+ "name": "Box AI for Documents.docx",
+ "content": "Guidelines for Box AI questions\nBox AI pulls information only from the document you loaded in preview."
+ },
+ {
+ "type": "file",
+ "id": "12345678",
+ "name": "Box AI for Documents.docx",
+ "content": "If you ask any questions outside of the scope of the document, Box AI informs you that it cannot answer the question with the information provided."
+ },
+ {
+ "type": "file",
+ "id": "12345678",
+ "name": "Box AI for Documents.docx",
+ "content": "As you ask Box AI to analyze your document, consider these suggestions:\n· Be as specific as possible."
+ },
+ {
+ "type": "file",
+ "id": "12345678",
+ "name": "Box AI for Documents.docx",
+ "content": "Box AI for Documents\n\nWhen viewing a document in Box, you can ask Box AI to summarize document content, search key points, and write outline drafts based on your document files."
+ }
+ ]
+}
+```
+
+[prereq]: g://box-ai/ai-tutorials/prerequisites
+[agent]: e://get_ai_agent_default
+[model-param]: r://ai_agent_ask#param_basic_text_model
+[prompt-param]: e://ai_agent_ask#param_basic_text_prompt_template
+[overrides]: g://box-ai/ai-agents/ai-agent-overrides
\ No newline at end of file
diff --git a/content/guides/box-ai/ai-agents/overrides-tutorial.md b/content/guides/box-ai/ai-tutorials/default-agent-overrides.md
similarity index 59%
rename from content/guides/box-ai/ai-agents/overrides-tutorial.md
rename to content/guides/box-ai/ai-tutorials/default-agent-overrides.md
index b210ac554..a5884b7f3 100644
--- a/content/guides/box-ai/ai-agents/overrides-tutorial.md
+++ b/content/guides/box-ai/ai-tutorials/default-agent-overrides.md
@@ -5,9 +5,14 @@ related_endpoints:
- post_ai_text_gen
- post_ai_ask
related_guides:
- - box-ai/prerequisites
- - box-ai/ask-questions
- - box-ai/generate-text
+ - box-ai/ai-tutorials/prerequisites
+ - box-ai/ai-tutorials/ask-questions
+ - box-ai/ai-tutorials/generate-text
+ - box-ai/ai-tutorials/extract-metadata
+ - box-ai/ai-tutorials/extract-metadata-structured
+ - box-ai/ai-agents/ai-agent-overrides
+alias_paths:
+ - guides/box-ai/ai-agent-overrides
---
# Override AI model configuration
@@ -16,140 +21,12 @@ related_guides:
Endpoints related to metadata extraction are currently a beta feature offered subject to Box’s Main Beta Agreement, and the available capabilities may change. Box AI API is available to all Enterprise Plus customers.
-The `agent_ai` configuration allows you to override the default AI model configuration. It is available for the following endpoints:
+## Before you start
-* [`POST ai/ask`][ask]
-* [`POST ai/text_gen`][text-gen]
-* [`POST ai/extract`][extract]
-* [`POST ai/extract_structured`][extract-structured]
+Make sure you followed the steps listed in [prerequisites for using Box AI][prereq] to create a custom app and authenticate.
+To get more context, read about [agent overrides][agent-overrides].
-
-
-Use the [`GET ai_agent_default`][agent] endpoint to fetch the default configuration.
-
-
-
-The override examples include:
-
-* Replacing the default AI model with a custom one based on your organization's needs.
-* Tweaking the base `prompt` to allow a more customized user experience.
-* Changing a parameter, such as `temperature`, to make the results more or less creative.
-
-## Sample configuration
-
-A sample configuration for `ai/ask` is as follows:
-
-```sh
-{
- "type": "ai_agent_ask",
- "basic_text": {
- "llm_endpoint_params": {
- "type": "openai_params",
- "frequency_penalty": 1.5,
- "presence_penalty": 1.5,
- "stop": "<|im_end|>",
- "temperature": 0,
- "top_p": 1
- },
- "model": "azure__openai__gpt_3_5_turbo_16k",
- "num_tokens_for_completion": 8400,
- "prompt_template": "It is `{current_date}`, consider these travel options `{content}` and answer the `{user_question}`.",
- "system_message": "You are a helpful travel assistant specialized in budget travel"
- },
- "basic_text_multi": {
- "llm_endpoint_params": {
- "type": "openai_params",
- "frequency_penalty": 1.5,
- "presence_penalty": 1.5,
- "stop": "<|im_end|>",
- "temperature": 0,
- "top_p": 1
- },
- "model": "azure__openai__gpt_3_5_turbo_16k",
- "num_tokens_for_completion": 8400,
- "prompt_template": "It is `{current_date}`, consider these travel options `{content}` and answer the `{user_question}`.",
- "system_message": "You are a helpful travel assistant specialized in budget travel"
- },
- "long_text": {
- "embeddings": {
- "model": "openai__text_embedding_ada_002",
- "strategy": {
- "id": "basic",
- "num_tokens_per_chunk": 64
- }
- },
- "llm_endpoint_params": {
- "type": "openai_params",
- "frequency_penalty": 1.5,
- "presence_penalty": 1.5,
- "stop": "<|im_end|>",
- "temperature": 0,
- "top_p": 1
- },
- "model": "azure__openai__gpt_3_5_turbo_16k",
- "num_tokens_for_completion": 8400,
- "prompt_template": "It is `{current_date}`, consider these travel options `{content}` and answer the `{user_question}`.",
- "system_message": "You are a helpful travel assistant specialized in budget travel"
- },
- "long_text_multi": {
- "embeddings": {
- "model": "openai__text_embedding_ada_002",
- "strategy": {
- "id": "basic",
- "num_tokens_per_chunk": 64
- }
- },
- "llm_endpoint_params": {
- "type": "openai_params",
- "frequency_penalty": 1.5,
- "presence_penalty": 1.5,
- "stop": "<|im_end|>",
- "temperature": 0,
- "top_p": 1
- },
- "model": "azure__openai__gpt_3_5_turbo_16k",
- "num_tokens_for_completion": 8400,
- "prompt_template": "It is `{current_date}`, consider these travel options `{content}` and answer the `{user_question}`.",
- "system_message": "You are a helpful travel assistant specialized in budget travel"
- }
-}
-```
-
-### Differences in parameter sets
-
-The set of parameters available for `ask`, `text_gen`, `extract`, `extract_structured` differs slightly, depending on the API call.
-
- * The agent configuration for the `ask` endpoint includes `basic_text`, `basic_text_multi`, `long_text` and `long_text_multi` parameters. This is because of the `mode` parameter you use to specify if the request is for a single item or multiple items. If you selected `multiple_item_qa` as the `mode`, you can also use `multi` parameters for overrides.
-
- * The agent configuration for `text_gen` includes the `basic_gen` parameter
- that is used to generate text.
-
-### LLM endpoint params
-
-The `llm_endpoint_params` configuration options differ depending on the overall AI model being [Google][google-params], [OpenAI][openai-params] or [AWS][aws-params] based.
-
-For example, both `llm_endpoint_params` objects accept a `temperature` parameter, but the outcome differs depending on the model.
-
-For Google and AWS models, the [`temperature`][google-temp] is used for sampling during response generation, which occurs when `top-P` and `top-K` are applied. Temperature controls the degree of randomness in the token selection.
-
-For OpenAI models, [`temperature`][openai-temp] is the sampling temperature with values between 0 and 2. Higher values like 0.8 make the output more random, while lower values like 0.2 make it more focused and deterministic. When introducing your own configuration, use `temperature` or or `top_p` but not both.
-
-### System message
-
-The `system_message` parameter's aim is to help the LLM understand its role and what it’s supposed to do.
-For example, if your solution is processing travel itineraries, you can add a system message saying:
-
-```sh
-You are a travel agent aid. You are going to help support staff process large amounts of schedules, tickets, etc.
-```
-
-This message is separate from the content you send in, but it can improve the results.
-
-### Number of tokens for completion
-
-The `num_tokens_for_completion` parameter represents the number of [tokens][openai-tokens] Box AI can return. This number can vary based on the model used.
-
-## Use case: Box AI Q&A
+## Override prompt
This example shows how to use the `prompt_template` parameter to change the
query result.
@@ -214,7 +91,7 @@ The response would be slightly less formal:
}
```
-## Use case: Generating text
+## Override AI model (text generation)
This example shows you how changing the AI model in the `ai_agent` options can influence the way the text is generated.
@@ -281,7 +158,7 @@ After the model switch, the response is slightly different:
As you can see the responses differ to some extent. Thanks to the model switch, you can optimize your interaction with Box AI and choose the most suitable model for your needs.
-## Use case: Metadata extraction
+## Override AI model (metadata extraction)
Switching models can also give us different results for metadata extraction.
Let's use a sample contract to extract the metadata. In this example, the model used is Google Gemini.
@@ -344,14 +221,5 @@ Using this model results in a response listing more metadata entries:
}
```
-[ask]: e://post_ai_ask#param_ai_agent
-[text-gen]: e://post_ai_text_gen#param_ai_agent
-[extract]: e://post_ai_extract#param_ai_agent
-[extract-structured]: e://post_ai_extract_structured#param_ai_agent
-[google-params]: r://ai-llm-endpoint-params-google
-[openai-params]: r://ai-llm-endpoint-params-openai
-[openai-tokens]: https://help.openai.com/en/articles/4936856-what-are-tokens-and-how-to-count-them
-[agent]: e://get_ai_agent_default
-[google-temp]: https://ai.google.dev/gemini-api/docs/models/generative-models#model-parameters
-[openai-temp]: https://community.openai.com/t/temperature-top-p-and-top-k-for-chatbot-responses/295542
-[aws-params]: r://ai-llm-endpoint-params-aws
\ No newline at end of file
+[agent-overrides]: g://box-ai/ai-agents/ai-agent-overrides
+[prereq]: g://box-ai/ai-tutorials/prerequisites
\ No newline at end of file
diff --git a/content/guides/box-ai/extract-metadata-structured.md b/content/guides/box-ai/ai-tutorials/extract-metadata-structured.md
similarity index 94%
rename from content/guides/box-ai/extract-metadata-structured.md
rename to content/guides/box-ai/ai-tutorials/extract-metadata-structured.md
index 66a3d05cb..b14ebc95b 100644
--- a/content/guides/box-ai/extract-metadata-structured.md
+++ b/content/guides/box-ai/ai-tutorials/extract-metadata-structured.md
@@ -3,10 +3,13 @@ rank: 9
related_endpoints:
- post-ai-extract
related_guides:
- - box-ai/prerequisites
- - box-ai/extract-metadata
- - box-ai/ai-agents/get-agent-default-config
- - box-ai/ai-agents/overrides-tutorial
+ - box-ai/ai-tutorials/prerequisites
+ - box-ai/ai-tutorials/default-agent-overrides
+ - box-ai/ai-tutorials/generate-text
+ - box-ai/ai-tutorials/ask-questions
+ - box-ai/ai-tutorials/extract-metadata
+alias_paths:
+ - guides/box-ai/extract-metadata-structured
---
# Extract metadata from file (structured)
@@ -21,15 +24,15 @@ and get the result in the form of key-value pairs.
As input, you can either create a structure using the `fields` parameter, or use an already defined metadata template.
To learn more about creating templates, see [Creating metadata templates in the Admin Console][templates-console] or use the [metadata template API][templates-api].
+## Before you start
+
+Make sure you followed the steps listed in [prerequisites for using Box AI][prereq] to create a custom app and authenticate.
+
## Send a request
To send a request, use the
`POST /2.0/ai/extract_structured` endpoint.
-Make sure you have generated the developer token
-to authorize your app. See [prerequisites for using Box AI][prereq]
-for details.
-
### Parameters
@@ -58,15 +61,16 @@ The `items` array can have exactly one element.
| `fields.prompt` | Additional context about the key (identifier) that may include how to find and format it. | `Name is the first and last name from the email address` |
| `ai_agent` | The AI agent used to override the default agent configuration. This parameter allows you to, for example, replace the default LLM with a custom one using the [`model`][model-param] parameter, tweak the base [`prompt`][prompt-param] to allow for a more customized user experience, or change an LLM parameter, such as `temperature`, to make the results more or less creative. Before you use the `ai_agent` parameter, you can get the default configuration using the [`GET 2.0/ai_agent_default`][agent] request. For specific use cases, see the [AI model overrides tutorial][overrides]. | |
-## Use case
+## Use cases
-Let's assume you want to extract the vendor name, invoice number, and a few more details from the following sample invoice:
+This example shows you how to extract metadata from a sample invoice in a structured way.
+Let's assume you want to extract the vendor name, invoice number, and a few more details.
-![sample invoice](./images/sample-invoice.png)
+![sample invoice](../images/sample-invoice.png)
### Create the request
-To get the response from Box AI, call `POST /2.0/ai/extract` endpoint with the following parameters:
+To get the response from Box AI, call `POST /2.0/ai/extract_structured` endpoint with the following parameters:
- `items.type` and `items.id` to specify the file to extract the data from.
- `fields` to specify the data that you want to extract from the given file.
@@ -78,7 +82,7 @@ You can use either `fields` or `metadata_template` to specify your structure, bu
-### Using `fields` parameter
+### Use `fields` parameter
The `fields` parameter allows you to specify the data you want to extract. Each `fields` object has a subset of parameters you can use to add more information about the searched data.
For example, you can add the field type, description, or even a prompt with some additional context.
@@ -140,7 +144,7 @@ The response lists the specified fields and their values:
}
```
-### Using metadata template
+### Use metadata template
If you prefer to use a metadata template, you can provide its `template_key`, `type`, and `scope`.
@@ -175,10 +179,10 @@ The response lists the fields included in the metadata template and their values
}
```
-[prereq]: g://box-ai/prerequisites
+[prereq]: g://box-ai/ai-tutorials/prerequisites
[agent]: e://get_ai_agent_default
[model-param]: r://ai_agent_text_gen#param_basic_gen_model
[prompt-param]: r://ai_agent_text_gen#param_basic_gen_prompt_template
[templates-console]: https://support.box.com/hc/en-us/articles/360044194033-Customizing-Metadata-Templates
[templates-api]: g://metadata/templates/create
-[overrides]: g://box-ai/ai-agents/overrides-tutorial
\ No newline at end of file
+[overrides]: g://box-ai/ai-agents/ai-agent-overrides
\ No newline at end of file
diff --git a/content/guides/box-ai/extract-metadata.md b/content/guides/box-ai/ai-tutorials/extract-metadata.md
similarity index 78%
rename from content/guides/box-ai/extract-metadata.md
rename to content/guides/box-ai/ai-tutorials/extract-metadata.md
index 14d19cddd..35333af48 100644
--- a/content/guides/box-ai/extract-metadata.md
+++ b/content/guides/box-ai/ai-tutorials/extract-metadata.md
@@ -3,8 +3,13 @@ rank: 8
related_endpoints:
- post-ai-extract-structured
related_guides:
- - box-ai/extract-metadata-structured
- - box-ai/prerequisites
+ - box-ai/ai-tutorials/prerequisites
+ - box-ai/ai-tutorials/default-agent-overrides
+ - box-ai/ai-tutorials/generate-text
+ - box-ai/ai-tutorials/ask-questions
+ - box-ai/ai-tutorials/extract-metadata-structured
+alias_paths:
+ - guides/box-ai/extract-metadata
---
# Extract metadata from file (freeform)
@@ -17,15 +22,15 @@ Endpoints related to metadata extraction are currently a beta feature offered su
Box AI API allows you to query a document and extract metadata based on a provided prompt.
**Freeform** means that the prompt can include a stringified version of formats such as JSON or XML, or even plain text.
+## Before you start
+
+Make sure you followed the steps listed in [prerequisites for using Box AI][prereq] to create a custom app and authenticate.
+
## Send a request
To send a request, use the
`POST /2.0/ai/extract` endpoint.
-Make sure you have generated the developer token
-to authorize your app. See [prerequisites for using Box AI][prereq]
-for details.
-
### Parameters
@@ -45,11 +50,9 @@ The `items` array can have exactly one element.
| `items.content` | The content of the item, often the text representation. | `This article is about Box AI`. |
|`ai_agent` | The AI agent used to override the default agent configuration. This parameter allows you to, for example, replace the default LLM with a custom one using the [`model`][model-param] parameter, tweak the base [`prompt`][prompt-param] to allow for a more customized user experience, or change an LLM parameter, such as `temperature`, to make the results more or less creative. Before you use the `ai_agent` parameter, you can get the default configuration using the [`GET 2.0/ai_agent_default`][agent] request. For specific use cases, see the [AI model overrides tutorial][overrides].| |
-## Use case
-
-Let's assume you want to extract the vendor name, invoice number, and a few more details from the following sample invoice:
+## Use cases
-![sample invoice](./images/sample-invoice.png)
+This example shows you how to extract metadata from a sample invoice.
### Create the request
@@ -62,9 +65,38 @@ To get the response from Box AI, call `POST /2.0/ai/extract` endpoint with the f
Depending on the use case and the level of detail, you can construct various prompts.
-#### Using keywords
+#### Use plain text
+
+Because this endpoint allows freeform prompts, you can use plain text to get the information.
+
+```bash
+curl --location 'https://api.box.com/2.0/ai/extract' \
+--header 'Content-Type: application/json' \
+--header 'Authorization: Bearer ' \
+--data '{
+ "prompt": "find the document type (invoice or po), vendor, total, and po number",
+ "items": [
+ {
+ "type": "file",
+ "id": "1443721424754"
+ }
+ ]
+}'
+```
+
+In such a case, the response will be based on the keywords included in the text:
+
+```bash
+{
+ "answer": "{\"Document Type\": \"Invoice\", \"Vendor\": \"Quasar Innovations\", \"Total\": \"$1,050\", \"PO Number\": \"003\"}",
+ "created_at": "2024-05-31T10:30:51.223-07:00",
+ "completion_reason": "done"
+}
+```
+
+#### Use specific terms
-The prompt can include a list of keywords that you expect to find in an invoice:
+If you don't want to write the entire sentence, the prompt can consist of terms that you expect to find in an invoice:
```bash
curl --location 'https://api.box.com/2.0/ai/extract' \
@@ -81,7 +113,7 @@ The prompt can include a list of keywords that you expect to find in an invoice:
}'
```
-Using this approach results in a list of keywords provided in the request and their values:
+Using this approach results in a list of terms provided in the request and their values:
```bash
{
@@ -91,9 +123,9 @@ Using this approach results in a list of keywords provided in the request and th
}
```
-#### Using key-value pairs
+#### Use key-value pairs
-The prompt can be a list of key-value pairs that helps Box AI to come up with the metadata structure:
+The prompt can also be a list of key-value pairs that helps Box AI to come up with the metadata structure. This approach requires listing the key-value pairs within a `fields` array.
```bash
curl --location 'https://api.box.com/2.0/ai/extract' \
@@ -110,7 +142,7 @@ curl --location 'https://api.box.com/2.0/ai/extract' \
}'
```
-The response includes the fields present in the file, along with their values:
+The response includes the `fields` present in the file, along with their values:
```bash
{
@@ -120,37 +152,8 @@ The response includes the fields present in the file, along with their values:
}
```
-#### Using plain text
-
-You can also use plain text:
-
-```bash
-curl --location 'https://api.box.com/2.0/ai/extract' \
---header 'Content-Type: application/json' \
---header 'Authorization: Bearer ' \
---data '{
- "prompt": "find the document type (invoice or po), vendor, total, and po number",
- "items": [
- {
- "type": "file",
- "id": "1443721424754"
- }
- ]
-}'
-```
-
-In such a case, the response will be based on the keywords included in the query:
-
-```bash
-{
- "answer": "{\"Document Type\": \"Invoice\", \"Vendor\": \"Quasar Innovations\", \"Total\": \"$1,050\", \"PO Number\": \"003\"}",
- "created_at": "2024-05-31T10:30:51.223-07:00",
- "completion_reason": "done"
-}
-```
-
-[prereq]: g://box-ai/prerequisites
+[prereq]: g://box-ai/ai-tutorials/prerequisites
[agent]: e://get_ai_agent_default
[model-param]: r://ai_agent_text_gen#param_basic_gen_model
[prompt-param]: r://ai_agent_text_gen#param_basic_gen_prompt_template
-[overrides]: g://box-ai/ai-agents/overrides-tutorial
\ No newline at end of file
+[overrides]: g://box-ai/ai-agents/ai-agent-overrides
\ No newline at end of file
diff --git a/content/guides/box-ai/ai-tutorials/generate-text.md b/content/guides/box-ai/ai-tutorials/generate-text.md
new file mode 100644
index 000000000..c3cc55cbc
--- /dev/null
+++ b/content/guides/box-ai/ai-tutorials/generate-text.md
@@ -0,0 +1,90 @@
+---
+rank: 3
+related_endpoints:
+ - post_ai_text_gen
+related_guides:
+ - box-ai/ai-tutorials/prerequisites
+ - box-ai/ai-tutorials/default-agent-overrides
+ - box-ai/ai-tutorials/ask-questions
+ - box-ai/ai-tutorials/extract-metadata
+ - box-ai/ai-tutorials/extract-metadata-structured
+alias_paths:
+ - guides/box-ai/generate-text
+---
+# Generate text with Box AI
+
+
+Box AI API is available to all Enterprise Plus customers.
+
+
+
+You can use Box AI to generate text
+based on provided content.
+ For example, you can ask Box AI to
+ generate a template based
+ on the content you read or create in Box Notes.
+ Then you can embed the generated text
+ directly into your document.
+
+## Before you start
+
+Make sure you followed the steps listed in [prerequisites for using Box AI][prereq] to create a custom app and authenticate.
+
+## Send a request
+
+To send a request, use the
+`POST /2.0/ai/text_gen` endpoint.
+
+
+
+### Parameters
+
+To make a call, you must pass the following parameters. Mandatory parameters are in **bold**.
+
+**Note**: The `items` array can have exactly one element.
+
+| Parameter| Description| Example|
+|--------|--------|-------|
+|**`prompt`**| The request for Box AI to generate or refine the text. The prompt's length cannot exceed 10000 characters.|Create a meeting agenda for a weekly sales meeting.|
+|**`items.id`**|Box file ID of the document. |`1233039227512`|
+|**`items.type`**|The type of the supplied input. | `file`|
+| `items.content` | The content of the item, often the text representation. | `This article is about Box AI`. |
+| `dialogue_history.prompt` | The prompt previously provided by the client and answered by the Large Language Model (LLM). | `Make my email about public APIs sound more professional` |
+| `dialogue_history.answer` | The answer previously provided by the LLM. | `Here is a draft of your professional email about public APIs.` |
+| `dialogue_history.created_at` | The ISO date formatted timestamp of when the previous answer to the prompt was created. | `2012-12-12T10:53:43-08:00` |
+|`ai_agent` | The AI agent used to override the default agent configuration. This parameter allows you to, for example, replace the default LLM with a custom one using the [`model`][model-param] parameter, tweak the base [`prompt`][prompt-param] to allow for a more customized user experience, or change an LLM parameter, such as `temperature`, to make the results more or less creative. Before you use the `ai_agent` parameter, you can get the default configuration using the [`GET 2.0/ai_agent_default`][agent] request. For specific use cases, see the [AI model overrides tutorial][overrides]| |
+
+## Use cases
+
+Generate text based on the provided file content and a prompt.
+
+```sh
+curl -i -L POST "https://api.box.com/2.0/ai/text_gen" \
+ -H "content-type: application/json" \
+ -H "authorization: Bearer " \
+ -d '{
+ "items": [
+ {
+ "id": "12345678",
+ "type": "file"
+ }
+ ],
+ "prompt": "Create a short blog post that provides information on Box AI for Documents and focuses on best practices for asking questions. You can add emoticons, but not too many."
+}'
+```
+
+The result will be as follows:
+
+```sh
+{
+ "answer": "📝 **Box AI for Documents: Best Practices for Asking Questions** 🤔\n\n---\n\nWelcome to our blog post on Box AI for Documents! 🎉 Today, we're going to dive into some best practices when it comes to asking questions within this innovative platform.\n\n1. **Be Clear and Concise**: When formulating a question in Box Notes, make sure your query is clear and to the point. This helps Box AI understand exactly what you're looking for.\n\n2. **Provide Context**: Giving context around your question can significantly improve the accuracy of the response generated by Box AI. Include relevant details or background information.\n\n3. **Use Keywords**: Utilize keywords related to your query within the question itself. This can help Box AI better identify the main topic of your inquiry.\n\n4. **Avoid Ambiguity**: Try to avoid vague or ambiguous questions that could lead to misunderstandings. The more precise you are, the better Box AI can assist you.\n\n5. **Review Suggestions Carefully**: After receiving suggestions from Box AI, take the time to review them carefully before incorporating them into your document. Ensure they align with your intended message.\n\nBy following these best practices, you can maximize the effectiveness of Box AI for Documents and streamline your workflow like never before! 💼✨\n\nStay tuned for more tips and tricks on leveraging technology for enhanced productivity! 👩💻🚀",
+ "created_at": "2024-11-04T02:46:23.459-08:00",
+ "completion_reason": "done"
+}
+```
+
+[prereq]: g://box-ai/ai-tutorials/prerequisites
+[agent]: e://get_ai_agent_default
+[model-param]: r://ai_agent_text_gen#param_basic_gen_model
+[prompt-param]: r://ai_agent_text_gen#param_basic_gen_prompt_template
+[overrides]: g://box-ai/ai-agents/ai-agent-overrides
\ No newline at end of file
diff --git a/content/guides/box-ai/ai-tutorials/index.md b/content/guides/box-ai/ai-tutorials/index.md
new file mode 100644
index 000000000..a53a31d65
--- /dev/null
+++ b/content/guides/box-ai/ai-tutorials/index.md
@@ -0,0 +1,14 @@
+---
+rank: 0
+related_guides:
+ - authentication/tokens/developer-tokens/
+ - box-ai/ai-tutorials/ask-questions
+ - box-ai/ai-tutorials/default-agent-overrides
+ - box-ai/ai-tutorials/generate-text
+ - box-ai/ai-tutorials/extract-metadata-structured
+ - box-ai/ai-tutorials/extract-metadata
+---
+
+# Box AI tutorials
+
+The listed tutorials provide you with an overview and use cases for Q&A and text generation, metadata extraction, and AI model configuration overrides.
diff --git a/content/guides/box-ai/prerequisites.md b/content/guides/box-ai/ai-tutorials/prerequisites.md
similarity index 85%
rename from content/guides/box-ai/prerequisites.md
rename to content/guides/box-ai/ai-tutorials/prerequisites.md
index 6a0bb21a4..154ebec8e 100644
--- a/content/guides/box-ai/prerequisites.md
+++ b/content/guides/box-ai/ai-tutorials/prerequisites.md
@@ -1,10 +1,13 @@
---
-rank: 2
+rank: 1
related_guides:
- - authentication/tokens/developer-tokens/
- - box-ai/ask-questions
- - box-ai/generate-text
- - box-ai/ai-agents/get-agent-default-config
+ - box-ai/ai-tutorials/ask-questions
+ - box-ai/ai-tutorials/default-agent-overrides
+ - box-ai/ai-tutorials/generate-text
+ - box-ai/ai-tutorials/extract-metadata
+ - box-ai/ai-tutorials/extract-metadata-structured
+alias_paths:
+ - guides/box-ai/prerequisites
---
# Get started with Box AI
@@ -47,10 +50,10 @@ settings, contact your admin.
To add a scope:
1. Open your application in Developer Console.
-2. Go to **Configuration** > **Application Scopes** > **Content Actions**
+2. Go to **Configuration** > **Required Access Scopes** > **Content Actions**
3. Select the **Manage AI** scope. Box Platform will automatically include the scope when making the call. If you are added as an collaborator for a given app, but do not have Box AI API access, you will see the **Manage AI** scope checked and grayed out. This means the app owner has the AI scope enabled but you cannot change this setting.
- ![box ai scopes](./images/box-ai-app-scopes.png)
+ ![box ai scopes](../images/box-ai-app-scopes.png)
4. Submit your app for [authorization or enablement][authorization]. If you want to enable Box AI API for an existing application, you must [re-authorize][reauthorization] it.
@@ -61,11 +64,11 @@ to authenticate your app when sending requests.
To generate a token:
-1. Go to **Developer Console** > **My Apps**.
+1. Go to **Developer Console** > **My Platform Apps**.
2. Click the **Options menu** button (…) on the right.
3. Select **Generate Developer Token**. The token will be automatically generated and saved to clipboard.
-![generate token](./images/developer-token.png)
+![generate token](../images/developer-token.png)
You can also open your app, go to
**Configuration** > **Developer Token**
diff --git a/content/guides/box-ai/ask-questions.md b/content/guides/box-ai/ask-questions.md
deleted file mode 100644
index 6ba77746a..000000000
--- a/content/guides/box-ai/ask-questions.md
+++ /dev/null
@@ -1,62 +0,0 @@
----
-rank: 3
-related_endpoints:
- - post_ai_ask
-related_guides:
- - box-ai/prerequisites
- - box-ai/generate-text
- - box-ai/ai-agents/get-agent-default-config
- - box-ai/ai-agents/overrides-tutorial
----
-
-# Ask questions to Box AI
-
-
-Box AI API is available to all Enterprise Plus customers.
-
-
-
-Box AI API allows you to
-ask a question about a supplied file or
-a set of files, and get a response based on
-the content.
-For example, while viewing a document in Box,
-you can ask Box AI to summarize the content.
-
-## Send a request
-
-To send a request containing your question,
-use the `POST /2.0/ai/ask` endpoint and
-provide the mandatory parameters.
-
-
-
-### Authentication
-
-Make sure you have generated the developer token
-to authorize your app. See [prerequisites for using Box AI][prereq]
-for details.
-
-### Parameters
-
-To make a call, you need to pass the following parameters.
-Mandatory parameters are in **bold**.
-
-| Parameter |Description | Available values | Example |
-| ------------ | ------ | ----------- | --- |
-| **`mode`** | The type of request. It can be a question about a single file or a set of files. For a single file, Box AI API supports up to 1MB of text representation. If the file size exceeds 1MB, the first 1MB of text representation will be processed. If you want to list multiple files, the limit is 25 files. If you set `mode` to `single_item_qa`, the `items` array can list only one element.| `single_item_qa`, `multiple_item_qa` | `single_item_qa` |
-| **`prompt`** | The question about your document or content. The prompt's length cannot exceed 10000 characters. | | `What is this document about?` |
-| `dialogue_history.prompt` | The prompt previously provided by the client and answered by the Large Language Model (LLM). | `Make my email about public APIs sound more professional` |
-| `dialogue_history.answer` | The answer previously provided by the LLM. | `Here is a draft of your professional email about public APIs.` |
-| `dialogue_history.created_at` | The ISO date formatted timestamp of when the previous answer to the prompt was created. | `2012-12-12T10:53:43-08:00` |
-|`include_citations`| Specifies if the citations should be returned in the answer.| `true`, `false`| `true`|
-|**`items.id`** | The Box file ID you want to provide as input. | | `112233445566`|
-| **`items.type`** | The type of the provided input. Currently, it can be a single file or multiple files. | `file` | `file` |
-| `items.content` | The content of the item, often the text representation. | | `An application programming interface (API) is a way for two or more computer programs or components to communicate with each other. It is a type of software interface...` |
-|`ai_agent` | The AI agent used to override the default agent configuration. You can use this parameter replace the default LLM with a custom one using the [`model`][model-param] parameter for shorter and longer texts, tweak the base [`prompt`][prompt-param] to allow for a more customized user experience, or change an LLM parameter, such as `temperature`, to make the results more or less creative. Before you use the `ai_agent` parameter, you can get the default configuration using the [`GET 2.0/ai_agent_default`][agent] request. For specific use cases, see the [AI model overrides tutorial][overrides]. ||
-
-[prereq]: g://box-ai/prerequisites
-[agent]: e://get_ai_agent_default
-[model-param]: r://ai_agent_ask#param_basic_text_model
-[prompt-param]: e://ai_agent_ask#param_basic_text_prompt_template
-[overrides]: g://box-ai/ai-agents/overrides-tutorial
\ No newline at end of file
diff --git a/content/guides/box-ai/generate-text.md b/content/guides/box-ai/generate-text.md
deleted file mode 100644
index 420320692..000000000
--- a/content/guides/box-ai/generate-text.md
+++ /dev/null
@@ -1,57 +0,0 @@
----
-rank: 6
-related_endpoints:
- - post_ai_text_gen
-related_guides:
- - box-ai/prerequisites
- - box-ai/ask-questions
- - box-ai/ai-agents/get-agent-default-config
----
-# Generate text with Box AI
-
-
-Box AI API is available to all Enterprise Plus customers.
-
-
-
-You can use Box AI to generate text
-based on provided content.
- For example, you can ask Box AI to
- generate a template based
- on the content you read or create in Box Notes.
- Then you can embed the generated text
- directly into your document.
-
-## Send a request
-
-To send a request, use the
-`POST /2.0/ai/text_gen` endpoint.
-
-Make sure you have generated the developer token
-to authorize your app. See [prerequisites for using Box AI][prereq]
-for details.
-
-
-
-### Parameters
-
-To make a call, you must pass the following parameters. Mandatory parameters are in **bold**.
-
-**Note**: The `items` array can have exactly one element.
-
-| Parameter| Description| Example|
-|--------|--------|-------|
-|**`prompt`**| The request for Box AI to generate or refine the text. The prompt's length cannot exceed 10000 characters.|Create a meeting agenda for a weekly sales meeting.|
-|**`items.id`**|Box file ID of the document. |`1233039227512`|
-|**`items.type`**|The type of the supplied input. | `file`|
-| `items.content` | The content of the item, often the text representation. | `This article is about Box AI`. |
-| `dialogue_history.prompt` | The prompt previously provided by the client and answered by the Large Language Model (LLM). | `Make my email about public APIs sound more professional` |
-| `dialogue_history.answer` | The answer previously provided by the LLM. | `Here is a draft of your professional email about public APIs.` |
-| `dialogue_history.created_at` | The ISO date formatted timestamp of when the previous answer to the prompt was created. | `2012-12-12T10:53:43-08:00` |
-|`ai_agent` | The AI agent used to override the default agent configuration. This parameter allows you to, for example, replace the default LLM with a custom one using the [`model`][model-param] parameter, tweak the base [`prompt`][prompt-param] to allow for a more customized user experience, or change an LLM parameter, such as `temperature`, to make the results more or less creative. Before you use the `ai_agent` parameter, you can get the default configuration using the [`GET 2.0/ai_agent_default`][agent] request. For specific use cases, see the [AI model overrides tutorial][overrides]| |
-
-[prereq]: g://box-ai/prerequisites
-[agent]: e://get_ai_agent_default
-[model-param]: r://ai_agent_text_gen#param_basic_gen_model
-[prompt-param]: r://ai_agent_text_gen#param_basic_gen_prompt_template
-[overrides]: g://box-ai/ai-agents/overrides-tutorial
\ No newline at end of file
diff --git a/content/guides/box-ai/index.md b/content/guides/box-ai/index.md
index 3eb273c76..e72cf92e0 100644
--- a/content/guides/box-ai/index.md
+++ b/content/guides/box-ai/index.md
@@ -4,11 +4,11 @@ related_endpoints:
- post_ai_text_gen
- post_ai_ask
related_guides:
- - box-ai/prerequisites
- - box-ai/ask-questions
- - box-ai/generate-text
- - box-ai/extract-metadata-structured
- - box-ai/extract-metadata
+ - box-ai/ai-tutorials/prerequisites
+ - box-ai/ai-tutorials/ask-questions
+ - box-ai/ai-tutorials/generate-text
+ - box-ai/ai-tutorials/extract-metadata-structured
+ - box-ai/ai-tutorials/extract-metadata
---
diff --git a/content/guides/cli/cli-docs/jwt-cli.md b/content/guides/cli/cli-docs/jwt-cli.md
index 1252a1733..dc93ecba4 100644
--- a/content/guides/cli/cli-docs/jwt-cli.md
+++ b/content/guides/cli/cli-docs/jwt-cli.md
@@ -36,7 +36,7 @@ following scopes are set in the **Configuration** tab of your application:
1. From the left-hand navigation panel on your All Files page, open the [Developer Console][dc]. If this is your first time using the Box API and this option is not already available, you can add it to your account by clicking [here][dc].
-2. Click **Create New App** > **Custom App** > **Server Authentication (with JWT)** > name the application > **Create App**
+2. Click **Create Platform App** > **Platform App** > **Server Authentication (with JWT)** > name the application > **Create App**
Server Authentication (with JWT) always requires Admin authorization before use.
diff --git a/content/guides/collaborations/connect-slack-to-group-collabs/1-configure-slack.md b/content/guides/collaborations/connect-slack-to-group-collabs/1-configure-slack.md
index 94b4be5a0..97c5b1b58 100644
--- a/content/guides/collaborations/connect-slack-to-group-collabs/1-configure-slack.md
+++ b/content/guides/collaborations/connect-slack-to-group-collabs/1-configure-slack.md
@@ -18,7 +18,7 @@ This section will take you through the following steps.
## Create a minimal Slack app
-Go to the **[Slack apps page][slack-apps]** and click **Create New App**. Add
+Go to the **[Slack apps page][slack-apps]** and click **Create Platform App**. Add
an **App Name**, select your **Development Slack Workspace** from the dropdown
list where the bot will be deployed to, then click **Create App**.
diff --git a/content/guides/events/event-triggers/shield-smart-access-events.md b/content/guides/events/event-triggers/shield-smart-access-events.md
index 785d528f7..860328edc 100644
--- a/content/guides/events/event-triggers/shield-smart-access-events.md
+++ b/content/guides/events/event-triggers/shield-smart-access-events.md
@@ -355,7 +355,7 @@ The `additional_details` payload will provide the following details:
`SHIELD_EXTERNAL_COLLAB_INVITE_JUSTIFIED` event.
-## Application Restriction
+## Integration Restriction
If a 3rd-party application, including published custom applications with which
your organization is integrated, is restricted from downloading a file or a
diff --git a/content/guides/getting-started/first-application.md b/content/guides/getting-started/first-application.md
index 681d8ac26..d60876957 100644
--- a/content/guides/getting-started/first-application.md
+++ b/content/guides/getting-started/first-application.md
@@ -41,7 +41,7 @@ Begin with the most basic settings. Open the **General Settings** tab
and check or fill in below fields:
- **App Name** - the name you set up during the app creation, you can change it here if needed;
-- **Contact Email** - this is set to the developer of the application by default. Keep in mind that once you publish your app, this email is publicly visible to Box users who view your app in the [App Center][app-center]. We recommend to change it to a support email address, so that users can reach out to support in case of any issues with the integration;
+- **Contact Email** - this is set to the developer of the application by default. Keep in mind that once you publish your app, this email is publicly visible to Box users who view your app in the [Integrations][integrations]. We recommend to change it to a support email address, so that users can reach out to support in case of any issues with the integration;
- **Collaborators** - add other developers that can work on this integration, so that they can access the developer interface in case they need to adjust any settings.
@@ -60,7 +60,7 @@ features, and add CORS domains.
In the next tabs you can create webhooks, web app integrations,
submit app for enablement for access to the Enterprise, submit your app
-to the [Box App Center][app-center], and generate a report to view this application’s
+to the [Box Integrations][integrations], and generate a report to view this application’s
activity.
## Test your app
@@ -84,9 +84,9 @@ You can also use [Box CLI tool][box-cli] if you prefer to use the terminal.
[console]: https://cloud.app.box.com/developers/console
[auth]: g://authentication/select
[oauth2]: g://authentication/oauth2
-[app-center]: g://applications/app-center
+[integrations]: g://applications/integrations
[add-users]: https://support.box.com/hc/en-us/articles/360043694594-Add-Users
-[app-center]: https://cloud.app.box.com/app-center
+[integrations]: https://cloud.app.box.com/integrations
[dev-token]: g://authentication/tokens/developer-tokens/#create-developer-token
[postman-collection]: g://tooling/postman
[api-ref]: https://developer.box.com/reference/
diff --git a/content/guides/getting-started/publish-app.md b/content/guides/getting-started/publish-app.md
index 925806f07..972fa4a00 100644
--- a/content/guides/getting-started/publish-app.md
+++ b/content/guides/getting-started/publish-app.md
@@ -5,7 +5,7 @@ rank: 3
# Publish your application
When you finish the app configuration and testing, you can publish
-it in the [Box App Center][app-center]. It allows customers to find
+it in the [Box Integrations][integrations]. It allows customers to find
your application and add it to their Box accounts.
@@ -13,7 +13,7 @@ your application and add it to their Box accounts.
Only applications that use the OAuth 2.0 authentication have a
built-in publication option. You can use other user authentication
types, but such app can only serve as a marketing listing in the
-App Center and redirect customers to your website.
+Integrations and redirect customers to your website.
@@ -21,12 +21,12 @@ To publish your app:
1. Open the **Dev Console**.
2. Select the application you want to publish.
-3. Go to the **App Center** tab and submit your app.
+3. Go to the **Integrations** tab and submit your app.
This action gives you access to the marketing section of the
application, where you need to add the following app information:
-- **General App Info** - choose correct categories and platforms for your application to make it easier to find in the App Center,
+- **General App Info** - choose correct categories and platforms for your application to make it easier to find in the Integrations,
- **App Description** - make sure it contains all information about your application that the customers may find useful,
- **Short Description** appears next to your app logo, together with your app name;
- **Long Description** is what the users see after they select your app to view its details. You can add clickable links to the long description.
@@ -40,9 +40,9 @@ Console.
When you're finished with providing the details about your app,
submit your app for approval. Box will review your application
-and publish it in the App Center.
+and publish it in the Integrations.
In case of any questions or issues, contact the Partners team:
integrate@box.com
-[app-center]: https://cloud.app.box.com/app-center
\ No newline at end of file
+[integrations]: https://cloud.app.box.com/integrations
\ No newline at end of file
diff --git a/content/guides/integration-mappings/slack-mappings/setup.md b/content/guides/integration-mappings/slack-mappings/setup.md
index 3b5a2a9b9..3ee2b09f4 100644
--- a/content/guides/integration-mappings/slack-mappings/setup.md
+++ b/content/guides/integration-mappings/slack-mappings/setup.md
@@ -34,7 +34,7 @@ If you encounter any errors, see the [troubleshooting guide][3].
## Create Box application
1. Create a [custom app with OAuth authentication][4] in the [Box developer console][5]
-2. Open the application and enable the **Manage enterprise properties** application scope under **Configuration** > **Application Scopes**.
+2. Open the application and enable the **Manage enterprise properties** application scope under **Configuration** > **Required Access Scopes**.
For Slack-side channel validation, the [Integration Mappings API][6]
diff --git a/content/guides/mobile/ios/quick-start/3-configure-box-app.md b/content/guides/mobile/ios/quick-start/3-configure-box-app.md
index 825ad26c6..2e36d313d 100644
--- a/content/guides/mobile/ios/quick-start/3-configure-box-app.md
+++ b/content/guides/mobile/ios/quick-start/3-configure-box-app.md
@@ -3,11 +3,11 @@ type: quick-start
hide_in_page_nav: true
---
-# Configure a Box App
+# Configure a Box Platform App
To start making authenticated API calls to the Box API with the **Box iOS
SDK**, an **Access Token** will be needed. The simplest way to generate a valid
-token is to generate a new **Box App** and manually generate a short lived
+token is to generate a new **Box Platform App** and manually generate a short lived
developer token.
The developer token is generated through the developer console UI and will be
@@ -38,12 +38,12 @@ valid for one hour before having to be manually refreshed.
token, use the following steps.
1. Go to the [Developer Console][devconsole]
- 2. Select **Create New App**
- 3. Select **Custom App** as the type of application to create, and click **Next**
+ 2. Select **Create Platform App**
+ 3. Select **Platform App** as the type of application to create, and click **Next**
4. Select **OAuth 2.0 with JWT** as the authentication method, and click **Next**
- 5. Give your Box app a unique name and click **Create App**
- 6. Go to the app's configuration by clicking **View Your App**.
- 7. Optionally, scroll to the **Application Scopes** section of the same screen and select any additional permissions you want to enable for this application.
+ 5. Give your Box app a unique name and click **Create Platform App**
+ 6. Go to the app's configuration by clicking **View Your Platform App**.
+ 7. Optionally, scroll to the **Required Access Scopes** section of the same screen and select any additional permissions you want to enable for this application.
8. At the top of the page click the button to **Save Changes**
diff --git a/content/guides/security/images/global_app_settings.png b/content/guides/security/images/global_app_settings.png
deleted file mode 100644
index a3750623c..000000000
Binary files a/content/guides/security/images/global_app_settings.png and /dev/null differ
diff --git a/content/guides/security/images/global_apps_settings.png b/content/guides/security/images/global_integration_settings.png
similarity index 100%
rename from content/guides/security/images/global_apps_settings.png
rename to content/guides/security/images/global_integration_settings.png
diff --git a/content/guides/security/index.md b/content/guides/security/index.md
index f69c9b254..639252c8f 100644
--- a/content/guides/security/index.md
+++ b/content/guides/security/index.md
@@ -136,11 +136,11 @@ Service Account and App Users.
There are a few enterprise settings to be aware of when it comes to the Box API.
-![Global App Settings](images/global_apps_settings.png)
+![Global Integration Settings](images/global_integration_settings.png)
Custom applications fall into two categories: published and unpublished.
-Published applications are found in the [Box App Center][appcenter]. Box
+Published applications are found in the [Box Integrations][appcenter]. Box
Admins decide whether published and unpublished application are enabled by
default and therefore can be used without approval. The status of these settings
determines what actions are necessary to successfully [authorize][auth] an
diff --git a/content/guides/skills/handle/setup.md b/content/guides/skills/handle/setup.md
index 41a7f3c46..328ef1dae 100644
--- a/content/guides/skills/handle/setup.md
+++ b/content/guides/skills/handle/setup.md
@@ -15,7 +15,7 @@ Setting up a Custom Skill is a multi-step process.
## Prerequisites
-To set up a Custom App using OAuth 2.0 authentication, you will need to ensure
+To set up a Platform App using OAuth 2.0 authentication, you will need to ensure
you have access the [Developer Console][devconsole] from your Box enterprise
account. Alternatively, you may sign up for a [developer account][devaccount].
@@ -39,7 +39,7 @@ will appear to prompt the next step.
### 3. Provide a name
-Finally, select a unique name for your application and click **Create App**.
+Finally, select a unique name for your application and click **Create Platform App**.
diff --git a/content/guides/sso-identities-and-app-users/connect-okta-to-app-users/3-configure-box.md b/content/guides/sso-identities-and-app-users/connect-okta-to-app-users/3-configure-box.md
index caf7fa805..583b59548 100644
--- a/content/guides/sso-identities-and-app-users/connect-okta-to-app-users/3-configure-box.md
+++ b/content/guides/sso-identities-and-app-users/connect-okta-to-app-users/3-configure-box.md
@@ -33,12 +33,12 @@ create users that are associated with the Okta user account.
the following steps.
1. Go to the [Developer Console][devconsole]
- 2. Select **Create New App**
- 3. Select **Custom App** as the type of application to create, and click **Next**
+ 2. Select **Create Platform App**
+ 3. Select **Platform App** as the type of application to create, and click **Next**
4. Select **OAuth 2.0 with JWT** as the authentication method, and click **Next**
5. Give your Box app a unique name and click **Create App**
6. Go to the app's configuration by clicking **View Your App**.
- 7. Scroll to the **Application Scopes** section of the same screen and ensure that at least the following scopes are enabled:
+ 7. Scroll to the **Required Access Scopes** section of the same screen and ensure that at least the following scopes are enabled:
* Read and write all files and folders stored in Box
* Manage Users
8. Under **Advanced Features** ensure that both options are enabled to perform actions as users and generate user access tokens.
diff --git a/content/guides/sso-identities-and-app-users/connect-okta-to-app-users/5-find-or-create-box-users.md b/content/guides/sso-identities-and-app-users/connect-okta-to-app-users/5-find-or-create-box-users.md
index 98e354ec2..aa58d5207 100644
--- a/content/guides/sso-identities-and-app-users/connect-okta-to-app-users/5-find-or-create-box-users.md
+++ b/content/guides/sso-identities-and-app-users/connect-okta-to-app-users/5-find-or-create-box-users.md
@@ -15,7 +15,7 @@ This section will cover the final Box components:
* Creating a new app user for the associated Okta record if they don't.
* Fetching tokens for the Box user to make user-specific API calls.
-## Create New App Users
+## Create Platform App Users
Before validating users we need a method for creating an associated Box user
account if one doesn't already exist for the Okta user.
diff --git a/content/guides/tooling/salesforce-toolkit/flow-actions.md b/content/guides/tooling/salesforce-toolkit/flow-actions.md
index 4f919587c..7c6c9d87a 100644
--- a/content/guides/tooling/salesforce-toolkit/flow-actions.md
+++ b/content/guides/tooling/salesforce-toolkit/flow-actions.md
@@ -37,7 +37,7 @@ The list below contains all methods that can be invoked in
- Delete Collaboration (`deleteCollaboration`)
- Delete Metadata Cascade Policy (`deleteMetadataCascadePolicyById`)
- Edit Collaboration (`editCollaboration`)
-- Enable App Activity (`enableAppActivity`)
+- Enable Integration Activity (`enableAppActivity`)
- Get Box Metadata by Folder Id (`getBoxMetadataByFolderId`)
- Get Folder Associations By Salesforce Record ID (`getFolderAssociationsByRecordId`)
- Get Folder ID By Record ID (`getFolderIdByRecordId`)
diff --git a/content/guides/webhooks/v1/create-v1.md b/content/guides/webhooks/v1/create-v1.md
index d7eebcc2a..10f5a5d07 100644
--- a/content/guides/webhooks/v1/create-v1.md
+++ b/content/guides/webhooks/v1/create-v1.md
@@ -44,7 +44,7 @@ to begin use.
To obtain the URL to add the app, follow the directions below for OAuth 2.0
authentication apps:
-1. Navigate to the **App Center** tab for the application in the [Developer Console][devconsole].
+1. Navigate to the **Integrations** tab for the application in the [Developer Console][devconsole].
2. Click **Submit My App**. Do not worry, you will not be completing the submission process!
3. At the bottom of the page, click **Preview**.
4. Click **Add**
diff --git a/content/guides/webhooks/v2/create-v2.md b/content/guides/webhooks/v2/create-v2.md
index 767046af6..5a6847325 100644
--- a/content/guides/webhooks/v2/create-v2.md
+++ b/content/guides/webhooks/v2/create-v2.md
@@ -24,7 +24,7 @@ created in the [Developer Console][console] and with API.
V2 webhooks can be created only when the scope **Manage Webhooks**
is selected and the application is authorized. See more about
- [application scopes][1] and [authorization][2].
+ [Required Access Scopes][1] and [authorization][2].
To create a webhook follow the steps below.
diff --git a/content/microcopy/ai_dev_zone.yml b/content/microcopy/ai_dev_zone.yml
index 0ad5e364a..53988ea59 100644
--- a/content/microcopy/ai_dev_zone.yml
+++ b/content/microcopy/ai_dev_zone.yml
@@ -81,7 +81,7 @@ side_panel:
summary:
title: Document summary
cta: Learn more
- url: /guides/box-ai/ask-questions/
+ url: /guides/box-ai/ai-tutorials/ask-questions/
metadata:
title: Structured metadata extraction
cta: Learn more
@@ -93,7 +93,7 @@ side_panel:
qa:
title: Document Q&A
cta: Learn more
- url: /guides/box-ai/generate-text/
+ url: /guides/box-ai/ai-tutorials/generate-text/
tab_demo: Demo
tab_sample_code: Sample code
filtersError: Select the tone of voice and length to generate
diff --git a/content/microcopy/headers.yml b/content/microcopy/headers.yml
index c10bb8bbb..24eef2230 100644
--- a/content/microcopy/headers.yml
+++ b/content/microcopy/headers.yml
@@ -120,7 +120,7 @@ primary:
console:
// text: The text for the link to the developer console
- text: My Apps
+ text: My Platform Apps
// url: The URL to the developer console
url: https://cloud.app.box.com/developers/console
@@ -170,11 +170,11 @@ primary:
text: Event
title:
- text: BoxWorks
+ text: Box Developer Day Toronto
details:
text: |-
- Join BoxWorks 2024 to discover what's possible with content and AI!
+ Join the upcoming Box Platform Developer Day in Toronto on November 20!
cta:
text: |-
diff --git a/content/pages/platform/application-types.md b/content/pages/platform/application-types.md
index ec9599798..d9890100d 100644
--- a/content/pages/platform/application-types.md
+++ b/content/pages/platform/application-types.md
@@ -18,7 +18,7 @@ provides customizable UI Elements for tasks like browsing, searching, and
previewing content. These apps support OAuth 2.0, JWT, and Client Credentials
Grant for authentication. Custom Apps are ideal for applications that need to
access both their own and others' files, upload and download files, and
-potentially be listed in the Box App Center.
+potentially be listed in the Box Integrations.
## Limited Access App
@@ -47,21 +47,21 @@ handling authentication.
seamlessly
with the Box user experience. They enable users to edit, share, or modify
content stored in Box using a third-party application. Such integrations can
-add new features to Box users and be added to Recommended Apps in Box Preview,
+add new features to Box users and be added to Recommended Web Integrations in Box Preview,
enhancing the user experience by integrating with various content types and
file extensions.
-## App Center Publication
+## Integrations Publication
-The [Box App Center][app_center] is a platform for Box users to discover
+The [Box Integrations][integrations] is a platform for Box users to discover
applications that
can be used in conjunction with Box. For developers, listing their application
-in the App Center is an effective way to reach new users, particularly for
-applications suited for use by other enterprises. The process for App Center
+in the Integrations is an effective way to reach new users, particularly for
+applications suited for use by other enterprises. The process for Integrations
publication involves ensuring the app is production-ready, leverages OAuth 2.0
authentication, and submitting it for approval through the Developer Console.
Once approved, applications can be featured, most popular, or recently added
-sections in the App Center, and they can also be unpublished if necessary.
+sections in the Integrations, and they can also be unpublished if necessary.
Next step
@@ -71,4 +71,4 @@ sections in the App Center, and they can also be unpublished if necessary.
[limited_app]: g://applications/app-types/limited-access-apps/
[skills]: g://applications/app-types/custom-skills/
[web_app]: g://applications/web-app-integrations/
-[app_center]: g://applications/app-center/
\ No newline at end of file
+[integrations]: g://applications/integrations/
\ No newline at end of file
diff --git a/content/pages/platform/box-glossary.md b/content/pages/platform/box-glossary.md
index c36b046e6..4f318266b 100644
--- a/content/pages/platform/box-glossary.md
+++ b/content/pages/platform/box-glossary.md
@@ -17,7 +17,7 @@ to find out what a term means, this is your one stop page.
| Anonymous User | | A user that is not logged in. |
| App user | | Box [app user][app user] is a specific type of user within the Box Platform who is associated with applications or services that integrate with Box. App users are only accessible with the API, meaning they do not have login credentials. They can be created by a service account and are only applicable to applications leveraging server to server authentication. App users are tied to the application used to create them, and the user itself cannot be moved under another application. They can however collaborate on content outside of the application. |
| Bookmark / web link | Symbolic link, Symlink, soft link, reference, relationship | A clickable reference that allows you to easily access external websites or specific locations within your content structure. |
-| Box App Center | App Store | The first place for Box users to find out about applications that they can use in combination with Box. |
+| Box Integrations | App Store | The first place for Box users to find out about applications that they can use in combination with Box. |
| Box Command Line Interface | [Box CLI][CLI] | A user-friendly command line tool that allows both technical and non-technical users to leverage the Box API to perform routine or bulk actions. |
| Box Custom Skill | Custom Skill, Box Skill | An application that performs custom processing for files uploaded to Box. Skills are designed to make it possible to use third-party machine learning services to automatically extract information from files uploaded to Box. |
| [Box Embed][embed] | | An HTML-based framework that makes it possible to embed the Box Web App experience anywhere in the 3rd party applications. Box Embed provides the ability to upload, search, comment, share, tag, and edit files using Box Edit. |
diff --git a/content/pages/platform/box-platform-101.md b/content/pages/platform/box-platform-101.md
index a7b244d25..ab0f94dc4 100644
--- a/content/pages/platform/box-platform-101.md
+++ b/content/pages/platform/box-platform-101.md
@@ -97,8 +97,8 @@ web app, they should be able to access it using the API.
### Application Type
There are three main types of applications that can be created in the developer
-console. They include custom app, limited access app, and custom skills. You can
-also create third party and web app integrations.
+console. They include platform app, limited access app, and custom skills. You
+can also create third party and web app integrations.
![Application Types](images/app_type.png)