Configuring agents¶
You can configure WIRE in the Configuration app or with SQL procedures. Both write to
the same tables in the app's control schema.
The Configuration app¶
Open the app from Data Products > Apps in Snowsight. You need the wire_admin
application role. The Configuration app has these pages:
| Page | Use it to |
|---|---|
| Setup | Check that Cortex AI access is in place, and enable AI features if CORTEX_USER was granted after install. |
| Use Cases | Create and manage use cases. |
| Agents | Create, edit, test, and activate agents. |
| Categories | Define the categories that triage agents assign. |
| Feedback | Send product feedback. See Feedback and support. |
Configure a use case with SQL¶
Each step below has an equivalent in the Configuration app.
1. Create a use case¶
CALL wire_native_app.main.upsert_use_case(
p_use_case => 'tickets',
p_description => 'IT support ticket triage',
p_active_ind => TRUE
);
2. Define categories (triage agents only)¶
Categories are grouped into a named, versioned class. Add one row per category:
CALL wire_native_app.main.upsert_class_category(
p_use_case => 'tickets',
p_class_name => 'ticket_priority',
p_class_version => 'v1',
p_label => 'URGENT',
p_active_ind => TRUE,
p_priority_order => 1,
p_description => 'Service outage or security incident affecting many users',
p_examples => '["Email is down for the whole office"]',
p_actions => NULL
);
3. Create the agent¶
CALL wire_native_app.main.upsert_agent_config(
p_agent_name => 'ticket_triage',
p_use_case => 'tickets',
p_version => 'v1',
p_active_ind => FALSE,
p_agent_type => 'triage',
p_prompt => '<your prompt>',
p_llm_model => 'claude-haiku-4-5',
p_parameters => '{"temperature": 0.2}',
p_response_format => NULL,
p_common_prompt_use_case => NULL,
p_common_prompt_agent_name => NULL,
p_common_prompt_version => NULL,
p_class_name => 'ticket_priority',
p_class_version => 'v1',
p_input_view => 'my_db.my_schema.triage_input',
p_output_table => 'my_db.my_schema.triage_output'
);
| Parameter | Notes |
|---|---|
p_agent_type |
One of the agent types: triage, analysis, summary, rollup, retrospective, custom, or common_prompt. |
p_prompt |
What the agent should do. The Agents page starts you with the type's default prompt. |
p_llm_model |
Any Cortex model available in your region. |
p_parameters |
Model options as JSON, such as {"temperature": 0.2}. |
p_response_format |
Optional JSON schema that the model's output must follow. |
p_common_prompt_* |
Optional. Points to a common_prompt agent whose text is shared with this agent. |
p_class_name, p_class_version |
The categories a triage agent assigns. |
p_input_view, p_output_table |
Fully qualified names of the objects from Connecting your data. |
Saving an agent checks that the agent type is valid and that the app can reach the input
view and output table. If grants are missing, the result lists the GRANT statements to run.
4. Test before you activate¶
Save a new agent as inactive, then do a dry run. A dry run sends one row from the input view through the model, so it catches problems such as an unavailable model or a prompt the model can't follow before the agent runs on all your data:
CALL wire_native_app.main.dry_run_agent(
p_use_case => 'tickets',
p_agent_name => 'ticket_triage',
p_version => 'v1'
);
On the Agents page, an agent can only be activated after a successful dry run. The page can also review your prompt with AI and suggest improvements.
5. Activate the agent¶
Save the agent again with p_active_ind => TRUE, or activate it on the Agents page.
Activating a version deactivates the agent's other versions.
Versioning agents¶
To change a working agent, save it under a new p_version and dry run it. The previous
version keeps running until you activate the new one, and stays available if you need to
switch back.