Skip to content
Back to skills

026 Tier F807443d

ASecurity

Complete reference for Salesforce CLI commands used with Agentforce agents. > ⚠️ **Note**: These commands are in beta. Use `--help` to verify current flags. ---

  • 9 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 11, 2026
ai-agentsbashtestingapidocumentation

Works with

  • cli
  • api

Security analysis

A100/100

Scanned October 11, 2026

npx -y skills add tools-only/X-Skills --skill 026-tier_f807443d --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of 026 Tier F807443d?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for 026 Tier F807443d
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/tools-only-026-tier-f807443d/badge)](https://www.skillsdirectory.com/skills/tools-only-026-tier-f807443d)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

SKILL.md
<!-- TIER: 2 | QUICK REFERENCE -->
<!-- Read after: SKILL.md (entry point) -->
<!-- Purpose: Complete CLI reference for Agentforce agents -->

# CLI Guide

Complete reference for Salesforce CLI commands used with Agentforce agents.

> ⚠️ **Note**: These commands are in beta. Use `--help` to verify current flags.

---

## Command Quick Reference

| Command | Purpose | Stage |
|---------|---------|-------|
| `sf agent validate authoring-bundle` | Validate Agent Script syntax | Authoring |
| `sf agent publish authoring-bundle` | Publish authoring bundle | Authoring |
| `sf agent preview` | Preview agent behavior | Testing |
| `sf agent activate` | Activate published agent | Deployment |
| `sf agent deactivate` | Deactivate agent for changes | Deployment |
| `sf project retrieve start --metadata Agent:Name` | Sync agent from org | Sync |
| `sf project deploy start --metadata Agent:Name` | Deploy agent to org | Sync |

---

## Authoring Commands

### sf agent validate authoring-bundle

Validates Agent Script syntax before publishing.

```bash
sf agent validate authoring-bundle [flags]
```

| Flag | Description | Required |
|------|-------------|----------|
| `-n, --api-name` | API name of authoring bundle | No (prompts if omitted) |
| `-o, --target-org` | Org username or alias | No (uses default) |
| `--api-version` | Override API version | No |

> ⚠️ **No `--source-dir` flag!** The command finds bundles in your DX project automatically.

```bash
# Validate specific bundle
sf agent validate authoring-bundle --api-name Customer_Support_Agent --target-org myorg
```

**Common Errors:**

| Error | Cause | Solution |
|-------|-------|----------|
| `SyntaxError: Unexpected token` | Invalid syntax | Check indentation, colons, quotes |
| `type integer is not supported` | Using `integer` type | Use `number` instead |
| `Unexpected '<'` | Using `list<type>` | Use `list[type]` (square brackets) |

---

### sf agent publish authoring-bundle

Publishes the authoring bundle to create or update the agent.

```bash
sf agent publish authoring-bundle [flags]
```

| Flag | Description | Required |
|------|-------------|----------|
| `-n, --api-name` | API name of authoring bundle | No (prompts if omitted) |
| `-o, --target-org` | Org username or alias | No (uses default) |

> ⚠️ **No `--source-dir`, `--async`, or `--wait` flags!**

```bash
# Publish specific bundle
sf agent publish authoring-bundle --api-name Customer_Support_Agent --target-org myorg
```

**Creates/Updates:**
- `Bot` - Top-level chatbot
- `BotVersion` - Version configuration
- `AiAuthoringBundle` - Agent Script metadata
- `GenAiPlugin` - Topics
- `GenAiFunction` - Actions

---

## Testing Commands

### sf agent preview

Preview agent behavior before production deployment.

```bash
sf agent preview [flags]
```

| Flag | Description | Required |
|------|-------------|----------|
| `--api-name` | Agent API name | No |
| `--target-org` | Org username or alias | No |
| `--use-live-actions` | Enable live mode (real Apex/Flows) | No |
| `--client-app` | Connected app name | For live mode |
| `--output-dir` | Save transcript/response files | No |
| `--apex-debug` | Generate Apex debug logs | No |
| `--authoring-bundle` | Specify authoring bundle | No |

```bash
# Simulated mode (default)
sf agent preview --api-name Customer_Support_Agent --target-org myorg

# Live mode with connected app
sf agent preview --api-name Customer_Support_Agent --use-live-actions --client-app MyAgentApp --target-org myorg

# With debug output
sf agent preview --api-name Customer_Support_Agent --output-dir ./logs --apex-debug --target-org myorg
```

#### Preview Modes

| Mode | Description | Use When |
|------|-------------|----------|
| **Simulated** (default) | LLM simulates action responses | Apex/Flows not ready, testing logic |
| **Live** | Uses actual Apex/Flows | Integration testing with real data |

---

### Connected App Setup (Required for Live Preview)

#### Step 1: Create Connected App

1. **Setup → App Manager → New Connected App**
2. Configure:

| Setting | Value |
|---------|-------|
| Connected App Name | `AgentPreviewApp` |
| Enable OAuth Settings | ✅ Checked |
| Callback URL | `http://localhost:1717/OauthRedirect` |
| OAuth Scopes | `Manage user data via Web browsers (web)` |

3. Save and wait for activation

#### Step 2: Link to CLI User

```bash
sf org login web \
  --client-app AgentPreviewApp \
  --client-id YOUR_CONSUMER_KEY \
  --scopes web
```

#### Step 3: Run Live Preview

```bash
sf agent preview --api-name My_Agent --use-live-actions --client-app AgentPreviewApp --target-org myorg
```

---

### Preview Output Files

When using `--output-dir`:

**transcript.json** - Conversation record:
```json
{
  "messages": [
    {"role": "user", "content": "What is my order status?"},
    {"role": "assistant", "content": "I'd be happy to help..."}
  ]
}
```

**responses.json** - Full API messages with internal details

---

### Preview Troubleshooting

| Issue | Cause | Solution |
|-------|-------|----------|
| "No active agents found" | Agent not activated | Run `sf agent activate` first |
| "Connected app not found" | Not linked to CLI user | Run `sf org login web --client-app` |
| "default_agent_user not found" | Invalid user in config | Update config block |
| Preview hangs | Action timeout | Use `--apex-debug`, check limits |
| Actions not executing | Not deployed | Deploy Apex/Flows first |

---

## Deployment Commands

### sf agent activate

Activates a published agent.

```bash
sf agent activate --api-name My_Agent --target-org myorg
```

**Requirements:**
- Agent must be published first
- Apex classes and Flows deployed
- `default_agent_user` must be valid org user

---

### sf agent deactivate

Deactivates an agent (required before making changes).

```bash
sf agent deactivate --api-name My_Agent --target-org myorg
```

**Required before:**
- Adding/removing topics
- Modifying action configurations
- Changing system instructions
- Updating variable definitions

---

## Management Commands

### sf org open (with Agent)

Opens agent in Agentforce Builder.

```bash
sf org open --source-file force-app/main/default/aiAuthoringBundles/My_Agent/My_Agent.agent --target-org myorg

# Or navigate to Agentforce Studio
sf org open --path /lightning/setup/AgentStudio/home --target-org myorg
```

---

## Sync Commands

### Retrieve Agent from Org

```bash
sf project retrieve start --metadata Agent:Customer_Support_Agent --target-org myorg
```

**Retrieves:**
- Bot, BotVersion, GenAiPlannerBundle
- GenAiPlugin (topics), GenAiFunction (actions)
- Supporting Apex/Flows (if in same package)

---

### Deploy Agent to Org

```bash
sf project deploy start --metadata Agent:Customer_Support_Agent --target-org myorg
```

**Does NOT deploy Apex or Flows** - deploy separately first.

---

## Common Workflows

### New Agent Development

```bash
# 1. Validate syntax
sf agent validate authoring-bundle --api-name My_Agent --target-org myorg

# 2. Deploy dependencies FIRST
sf project deploy start --source-dir force-app/main/default/classes --target-org myorg
sf project deploy start --source-dir force-app/main/default/flows --target-org myorg

# 3. Publish agent
sf agent publish authoring-bundle --api-name My_Agent --target-org myorg

# 4. Preview (simulated)
sf agent preview --api-name My_Agent --target-org myorg

# 5. Activate
sf agent activate --api-name My_Agent --target-org myorg

# 6. Preview (live mode)
sf agent preview --api-name My_Agent --use-live-actions --client-app MyApp --target-org myorg
```

---

### Modifying Existing Agent

```bash
# 1. Deactivate
sf agent deactivate --api-name My_Agent --target-org myorg

# 2. Edit Agent Script file

# 3. Validate
sf agent validate authoring-bundle --api-name My_Agent --target-org myorg

# 4. Re-publish
sf agent publish authoring-bundle --api-name My_Agent --target-org myorg

# 5. Test
sf agent preview --api-name My_Agent --target-org myorg

# 6. Re-activate
sf agent activate --api-name My_Agent --target-org myorg
```

---

### Syncing Between Orgs

```bash
# 1. Retrieve from source
sf project retrieve start --metadata Agent:My_Agent --target-org source-org

# 2. Deploy dependencies to target
sf project deploy start --source-dir force-app/main/default/classes --target-org target-org
sf project deploy start --source-dir force-app/main/default/flows --target-org target-org

# 3. Deploy agent metadata
sf project deploy start --metadata Agent:My_Agent --target-org target-org

# 4. Activate
sf agent activate --api-name My_Agent --target-org target-org
```

---

## Agent Metadata Types

| Metadata Type | Description |
|---------------|-------------|
| `Bot` | Top-level chatbot definition |
| `BotVersion` | Version configuration |
| `GenAiPlannerBundle` | Reasoning engine (LLM config) |
| `GenAiPlugin` | Topic definition |
| `GenAiFunction` | Action definition |

```bash
# Retrieve specific metadata types
sf project retrieve start --metadata Bot:Customer_Support_Agent --target-org myorg
sf project retrieve start --metadata GenAiPlugin --target-org myorg
```

---

## Preview Limitations

| Limitation | Details |
|------------|---------|
| Escalation testing | Not supported - test via actual endpoint |
| Connection endpoints | Preview doesn't strictly adhere to config |
| Script changes | Require validation and preview restart |
| Active agent required | Agent must be active for preview |

---

## Related Documentation

- [Agent Script Reference](agent-script-reference.md) - Complete syntax guide
- [Actions Reference](actions-reference.md) - Action configuration
- [Patterns & Practices](patterns-and-practices.md) - Best practices

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.