Selection flow
- Start from the user’s job, not from every available capability.
- Call
tool_searchto progressively loadlist_agent_tool_referencesfor the current run. - Call
list_agent_tool_referenceswith the selected project and a capability query or exact candidate names. Use the returnednamevalues exactly intool_ids. - Use
list_integrationsandget_integrationfirst, then attach the exact returned integration tool IDs intool_ids. - Use
list_toolswhen you need to inspect project-local tool references. - Studio and Cloud platform web tools returned by
list_agent_tool_references, such asweb_searchandweb_fetch, belong intool_ids. - Provider-native web tools in Veryfront Code belong in
providerTools; the equivalent MCP field isprovider_tool_ids. - Attach only tools the agent needs for the requested job.
tool_search loads executable tool schemas for the next model step. It does not return or validate agent tool_ids.
Runtime discovery
Agent reference lookup
name, description, source, and attach_via. Use exact returned name values in tool_ids, never provider_tool_ids.
Use a capability query to discover candidates. Use exact names to validate known candidates before creating or updating an agent.
Do not attach knowledge_lookup. It is a legacy internal helper, not a project-agent tool.
Common patterns
Knowledge Q&A
A project knowledge Q&A agent needs both discovery and content retrieval:search_knowledgefinds matching knowledge file paths and frontmatter metadata. It does not return file bodies.matched_fieldsdescribes metadata fields that matched the query. It can be[]for browse-style results.get_filereads the matched file body.
get_file, answer only from supported content, and say when the knowledge base does not contain enough information.
When search_knowledge returns candidates, read the most relevant file bodies with get_file before declaring the knowledge base unsupported. Read up to 3 candidates per search, chosen by path, title, description, or matched_fields. If none support the answer, refine the query and retry before saying the knowledge base does not contain enough information.
Add these rules to the system prompt: “The platform attaches exact source citations automatically after successful get_file reads of knowledge files. Do not write a manual Sources section or retype source paths. Treat returned source paths as opaque identifiers. If you mention one inline, copy it character-for-character from the latest search_knowledge or get_file result; never shorten, normalize, or reconstruct it.”
Integration agents
For Gmail, Outlook, Slack, Notion, and similar service assistants, use the integration catalog instead of guessing IDs:- Call
list_integrationswith the service name. - Call
get_integrationfor the selected integration. - Attach exact integration tool IDs returned by
get_integration. - Add platform tools only when the job also needs platform capabilities.
tool_ids. Provider-native tools go in provider_tool_ids.
Before creating the agent
Before callingcreate_agent or update_agent, check that every selected tool ID came from one of these sources:
list_agent_tool_referencesfor valid project-agent tool referencesget_integrationfor integration toolslist_toolsfor project-local tools