Orchard Core AI Agent - Prompt Templates
Manage an Orchard Core Site with AI Tools
You are an Orchard Core expert. Generate configuration and guidance for enabling and using the CrestApps AI Agent module to manage an Orchard Core site through natural language.
Guidelines
- Use feature ID
CrestApps.OrchardCore.AI.Agent. - The module depends on
CrestApps.OrchardCore.AIandCrestApps.OrchardCore.Recipes. - All tools are selectable per AI profile (toggled on/off individually).
- Tools are conditionally loaded based on which Orchard Core features are enabled.
- Install the NuGet package into the web/startup project.
Feature Overview
| Feature | Feature ID | Description |
|---|---|---|
| Orchard Core AI Agent | CrestApps.OrchardCore.AI.Agent |
Provides AI-powered tools for managing content, definitions, features, tenants, recipes, users, roles, workflows, communications, AI profiles, and analytics through natural language |
Install the NuGet Package
dotnet add package CrestApps.OrchardCore.AI.Agent
Enable the Feature
{
"steps": [
{
"name": "Feature",
"enable": [
"CrestApps.OrchardCore.AI",
"CrestApps.OrchardCore.AI.Agent"
],
"disable": []
}
]
}
How It Works
When the CrestApps.OrchardCore.AI.Agent feature is enabled, the module registers AI tools that can be invoked through any AI profile. Each tool is:
- Selectable - can be individually toggled on/off per AI profile from the admin UI.
- Permission-aware - respects Orchard Core's built-in permissions system.
- Feature-gated - only loads when its required Orchard Core feature is enabled.
Tool Categories and Available Tools
The AI Agent module provides tools across these categories. Each tool is registered via AddCoreAITool<T>() and marked .Selectable().
System Tools
Available when the base feature is enabled.
| Tool Name | Description |
|---|---|
listTimeZones |
Retrieves a list of available time zones in the system |
Recipe Tools
Requires OrchardCore.Recipes.Core.
| Tool Name | Description |
|---|---|
applySiteSettings |
Applies predefined system configurations and settings using AI assistance |
getOrchardCoreRecipeJsonSchema |
Returns a JSON Schema definition for Orchard Core recipes or a specific recipe step |
listOrchardCoreRecipeStepsAndSchemas |
Lists all available Orchard Core recipe steps and returns their JSON schema definitions |
importOrchardCoreRecipe |
Imports and runs an Orchard Core recipe within the site |
listNonStartupRecipes |
Retrieves all available recipes that are not executed during startup |
executeNonStartupRecipe |
Executes a recipe that is not configured to run at application startup |
Tenant Management Tools
Requires OrchardCore.Tenants.
| Tool Name | Description |
|---|---|
listStartupRecipes |
Retrieves startup recipes available for tenant setup |
createTenant |
Creates a new tenant in the Orchard Core application |
getTenant |
Retrieves detailed information about a specific tenant |
listTenant |
Returns information about all tenants in the system |
enableTenant |
Enables a tenant that is currently disabled |
disableTenant |
Disables a tenant that is currently active |
removeTenant |
Removes an existing tenant that can be safely deleted |
reloadTenant |
Reloads the configuration and state of an existing tenant |
setupTenant |
Sets up a new tenant with initial configuration |
Content Management Tools
Requires OrchardCore.Contents.
| Tool Name | Description |
|---|---|
searchForContentItems |
Searches for content items using filters and queries |
getSampleContentItemForContentType |
Generates a structured sample content item for a specified content type |
publishContentItem |
Publishes a draft or previously unpublished content item |
unpublishContentItem |
Unpublishes a currently published content item |
getContentItemById |
Retrieves a specific content item by its ID or type |
deleteContentItem |
Deletes a content item from the system |
cloneContentItem |
Creates a duplicate of an existing content item |
createOrUpdateContentItem |
Creates a new content item or updates an existing one |
getLinkForContentItem |
Retrieves a link for a content item |
Content Definition Tools
Requires OrchardCore.ContentTypes. The last three tools also require OrchardCore.Recipes.Core.
| Tool Name | Description |
|---|---|
getContentTypeDefinition |
Retrieves the definitions of all available content types |
getContentPartDefinition |
Retrieves the definitions of all available content parts |
listContentTypesDefinitions |
Lists available content type definitions |
listContentPartsDefinitions |
Lists available content part definitions |
listContentFieldDefinitions |
Lists available content field definitions |
removeContentTypeDefinition |
Removes a content type definition |
removeContentPartDefinition |
Removes a content part definition |
applyContentTypeDefinitionFromRecipe |
Creates or updates a content type definition via recipe |
Feature Management Tools
Requires OrchardCore.Features.
| Tool Name | Description |
|---|---|
disableSiteFeature |
Disables one or more site features |
enableSiteFeature |
Enables one or more site features |
searchSiteFeature |
Searches available features for a match |
listSiteFeature |
Retrieves all available site features |
getSiteFeature |
Retrieves information about a specific feature |
Communication Tools
Each tool requires its respective Orchard Core feature.
| Tool Name | Required Feature | Description |
|---|---|---|
sendNotification |
OrchardCore.Notifications |
Sends a notification message to a user |
sendEmail |
OrchardCore.Email |
Sends an email message on behalf of the logged-in user |
sendSmsMessage |
OrchardCore.Sms |
Sends an SMS message to a user |
User Management Tools
Requires OrchardCore.Users.
| Tool Name | Description |
|---|---|
getUserInfo |
Gets information about a user |
searchForUsers |
Searches the system for users |
Role Management Tools
Requires OrchardCore.Roles.
| Tool Name | Description |
|---|---|
getRoleInfo |
Gets information about a specific role |
Workflow Management Tools
Requires OrchardCore.Workflows. The last two tools also require OrchardCore.Recipes.Core.
| Tool Name | Description |
|---|---|
getWorkflowType |
Gets information about a specific workflow type |
listWorkflowTypes |
Lists all workflow types in the system |
createOrUpdateWorkflow |
Creates or updates a workflow definition |
listWorkflowActivities |
Lists all available workflow tasks and activities |
AI Profile Tools
Available when the base feature is enabled.
| Tool Name | Description |
|---|---|
listAIProfiles |
Lists AI profiles with optional filters for type, analytics, data extraction, and post-session processing |
viewAIProfile |
Retrieves detailed configuration for a specific AI profile by ID or name |
AI Analytics Tools
Requires the Chat Analytics feature.
| Tool Name | Description |
|---|---|
queryChatSessionMetrics |
Queries aggregated chat session analytics metrics with optional date range and profile filters for generating charts and reports |
Tool Selectability per AI Profile
Each registered tool is marked as selectable, meaning administrators can control which tools an AI profile has access to. To configure tool access:
- Navigate to Artificial Intelligence → AI Profiles.
- Edit the desired profile.
- In the Tools section, toggle individual tools on or off.
This allows creating specialized profiles. For example, a "Content Editor" profile might only have content management tools enabled, while an "Admin" profile has all tools enabled.
Feature Dependencies and Tool Availability
Tools are automatically registered when their required Orchard Core features are enabled. The following table summarizes the feature dependencies:
| Tool Category | Required Features |
|---|---|
| System | Base feature only |
| Recipes | OrchardCore.Recipes.Core |
| Tenant Management | OrchardCore.Tenants |
| Content Management | OrchardCore.Contents |
| Content Definitions | OrchardCore.ContentTypes (and OrchardCore.Recipes.Core for create/update/remove) |
| Feature Management | OrchardCore.Features |
| Notifications | OrchardCore.Notifications |
OrchardCore.Email |
|
| SMS | OrchardCore.Sms |
| Users | OrchardCore.Users |
| Roles | OrchardCore.Roles |
| Workflows | OrchardCore.Workflows (and OrchardCore.Recipes.Core for create/update) |
| AI Profiles | Base feature only |
| AI Analytics | Chat Analytics feature |
Enable Additional Features for More Tools
To make all tools available, enable the relevant Orchard Core features:
{
"steps": [
{
"name": "Feature",
"enable": [
"CrestApps.OrchardCore.AI",
"CrestApps.OrchardCore.AI.Agent",
"OrchardCore.Contents",
"OrchardCore.ContentTypes",
"OrchardCore.Features",
"OrchardCore.Tenants",
"OrchardCore.Recipes.Core",
"OrchardCore.Users",
"OrchardCore.Roles",
"OrchardCore.Workflows",
"OrchardCore.Email",
"OrchardCore.Sms",
"OrchardCore.Notifications"
],
"disable": []
}
]
}
Example - Create Content via AI
Once the AI Agent is enabled with content tools, an AI profile can handle requests like "Create a new Blog Post titled Getting Started" by invoking the createOrUpdateContentItem tool internally.
The tool constructs and saves the content item through the standard Orchard Core content management pipeline, respecting all permissions, content handlers, and workflow triggers.
Example - Manage Tenants via AI
With tenant tools enabled, requests like "Create a new tenant called marketing-site" invoke the createTenant tool. The AI agent can also list, enable, disable, reload, and remove tenants.
Security Considerations
- All tools respect Orchard Core's permission system. Users can only perform actions they are authorized for.
- Tools run in the context of the authenticated user's permissions.
- Use AI profile tool selectability to limit which operations are exposed.
- Audit trail integration captures tool invocations when the Audit Trail feature is enabled.