Skip to main content

Actions Reference

The server exposes four tools and 35 read-only actions. You never name an action yourself. You ask a question, the assistant calls search_actions to find the right one, then execute_action to run it. This page exists so you know what is reachable and can phrase questions that land.

Every action is read-only. Nothing here creates, edits or deletes.

The four tools​

ToolPurpose
search_actions(query, category?, limit?)Find an action by natural-language query. Returns its id and parameter schema.
execute_action(id, path_params?, query_params?, body?)Run an action. Returns { status, ok, body }.
list_categories()Counts per category, the API base URL, and which auth source is in use.
login()Browser-based CloudYali sign-in.

Cost (5 actions)​

ActionAnswers
cost.reportA cost report as a chart or a table, across cloud providers.
cost.aggregateCosts grouped by dimensions, optionally bucketed by time interval.
cost.spendTotal spend, with period-over-period comparison.
cost.filtersWhich filter values actually exist: accounts, regions, services, tags.
cost.filter_parameters_for_budgetsThe filter parameters the Budgets feature uses.

Ask things like:

  • "Break down last month's AWS bill by service."
  • "Show daily GCP spend for June as a chart."
  • "Compare this month's total spend to last month. What changed?"

cost.filters is the one to reach for when you are unsure what a filter value should be. Asking the assistant to "list the available filters first" is usually faster than guessing at an account alias or service name.

Budgets (7 actions)​

ActionAnswers
budgets.listEvery budget for your account.
budgets.summaryAggregate metrics across all budgets.
budgets.getOne budget, by numeric id.
budgets.resourcesWhich resources drove a budget's spend in a date range.
budgets.historySpend against budget over time.
budgets.config_historyHow a budget's configuration has changed.
budgets.alert_historyWhen a budget's alerts have fired.

Ask things like:

  • "How are we tracking against our budgets?"
  • "Which resources drove the production budget's spend in June?"
  • "Has the data-transfer budget fired any alerts in the last month?"

Reads only. Creating, editing and deleting budgets stay in the portal, by a human.

Savings recommendations (7 actions)​

ActionAnswers
recommendations.listRecommendations, with filters.
recommendations.summaryTotals and the savings rollup.
recommendations.filter_optionsValid filter values for listing.
recommendations.top_savingsThe top N by potential savings.
recommendations.getOne recommendation, by numeric id.
recommendations.historyHow a recommendation's status has changed.
recommendations.usersUsers available for assignment.

Ask things like:

  • "What are our top savings opportunities right now?"
  • "List open recommendations for EBS volumes with more than $50/month savings."
  • "How much could we save in total if we actioned every recommendation?"
  • "Group open recommendations by how hard they are, not how much they save."

That last one is worth knowing about. The console ranks by savings, which is the right default. An assistant holding the rows can re-rank them by whatever matters to you this week.

Anomalies (4 actions)​

ActionAnswers
anomalies.listAnomalies, paginated and filterable.
anomalies.summaryDashboard summary statistics.
anomalies.getOne anomaly, by UUID.
anomalies.preferences_getYour anomaly alert preferences.

Ask things like:

  • "Any cost anomalies in the last seven days?"
  • "Summarize anomaly count and impact for the quarter."
  • "Show the root cause breakdown for anomaly <id>."

Tracing a spend jump: which budget, which service, is there already a recommendation open against it

Asset inventory (12 actions)​

Inventory is the largest category, because questions about which resources exist, where they run, how they are tagged and what they cost turn out to be a large share of real FinOps work.

ActionAnswers
inventory.listResources across clouds, with filters.
inventory.searchFree-text search across all resources.
inventory.getOne resource, by its cloud-native id.
inventory.statsResource counts by provider and type.
inventory.resource_costsCost data for specific resources.
inventory.historyConfiguration change history for a resource.
inventory.tag_keysDistinct tag keys across all resources.
inventory.tag_valuesDistinct values for a given tag key.
inventory.providersCloud providers present in inventory.
inventory.typesResource types, with display names.
inventory.regionsRegions, with display names.
inventory.accountsAccounts, subscriptions and projects.

Ask things like:

  • "How many EC2 instances do we have, per region?"
  • "Find all resources tagged environment=prod that are still active."
  • "Search inventory for anything named 'prod-web'."
  • "What did instance i-0abc123 cost last month?"
  • "What changed on this security group's configuration recently?"

The five lookup actions (tag_keys, tag_values, providers, types, regions, accounts) exist so the assistant can find out what values are legal before filtering on them. You rarely ask for these directly; the assistant reaches for them on its own.

Prompting guidance​

Name a date range when you care about one. Otherwise a sensible default applies, usually the last 30 to 90 days. Most surprising numbers trace back to an unstated period.

Name the cloud provider if you want just one. Otherwise you get everything, which is often what you want and occasionally not.

Ask for the filters first when you are unsure. "List the available filters, then show me spend for the production account" is more reliable than guessing at the account's exact name.

Ask for an artefact, not just a figure. The assistant is holding the rows, so "build me a month-end review I can send to the leadership team" is a reasonable request, not a stretch.

Chain the follow-up. The assistant keeps its place across a conversation, so "okay, which accounts, and do we have open recommendations against them?" works and spans two data domains.

Two cautions​

An empty result is not proof of zero spend. A filter that matched nothing and a period with genuinely no cost look identical in a chat reply. If a zero is surprising, ask which filters were applied.

Spot-check anything you will quote to someone else. The underlying data is identical to what the console shows. The assistant's choices of grouping, date range and cost types may not match the view you had in mind.

Adding actions​

The catalog lives in src/catalog.ts in the open-source repository. New actions must be read-only and carry a test. Because discovery is dynamic, CloudYali can add actions without any change on your side.