# Action Collections

Bundle, share, and reuse Custom Actions across your AVCodex agents and workspace.

---

Action Collections let you group related Custom Actions and share them across agents or with your whole workspace. Build a Crestron control-system integration once, ship it to every agent in your dealer program. No copy-paste between agents.

## What an Action Collection is

A Collection is a package of related Custom Actions:

| Feature | Description |
|---------|-------------|
| **Bundled actions** | Group related API integrations together. |
| **Shareable** | Share with your workspace or keep private. |
| **Configurable** | Each agent can set its own API keys. |
| **Updatable** | Push updates to every agent using the Collection. |

## Creating a Collection

**1. Build the Custom Actions first.**

Create the Custom Actions you want to bundle in your agent's **Build** > **Custom Actions** section. For example: a "Get device status" action, a "Restart device" action, and a "Pull recent alerts" action against your network monitoring platform.

**2. Publish as a Collection.**

Once you have at least one Custom Action, you'll see **Publish as Collection** below your actions list. Click it to bundle.

Configure the Collection:
- **Name**: a descriptive name, for example "Q-SYS Reflect Integration."
- **Description**: what the Collection does.
- **Actions**: which actions to include.

**3. Set the sharing scope.**

Choose who can use the Collection:

| Scope | Who can access |
|-------|----------------|
| **Private** | Only your agents. |
| **Workspace** | Anyone in your workspace, for example every programmer in your shop. |

## Importing Collections

Once Collections have been published to your workspace, an **Action Collections** section appears in the Build page.

### Browse available Collections

Click **Browse Workspace Collections** to see what is available:

- **Pro Actions**: pre-built integrations from AVCodex.
- **Workspace**: Collections shared by your team.
- **Your Collections**: Collections you have created.

### Import to your agent

1. Find the Collection you want.
2. Click **Import**.
3. Configure required variables (API keys, base URLs).
4. The actions are added to your agent.

## Variables and configuration

Collections use variables for values that change between agents:

### What variables are

Variables are placeholders that get filled in at import time:

```
API URL: https://api.example.com/v1
API Key: {{API_KEY}}       ← Variable
```

Each agent that imports the Collection provides its own key. The integrator's monitoring API key stays separate from the dealer-program shared agent's key.

### Variable types

| Type | Use case | Example |
|------|----------|---------|
| **Text** | URLs, identifiers | Base URL, account ID, tenant slug. |
| **Secret** | API keys, tokens | Hidden in the UI, encrypted at rest. |

### Setting variable values

When importing a Collection:

1. You'll see required variables.
2. Enter a value for each.
3. Values are stored securely per agent.
4. You can update them later in the action settings.

## Managing Collections

### View your Collections

See every Collection you have created or imported in **Build** > **Custom Actions**.

### Update a Collection

When you change actions in your source agent:

1. Make the edits.
2. Re-publish the Collection.
3. Agents using it can pull the update.

### Remove a Collection

To remove an imported Collection:

1. Find the Collection in your agent.
2. Click the settings icon.
3. Select **Remove Collection**.

This removes the actions from that agent. The Collection itself is not deleted.

## Best practices

### Keep Collections focused

Build Collections around a single integration or a single use case:

**Good:**
- "Crestron XiO Cloud" - device status, room recovery, deployment actions.
- "Q-SYS Reflect" - core health, peripheral status, design version checks.
- "ServiceNow Field Tickets" - create, update, assign, close.

**Avoid:**
- "All my actions" - too broad, hard to maintain.
- "Misc utilities" - no clear purpose.

### Variable naming

Use clear, consistent names:

```
Good:
- XIO_CLOUD_API_KEY
- QSYS_REFLECT_BASE_URL
- SERVICENOW_INSTANCE

Avoid:
- key
- token1
- url
```

### Documentation

Add descriptions to your Collections and actions:

- What does each action do?
- What variables are required?
- Any prerequisites or setup needed (account scopes, license tiers, network access)?

## Troubleshooting

### "Variable not configured"

An imported Collection is missing required values:

1. Open the Collection settings.
2. Click **Configure Variables**.
3. Enter the missing values.

### "Action not working after import"

1. Confirm the variable values are correct.
2. Verify API credentials are valid and not expired.
3. Test the action on its own.

### "Can't see workspace Collections"

1. Confirm you are in the correct workspace.
2. Check the Collection's sharing scope is set to **Workspace**.
3. Ask the creator to verify sharing settings.

## Next steps

With Action Collections in hand:

1. Review [Custom Actions](/docs/custom-actions/overview) to build more integrations.
2. Explore [Pro Actions](/docs/pro-actions/pro-actions-overview) for pre-built integrations.
3. See [Parameters](/docs/custom-actions/parameter-configuration) for advanced configuration.

*AVCodex · Your AV expertise. Amplified by AI.*
