General tools
Account status, campaign summary, reports, approval queue, brand profile and channel-independent change tools.
Tool names and descriptions are generated straight from the server code; the descriptions are the original English text the assistant sees.
Read tools19 tools
get_status
קריאה1 creditsAccount overview: brand, plan, connected platforms, campaigns (7 days), pending approvals, open customer chats, spend guard. Call first when context is unknown.
This tool takes no parameters.
list_accounts
קריאה1 creditsConnected ad and data accounts (google, meta, microsoft, tiktok, linkedin, ga4, search-console, gbp, whatsapp) with status. A platform can have several connections (logins): each row has connection_id, account_key (login), is_default and the ad accounts known for it; pass one of them to a platform tool via per_call_argument (customer_id / account_id / advertiser_id) to run that call in it. 'sample' connections are demo data, not live.
| Parameter | Type | Description |
|---|---|---|
platformOptional | string | optional filter, e.g. google, meta, microsoft |
all_accessibleOptional | boolean | also name the tool that lists every accessible account of each platform |
list_campaigns
קריאה1 creditsCampaigns with the last N days of spend, clicks, orders and revenue. Use the returned campaign ids for update_campaign / add_negative_keywords.
| Parameter | Type | Description |
|---|---|---|
daysOptional | integer (1–90) | — |
get_report
קריאה1 creditsOne report tool for every connected platform. Without platform: the period report (period) or, with days/start_date, ledger numbers per channel and campaign. With platform: that platform's own live report at the given level/breakdown/date range (the result names the source tool). Read only.
| Parameter | Type | Description |
|---|---|---|
periodOptional | day | week | month | — |
platformOptional | string | all (default) | google | meta | microsoft | tiktok | linkedin | openai-ads | ga4 | search-console |
accountOptional | string | account id on platforms that take one per call (microsoft, linkedin, openai-ads, ga4 property, search-console site) |
daysOptional | integer (1–365) | — |
start_dateOptional | string | YYYY-MM-DD |
end_dateOptional | string | YYYY-MM-DD |
levelOptional | string | campaign | ad_group | adset | ad | keyword | location | device | age_gender (what the platform supports) |
breakdownOptional | string | platform breakdown, e.g. device, age, placement |
limitOptional | integer (1–500) | — |
search_terms_report
קריאה2 creditsGoogle Ads search terms with spend, clicks and conversions for the last N days, plus the wasted (zero-conversion) terms. Requires a connected Google Ads account; otherwise returns a note, never invented numbers.
| Parameter | Type | Description |
|---|---|---|
daysOptional | integer (1–90) | — |
campaign_idOptional | string | — |
account_audit
קריאה3 creditsAccount hygiene audit as prioritised findings: spend without results, missing budgets, no spend cap, wasted search terms, pending approvals. Read only.
This tool takes no parameters.
list_pending_approvals
קריאה1 creditsChanges waiting for the user's approval — only those the user did not ask for themselves (automation rules in ask mode, proactive suggestions): id, kind, title.
This tool takes no parameters.
get_brand_profile
קריאה1 creditsBrand knowledge base: sector, location, products, audience, goals, tone, competitors.
This tool takes no parameters.
research
קריאה4 creditsWeb research (competitor, price, sector rule). If no research provider is configured, returns a note; never invent results.
| Parameter | Type | Description |
|---|---|---|
queryRequired | string | — |
list_customers
קריאה1 creditsCustomer conversations in the inbox (WhatsApp, Messenger, Instagram): who wrote, last message, waiting for reply.
| Parameter | Type | Description |
|---|---|---|
stateOptional | needs_you | waiting | auto | done | — |
limitOptional | integer | — |
list_entities
קריאה1 creditsList the campaigns, ad groups / ad sets, ads or keywords of any connected ad platform with their ids, paginated — instead of looking for the platform-specific list tool (the result names the source tool). Read only.
| Parameter | Type | Description |
|---|---|---|
platformOptional | string | google | meta | microsoft | tiktok | linkedin | openai-ads (empty = ledger campaigns of all platforms) |
entityOptional | campaigns | ad_groups | ads | keywords | — |
parent_idOptional | string | campaign id for ad groups, ad group id for ads/keywords (where the platform needs it) |
accountOptional | string | account id on platforms that take one per call |
daysOptional | integer (1–90) | ledger campaigns: numbers of the last N days |
limitOptional | integer (1–500) | — |
offsetOptional | integer (0–…) | — |
account_snapshot
קריאה1 creditsOne-call picture of an ad account (or all): connections, live/paused campaign counts, recent spend, orders, revenue, ROAS per platform and campaign, pending approvals and the latest applied changes. Use before any review. Read only, no external calls.
| Parameter | Type | Description |
|---|---|---|
platformOptional | string | — |
accountOptional | string | filter connections by account id |
recent_daysOptional | integer (1–90) | — |
include_inactiveOptional | boolean | also list paused/ended campaigns without spend |
get_billing_status
קריאה0 creditsCurrent plan, account status, trial end date and the credit balance (period, limit, used, remaining, seats).
This tool takes no parameters.
start_subscription
קריאה0 creditsGive the user the dashboard link where they choose a paid plan, accept the legal terms and pay on the secure payment page themselves. Nothing is charged from chat and no card details are asked.
| Parameter | Type | Description |
|---|---|---|
planOptional | pro | agency | enterprise | — |
issue_status
קריאה0 creditsStatus of a reported problem: open/answered/closed, when it was reported and the support team's answer once there is one.
| Parameter | Type | Description |
|---|---|---|
issue_idOptional | string | default: the latest ticket |
describe
קריאה0 creditsFind tools and read their full input schema. With name/names: description, schema, credits, read-only/destructive flags. With query/platform: a ranked short list. Use it to reach tools that are not in the visible list.
| Parameter | Type | Description |
|---|---|---|
nameOptional | string | — |
namesOptional | array<string> | — |
queryOptional | string | words to search in tool names and descriptions |
platformOptional | string | — |
read_onlyOptional | boolean | — |
limitOptional | integer (1–100) | — |
list_brands
קריאה0 creditsList the account's projects (brands): id, name, default flag, how many ad/analytics accounts each one uses, and which project the tools currently work with. Every tool also accepts an optional `brand` argument (project id or name) to run once in another project.
This tool takes no parameters.
list_productions
קריאה0 creditsStudio outputs: the images, videos, voice-overs and scripts requested with generate_content — status (queued, rendering, ready, needs_provider, failed), the openable file URL when ready, the hook/CTA and why a file is waiting. Use it to share a finished file or check one that is still rendering. Read-only, free.
| Parameter | Type | Description |
|---|---|---|
production_idOptional | string | one production (id returned by generate_content) |
limitOptional | integer (1–30) | newest first (default 10) |
list_rules
קריאה0 creditsAutomation rules set up with create_rule: id, condition (if) and action (then), mode (ask = asks first, auto = applies itself, off = only watches), on/off, how often and when it last fired, plus the latest rule runs and their outcome. Read-only, free.
This tool takes no parameters.
Write tools18 tools
connect_account
כתיבה0 creditsStart connecting a platform account. Returns an authorisation link the user must open (OAuth); nothing is connected without the user signing in.
| Parameter | Type | Description |
|---|---|---|
providerRequired | google | meta | microsoft | tiktok | linkedin | apple | ga4 | search-console | gbp | whatsapp | shopify | youtube | ikas | x | — |
shopOptional | string | store address for shopify / ikas (e.g. store.myshopify.com) |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
create_campaign
כתיבה2 creditsCreate a campaign DRAFT (paused). Going live is a separate step: update_campaign(op=publish) when the user asks. Platforms without a live adapter return can_go_live=false with steps.
| Parameter | Type | Description |
|---|---|---|
nameRequired | string | — |
platformRequired | google | meta | microsoft | tiktok | linkedin | apple | — |
kindOptional | string | search | pmax | display | message | traffic | conversion |
daily_budgetOptional | number | — |
goalOptional | string | — |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
update_campaign
כתיבה2 creditsPause / resume / change daily budget / publish a campaign. The user's request is the consent: the change is applied at once (applied: true, undo: action_id for undo_action) unless a guard refuses it (plan limit, +50% per change, daily spend cap → status not applied with the reason); without a connected account it is a dry run. op=budget amount is in the ad account currency; a different currency is rejected (currency_mismatch).
| Parameter | Type | Description |
|---|---|---|
campaign_idRequired | string | — |
opRequired | pause | resume | budget | publish | — |
amountOptional | number | daily budget for op=budget, in the ad account currency |
currencyOptional | string | optional ISO 4217 check; must equal the ad account currency |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
set_budget
כתיבה2 creditsSet ONE campaign's daily budget (campaign_id). A platform-wide amount without campaign_id is rejected with campaign_required and the campaign list — one amount is never copied to every campaign. Amount is in the ad account currency; a different currency is rejected (currency_mismatch). Applied at once when the user asks (applied: true, undo: action_id); increases above 50% per change or above the daily spend cap are refused with the reason.
| Parameter | Type | Description |
|---|---|---|
platformRequired | string | — |
amountRequired | number | — |
campaign_idOptional | string | required: budgets change per campaign (list_campaigns) |
currencyOptional | string | ISO 4217; must equal the ad account currency (no conversion) |
periodOptional | day | week | month | — |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
add_negative_keywords
כתיבה2 creditsAdd negative keywords to a Google Ads campaign. Applied directly when the user asks (the result shows the preview); applied to Google only with a connected account.
| Parameter | Type | Description |
|---|---|---|
campaign_idRequired | string | — |
keywordsRequired | array<string> | — |
match_typeOptional | BROAD | PHRASE | EXACT | — |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
create_rule
כתיבה2 creditsTurn an 'if … then …' sentence into an automation rule (the rule did not come from the user's own request each time, so mode=ask puts each trigger into approval; auto applies within the spend guard). See or switch off rules later with list_rules and set_rule_status.
| Parameter | Type | Description |
|---|---|---|
sentenceRequired | string | — |
modeOptional | ask | auto | — |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
set_spend_guard
כתיבה1 creditsChange the profit guard: daily/monthly spend caps, target CPA, margin, average order value, autopilot. Applied at once when the user asks (the result shows old → new and undo: action_id); raise a cap here when a change was refused by it.
| Parameter | Type | Description |
|---|---|---|
daily_cap_tryOptional | number (0–…) | — |
monthly_cap_tryOptional | number (0–…) | — |
target_cpa_tryOptional | number (0–…) | — |
margin_pctOptional | number (0–…) | — |
aov_tryOptional | number (0–…) | — |
autopilotOptional | boolean | — |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
approve_action
כתיבהIrreversible5 creditsApply a pending change from a rule or a proactive suggestion (changes the user asks for are applied by their own tool; never needed for those). Two steps: without confirm it applies NOTHING and returns the preview to show the user. Only call with confirm=true after the user explicitly approved that preview. A change proposed through this same connection can't be approved here: the result gives approve_url, where the user approves it on the dashboard. Returns applied / dry run / failed.
| Parameter | Type | Description |
|---|---|---|
action_idRequired | string | — |
confirmRequired | boolean | must be true; only after the user explicitly approved |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
reject_action
כתיבה0 creditsReject a pending change (from list_pending_approvals) so it is never applied. Use it when the user declines a preview; nothing is sent to any platform and the change disappears from the approval queue.
| Parameter | Type | Description |
|---|---|---|
action_idRequired | string | — |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
set_brand_profile
כתיבה1 creditsWrite brand profile fields when the user describes the business.
| Parameter | Type | Description |
|---|---|---|
fieldsRequired | object | business.sector, business.location, goals.target, products.list, audience.primary, competitors.list, brand.tone … |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
draft_ad_copy
כתיבה2 creditsAd copy drafts (headlines, descriptions, call to action) from the brand profile.
| Parameter | Type | Description |
|---|---|---|
platformOptional | google | meta | instagram | — |
kindOptional | string | — |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
reply_customer
כתיבהIrreversible2 creditsSend a reply to a customer thread on the user's behalf — only when the user dictated or explicitly chose the text. It is sent at once and a sent message can't be taken back.
| Parameter | Type | Description |
|---|---|---|
thread_idRequired | string | — |
textRequired | string | — |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
report_issue
כתיבה0 creditsOpen a support ticket for a problem the user hits (a tool error, wrong data, a missing feature). It lands in the support inbox; the answer shows in the dashboard. Returns issue_id for issue_status.
| Parameter | Type | Description |
|---|---|---|
subjectRequired | string | — |
descriptionOptional | string | — |
categoryOptional | genel | fatura | baglanti | kampanya | hata | oneri | — |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
upload_image
כתיבה1 creditsTurn an image (base64 or a public URL) into a signed, time-limited public image URL that tools needing an image_url accept. Stored in the account's private file area; PNG, JPEG, WEBP or GIF up to 5 MB.
| Parameter | Type | Description |
|---|---|---|
image_base64Optional | string | PNG/JPEG/WEBP/GIF, optionally as a data: URL |
source_urlOptional | string | public http(s) image URL to copy instead |
filenameOptional | string | — |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
call_write_tool
כתיבה0 creditsRun any tool by name — the gateway to capabilities not shown in a reduced tool list. The named tool keeps its own rules: changes are applied at once when the user asks (guards still refuse unsafe ones), read-only connections cannot write, and the named tool's credits apply (the gateway itself is free).
| Parameter | Type | Description |
|---|---|---|
nameRequired | string | exact tool name (see describe) |
argumentsOptional | object | that tool's arguments |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
generate_content
כתיבה3 creditsStudio: generate an image, short video, UGC video, voice-over or script from a brief. The script is immediate; files take minutes — check them and get the file URL with list_productions.
| Parameter | Type | Description |
|---|---|---|
kindRequired | string | image | short_video | ugc_video | voice | script |
briefOptional | string | — |
campaign_idOptional | string | — |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
select_brand
כתיבה0 creditsChoose the project (brand) the tools work with from now on — reports, changes and drafts then use that project's own Google/Meta accounts, site and counters. The choice is kept for your next sessions; 'default' goes back to the default project. Use list_brands to see the names.
| Parameter | Type | Description |
|---|---|---|
brandRequired | string | project id or name; 'default' returns to the default project |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
set_rule_status
כתיבה0 creditsSwitch an automation rule on or off, or change its mode (ask first / apply automatically / only watch). Use it when a rule fires wrongly or the member wants to pause it. Free.
| Parameter | Type | Description |
|---|---|---|
rule_idRequired | string | id from list_rules |
enabledOptional | boolean | false switches the rule off, true back on |
modeOptional | ask | auto | off | ask | auto | off |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.