For the complete documentation index, see llms.txt. This page is also available as Markdown.

AI agent studio

This page describes how to create your first agent using the AI agent studio. Before you begin, the following prerequisites must be met:

  1. Symphony has enabled AI Agent Studio for your tenant.

  2. Your admin has installed AI Agent Studio for your user.

Create a new AI agent

To start creating your own AI agent, click the Create agent button in AI Agent Studio.

Essential information

Essential information configures the AI agent's identity in Symphony. In particular:

  • Name: How the agent appears in Symphony's directory.

  • Ownership: The users who are entitled to modify this agent.

  • Visibility: Whether the agent appears in Symphony's marketplace, so that users can install it autonomously.

AI models

  • Models: Configures which model runs behind the scenes. Off the shelf, Symphony provides access to Google Gemini's supported models.

  • Creativity level: Controls the level of randomness in the AI agent's answers (maps to the underlying model's temperature / top-p settings).

  • Thinking: Allows the AI agent to reason step by step, and include that reasoning in its answer.

Coming soon: Connect AI agents from Agent Studio to your own AI provider or self-hosted models.

System instructions

System instructions guide how the AI agent answers, and provide up-to-date, contextual information that always holds true when an agent is interacting with a user.

The following variables are supported in system instructions, giving the agent personalization context about who it's talking to and where the request came from:

Variable
Syntax
Resolves to

User display name

#{ #tools.v1.vars.userDisplayName() }

Display name of the user talking to the agent

User email

#{ #tools.v1.vars.userEmail() }

Email of the user talking to the agent

User ID

#{ #tools.v1.vars.userId() }

Symphony user ID of the user talking to the agent

First name / Last name

#{ #tools.v1.vars.userFirstName() } / #{ #tools.v1.vars.userLastName() }

First/last name of the user

Room ID

#{ #tools.v1.vars.roomId() }

ID of the room the request came from

Room name

#{ #tools.v1.vars.roomName() }

Name of the room the request came from

Context room IDs

#{ #tools.v1.vars.contextRoomIds() }

Room IDs the user passed as context to the query

Context room IDs

#{ #tools.v1.vars.contextRoomIds().size() > 0 ? #tools.v1.vars.contextRoomIds()[0] : 'No Context Room' }

Parent chat when AI agent is opened from a side panel

Current timestamp

#{ #tools.v1.vars.currentTimestamp() }

Timestamp of the request

Example

Here's an example system prompt for an AI agent:

Permissions

Permissions control which actions the AI agent can take on behalf of the user. See API Endpoints for Apps for the full list of available permissions.

To allow an AI agent to work with a user's specific chat context it must be granted with at least the following permissions:

  • Act as user

  • Get user messages

  • Get Basic User Info

  • Get Extended User Info

Symphony tools

Agent Studio supports several tools out of the box that augment your AI agents with more sophisticated capabilities.

TradingView

Lets an AI agent natively send a TradingView graph as an inline message in Symphony Messaging. The agent looks for a valid TradingView ticker based on the user's query and returns the appropriate graph. Supported graph types:

Charting

The Symphony charting tool lets the AI agent send charts directly in a Symphony Messaging chat room. Supported chart types:

  • Bar chart

  • Line chart

  • Multi-line chart

  • Pie chart

  • Bubble chart

This tool is especially useful for rendering financial data in combination with custom data sources integrated via custom MCP servers.

Webfetch & Websearch

Standard tools that let the AI agent fetch information from the web.

Messaging (coming soon)

Lets the AI agent use Symphony's MCP server to retrieve Symphony-specific information, send messages, or create chat rooms.

All actions performed via this tool are done by the AI agent on behalf of the user, inheriting the permissions set for the agent.

MCP servers

You can add and configure additional MCP servers for use by a given agent. AI Studio currently supports remote MCP servers authenticated via non-personal API key tokens only (OAuth and personal-token authentication are not yet supported).

Add a non personal MCP server

First, a tenant administrator with the Connector manager role must create a new connection in the Symphony Messaging Admin Portal.

Create a new connector containing everything needed to connect to the remote MCP server via API key:

  • Type: Must be set to MCP server; sub-type can be set to custom.

  • Readers (by role): Set to "AI agent" if any AI agent should be able to use this MCP server.

  • Readers (by user): Set to specific AI agents if only a subset of agents should have access.

Some key value properties can be added to customize the connector behavior.

Key
Description
Value example

icon

Icon used for the MCP server.

Once created, MCP servers can be enabled per AI agent on the studio via the MCP server panel.

Predefined prompts

Predefined prompts let agent designers create repeatable workflows that users can easily discover and trigger. Predefined prompts support variables, so users can pass inputs to the prompt; Symphony's system variables (see the table above) can also be used inside predefined prompts.

Predefined prompts can be combined with the Symphony Messaging chat context: when both a chat context and a predefined prompt are passed to the agent, both are resolved and sent to the AI model together.

Users access predefined prompts by mentioning the AI agent directly in the AI agent room:

When a prompt template expects variables, Symphony Messaging automatically sends the user a form to fill in before processing starts.

Example

This example creates an AI agent that adds two numbers.

Prompt template definition:

Predefined prompt using the variables above:

Last updated

Was this helpful?