Skip to content

Commit 02f9de3

Browse files
committed
Updated structure of component pages and added a new section for self-hosted
1 parent de659a6 commit 02f9de3

33 files changed

+172
-264
lines changed
Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
{
22
"label": "Components",
3-
"collapsed": true
3+
"collapsed": true,
4+
"position": 5
45
}

docs/agent-studio/components/advanced/api-call.mdx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -130,6 +130,7 @@ You paste a static token or API key into the `Authorization` header.
130130
OAuth is like giving your agent a *temporary pass* instead of a permanent key. The system automatically handles token refresh, so you don’t have to rotate secrets manually.
131131

132132
#### Supported OAuth flows
133+
133134
| Flow | When to use | Example |
134135
|------|-------------|---------|
135136
| Authorization Code (with PKCE) | When a user needs to log in (e.g. “Login with Google”). | Connecting to Gmail, LinkedIn |

docs/agent-studio/components/advanced/async.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ Use the **Async** component to run parts of your workflow in the background. It'
1313
Without `Async`, tasks that take longer than a few minutes can fail with a timeout error. `Async` offloads these heavy jobs to a separate process, ensuring your main workflow completes instantly while the background task runs to completion.
1414
</InfoCallout>
1515

16+
<Arcade src="https://demo.arcade.software/NmkvZboIWz4aZwjb1ruq?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="Async | SmythOS" />
17+
1618
<Spacer size="md" />
1719

1820
## Step 1: Define Inputs
@@ -30,8 +32,6 @@ Inputs for the `Async` component are the data you need to pass to the background
3032
Think of Async inputs as the parameters for your background job. If you're processing a list of users, you might have an input named `userList` of type `Array`.
3133
</TipCallout>
3234

33-
<Arcade src="https://demo.arcade.software/NmkvZboIWz4aZwjb1ruq?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="Async | SmythOS" />
34-
3535
<Spacer size="md" />
3636

3737
## Step 2: Understand Outputs

docs/agent-studio/components/advanced/await.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ Use the **Await** component to pause your main workflow until one or more backgr
1313
`Await` bridges the gap between your main workflow and background processes. It's the key to making a workflow wait for a long-running task to complete so you can use its output in subsequent steps, like showing results to a user or making decisions based on the processed data.
1414
</InfoCallout>
1515

16+
<Arcade src="https://demo.arcade.software/Zm414J05Em9ruNick1Uy?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="Await | SmythOS" />
17+
1618
<Spacer size="md" />
1719

1820
## Step 1: Set Wait Conditions
@@ -28,8 +30,6 @@ Define the criteria for when the `Await` component should stop waiting and allow
2830
The workflow resumes as soon as the *first* condition is met. If `Minimum Jobs Count` is 5 and `Maximum Wait Time` is 30 seconds, the flow continues at 30 seconds even if only 3 jobs have finished.
2931
</TipCallout>
3032

31-
<Arcade src="https://demo.arcade.software/Zm414J05Em9ruNick1Uy?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="Await | SmythOS" />
32-
3333
<Spacer size="md" />
3434

3535
## Step 2: Provide Job IDs

docs/agent-studio/components/advanced/for-each.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,8 @@ keywords: ["ForEach", "For Each", "loop array", "iterate list", "batch processin
1212
Manually processing lists is tedious and not scalable. **For Each** automates the repetition so workflows stay simple and reliable, whether the list has 3 items or 3,000.
1313
</InfoCallout>
1414

15+
<Arcade src="https://demo.arcade.software/712A7jqiMFGqgWkutOCL?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="For Each | SmythOS" />
16+
1517
<Spacer size="md" />
1618

1719
## Step 1: Provide the Input Array
@@ -26,8 +28,6 @@ The component expects a single input: a JSON array.
2628
Pass arrays from **API Call**, **Code**, **Database**, or any previous step that returns a list.
2729
</TipCallout>
2830

29-
<Arcade src="https://demo.arcade.software/712A7jqiMFGqgWkutOCL?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="For Each | SmythOS" />
30-
3131
<Spacer size="md" />
3232

3333
## Step 2: Build the Loop Steps

docs/agent-studio/components/advanced/json-filter.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ Use the **JSON Filter** component to reduce large JSON objects to only the field
1313
APIs often return far more data than you need. Sending a massive JSON object to an LLM wastes tokens and risks hitting context limits. The `JSON Filter` lets you surgically remove the noise, ensuring only relevant data is passed on.
1414
</InfoCallout>
1515

16+
<Arcade src="https://demo.arcade.software/WJpOVfU9Ll9F6NrOtjnv?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="JSON Filter | SmythOS" />
17+
1618
<Spacer size="md" />
1719

1820
## Step 1: Define Filter Parameters
@@ -27,8 +29,6 @@ Specify the exact keys you want to keep from the original JSON object. All other
2729
To keep a nested field like `user.profile.email`, you must include all parent keys in the list: `user, user.profile, user.profile.email`.
2830
</TipCallout>
2931

30-
<Arcade src="https://demo.arcade.software/WJpOVfU9Ll9F6NrOtjnv?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="JSON Filter | SmythOS" />
31-
3232
<Spacer size="md" />
3333

3434
## Step 2: Provide the JSON Input

docs/agent-studio/components/advanced/llm-assistant.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ Use the **LLM Assistant** component to create stateful, multi-turn chat experien
1313
Unlike a standard LLM call, the `LLM Assistant` remembers previous messages in the same conversation. This is crucial for building chatbots and agents that can understand follow-up questions and maintain a natural conversational flow.
1414
</InfoCallout>
1515

16+
<Arcade src="https://demo.arcade.software/feB8bIw53rxIILXr2QwP?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="LLM Assistant | SmythOS" />
17+
1618
<Spacer size="md" />
1719

1820
## Step 1: Select a Model
@@ -24,8 +26,6 @@ Choose the language model that will power your assistant. You can use built-in m
2426
| **Model** | <Badge type="required">Yes</Badge> | The LLM used for generating responses. | Defaults to SmythOS-provided models (e.g., OpenAI). You can also select other shared models like Claude or Together AI. For more, see [Billing Management](/docs/account-management/billing-management). |
2527
| **Custom Model** | <Badge type="optional">No</Badge> | Connect to your own LLM provider, such as Amazon Bedrock or Google Vertex AI. | This is an enterprise feature. You will need to provide your own credentials and select a foundation model. [Contact us](https://smythos.com/talk-to-us) to enable it. |
2628

27-
<Arcade src="https://demo.arcade.software/feB8bIw53rxIILXr2QwP?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="LLM Assistant | SmythOS" />
28-
2929
<Spacer size="md" />
3030

3131
## Step 2: Define the Behavior

docs/agent-studio/components/advanced/sleep.mdx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ Use the **Sleep** component to intentionally pause a workflow for a specific dur
1313
Many workflows need to interact with external services that have strict usage policies (rate limits). The `Sleep` component prevents your agent from making too many requests too quickly. It's also vital for waiting for slow, asynchronous processes to complete before continuing.
1414
</InfoCallout>
1515

16+
<Arcade src="https://demo.arcade.software/T5ojKEEAC1y7ciCqaPRg?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="Sleep | SmythOS" />
17+
1618
<Spacer size="md" />
1719

1820
## Step 1: Set the Delay Duration
@@ -27,8 +29,6 @@ The only setting to configure is the amount of time, in seconds, that the workfl
2729
You can set the delay using a variable. For example, an API response might include a `Retry-After` header. You can extract that value and pass it to the `Sleep` component to wait for the exact required duration.
2830
</TipCallout>
2931

30-
<Arcade src="https://demo.arcade.software/T5ojKEEAC1y7ciCqaPRg?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="Sleep | SmythOS" />
31-
3232
<Spacer size="md" />
3333

3434
## Best Practices

docs/agent-studio/components/base/agent-skill.mdx

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,9 @@ Use the **Agent Skill** component to define a reusable capability or function fo
1313
Agent Skills are the building blocks of a sophisticated agent. Instead of creating one massive, monolithic workflow, you can break down complex logic into smaller, named skills (e.g., `check_inventory`, `process_refund`). This makes your agent easier to debug, update, and scale.
1414
</InfoCallout>
1515

16+
<Arcade src="https://demo.arcade.software/kwsoTMnZP38yLMH1LD3b?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="Agent Skill | SmythOS"/>
17+
18+
1619
<Spacer size="md" />
1720

1821
## Step 1: Define the Skill's Core Details
@@ -42,8 +45,6 @@ Parameters are the inputs your skill needs to perform its function.
4245
| **Optional** | <Badge type="optional">No</Badge> | Mark as true if the parameter is not always required. |
4346
| **Default Value** | <Badge type="optional">No</Badge> | A fallback value to use if no input is provided. |
4447

45-
<Arcade src="https://demo.arcade.software/kwsoTMnZP38yLMH1LD3b?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="Agent Skill | SmythOS"/>
46-
4748
<Spacer size="md" />
4849

4950
## Step 3: Configure Advanced Options

docs/agent-studio/components/base/api-output.mdx

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ Use the **API Output** component to structure and standardize the final output o
1313
Consistent and clean outputs are crucial for building reliable agents. The `API Output` component acts as a formal "return" statement for your workflows, making them easier to call, debug, and integrate with other systems.
1414
</InfoCallout>
1515

16+
<Arcade src="https://demo.arcade.software/BDTiFUzkoQo0nVtWLfI1?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="API Output | SmythOS"/>
17+
1618
<Spacer size="md" />
1719

1820
## Step 1: Define the Output Fields (Inputs)
@@ -30,7 +32,6 @@ The "inputs" of this component are actually the fields you want to include in yo
3032
Think of each input as a field in your final JSON response. If you want a response like `{"status": "success", "data": {...}}`, you would create two inputs named `status` and `data`.
3133
</TipCallout>
3234

33-
<Arcade src="https://demo.arcade.software/BDTiFUzkoQo0nVtWLfI1?embed&embed_mobile=tab&embed_desktop=inline&show_copy_link=true" title="API Output | SmythOS"/>
3435

3536
<Spacer size="md" />
3637

0 commit comments

Comments
 (0)