TikTok Ads tools
Campaign, ad group and ad management, video/image upload, audiences and performance reports.
האינטגרציה לערוץ הזה מוכנה; החיבור ייפתח ברגע שהפלטפורמה תאשר את אפליקציית המפתחים שלנו. עד אז לא ניתן לחבר חשבונות, והפעולות המתוארות בעמוד הזה אינן זמינות.
Tool names and descriptions are generated straight from the server code; the descriptions are the original English text the assistant sees.
Read tools27 tools
list_tiktok_advertisers
קריאה1 creditsTikTok ad accounts (advertisers) reachable with the connected TikTok Ads token: id, name, currency, timezone, status, and which one is selected for the current project. Read only; returns connected=false when no account is linked.
This tool takes no parameters.
list_tiktok_campaigns
קריאה1 creditsTikTok campaigns of the connected ad account: campaign_id, name, objective_type, budget, budget_mode, operation_status. Use campaign_id values for the other tiktok tools.
| Parameter | Type | Description |
|---|---|---|
campaign_idsOptional | array<string> | — |
statusOptional | string | primary status filter, e.g. STATUS_DELIVERY_OK, STATUS_DISABLE |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
list_tiktok_ad_groups
קריאה1 creditsTikTok ad groups with budget, bid, optimisation goal, targeting (locations, ages, gender, languages, interests, audiences), placements, schedule and dayparting.
| Parameter | Type | Description |
|---|---|---|
campaign_idsOptional | array<string> | — |
adgroup_idsOptional | array<string> | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
list_tiktok_ads
קריאה1 creditsTikTok ads: ad_id, name, ad group, status, format, text, video_id, landing page, call to action.
| Parameter | Type | Description |
|---|---|---|
campaign_idsOptional | array<string> | — |
adgroup_idsOptional | array<string> | — |
ad_idsOptional | array<string> | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
tiktok_performance_report
קריאה2 creditsTikTok performance by campaign, ad group or ad for a date range: spend, impressions, clicks, CTR, CPM, CPC, conversions, cost per conversion, conversion rate, ROAS where available; optional daily breakdown and totals. Real data only; connected=false when no account.
| Parameter | Type | Description |
|---|---|---|
levelOptional | campaign | ad_group | ad | — |
daysOptional | integer (1–365) | — |
start_dateOptional | string | — |
end_dateOptional | string | — |
dailyOptional | boolean | one row per day (stat_time_day) |
campaign_idsOptional | array<string> | — |
adgroup_idsOptional | array<string> | — |
ad_idsOptional | array<string> | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
list_tiktok_audiences
קריאה1 creditsCustom and lookalike audiences of the TikTok ad account: audience_id, name, type, size (cover_num), validity. Use audience_ids in update_tiktok_ad_group to assign them.
| Parameter | Type | Description |
|---|---|---|
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
list_tiktok_videos
קריאה1 creditsVideos in the TikTok ad account's asset library: video_id, file name, duration, size, preview and cover URLs. Use video_id in create_tiktok_ad or create_tiktok_whatsapp_campaign; add new videos from a public URL with upload_tiktok_video.
| Parameter | Type | Description |
|---|---|---|
video_idsOptional | array<string> | — |
limitOptional | integer (1–500) | newest first (default 500) |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
get_tiktok_video_cover
קריאה1 creditsSuggested cover frames for a TikTok library video (file/video/suggestcover): id, preview url (valid one hour), size. Upload the chosen url with upload_tiktok_image to use it as the ad cover (image_ids). Read only.
| Parameter | Type | Description |
|---|---|---|
video_idRequired | string | — |
countOptional | integer (1–10) | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
search_tiktok_targeting
קריאה1 creditsTurn targeting names into TikTok ids: interest (tool/interest_category → interest_category_ids), behavior (tool/action_category → actions[].action_category_ids), interest_keyword (tool/interest_keyword/recommend → interest_keyword_ids), location (tool/targeting/search → location_ids / zipcode_ids, cities and provinces), region (tool/region → targetable countries for the objective). Read only.
| Parameter | Type | Description |
|---|---|---|
typeRequired | interest | behavior | interest_keyword | location | region | — |
queryRequired | string | name to look up, e.g. fashion, moda, Istanbul, Turkey |
languageOptional | string | names language for interest/behavior/interest_keyword, e.g. tr, en (default: conversation language) |
objective_typeOptional | string | for location/region: campaign objective, default TRAFFIC; LEAD_GENERATION for WhatsApp ads |
promotion_typeOptional | string | for location/region; default WEBSITE, or LEAD_GEN_CLICK_TO_SOCIAL_MEDIA_APP_MESSAGE with LEAD_GENERATION |
placementsOptional | array<string> | default PLACEMENT_TIKTOK |
region_codesOptional | array<string> | location: filter by country code, e.g. TR |
geo_typesOptional | array<string> | location: COUNTRY | PROVINCE | CITY | DISTRICT | DMA | ZIP_CODE |
limitOptional | integer (1–100) | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
list_tiktok_identities
קריאה1 creditsAd identities of the TikTok ad account (identity/get): identity_id, identity_type, display name, username, whether posts can be pulled. Pass identity_id/identity_type to create_tiktok_ad or list_tiktok_posts. Read only.
| Parameter | Type | Description |
|---|---|---|
identity_typeOptional | CUSTOMIZED_USER | AUTH_CODE | TT_USER | BC_AUTH_TT | — |
identity_bc_idOptional | string | required with BC_AUTH_TT |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
list_tiktok_pixels
קריאה1 creditsTikTok conversion pixels of the ad account (pixel/list): pixel_id, pixel_code, name, setup mode and tracked events. Use pixel_id for conversion ad groups and pixel_code for send_tiktok_conversion_event. Read only.
| Parameter | Type | Description |
|---|---|---|
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
list_tiktok_auto_messages
קריאה1 creditsWelcome message templates for TikTok Direct Message ads (creative/auto_message/get): auto_message_id, title, greeting, suggested questions and review status. Pass auto_message_id to create_tiktok_ad. Read only.
| Parameter | Type | Description |
|---|---|---|
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
list_tiktok_lead_forms
קריאה1 creditsTikTok instant lead forms of the ad account (page/get, LEAD_GEN): page_id, title, status, created/updated/published time and preview URL. Read only.
| Parameter | Type | Description |
|---|---|---|
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
get_tiktok_lead_form_fields
קריאה1 creditsQuestion fields of a TikTok instant lead form (page/field/get): field keys, labels and types plus form metadata, to read collected lead answers correctly. Read only.
| Parameter | Type | Description |
|---|---|---|
page_idRequired | string | instant form id from list_tiktok_lead_forms |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
download_tiktok_leads
קריאה2 creditsDownload the leads collected by a TikTok instant form or lead ad (page/lead/task + page/lead/task/download; a ZIP file is unpacked to its CSV). Opens the download task, polls it for a few seconds and, once ready, returns a privacy-safe summary: total rows, question names, and the first rows (limit, default 20) with lead id, created time, ad, ad group, campaign and form ids plus MASKED answers (names cut to initials; e-mails, phone numbers and IBANs masked). The full unmasked CSV is stored in the account's private file area and returned only as download_url, a signed link valid for 15 minutes (the stored file is kept for 30 days, then deleted): give the link to the user, never paste the file content into the chat; if the file cannot be stored, only the masked summary is returned. If TikTok is still preparing the file it returns task_id: call again with the same page_id/ad_id and that task_id. region: where the ads ran (eu = EEA/Switzerland/UK, us, other). Only ad account admins can download. Personal data: use only under the consent given on the form. Read only.
| Parameter | Type | Description |
|---|---|---|
page_idOptional | string | instant form id from list_tiktok_lead_forms (or give ad_id) |
ad_idOptional | string | lead ad id; downloads the leads of that ad instead of a form |
task_idOptional | string | task id returned by an earlier call that was still RUNNING |
regionOptional | eu | us | other | where the ads targeted: eu = EEA/Switzerland/UK, us = United States, other (default) = everywhere else |
limitOptional | integer (1–100) | rows in the masked preview (default 20); the full list is only in the download file |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
list_tiktok_creative_portfolios
קריאה1 creditsCreative portfolios of the TikTok ad account (creative/portfolio/list): portfolio id, type (display card, download card, gift code…), preview URL and main settings. Read only.
| Parameter | Type | Description |
|---|---|---|
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
list_tiktok_gmv_max_stores
קריאה1 creditsTikTok Shop stores linked to the ad account (gmv_max/store/list) with GMV Max availability, status, role, authorising Business Center and targetable regions. Read only.
| Parameter | Type | Description |
|---|---|---|
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
list_tiktok_smart_plus
קריאה1 creditsSmart+ (automated) campaigns, ad groups or ads of the TikTok ad account (smart_plus/*/get). These are not returned by list_tiktok_campaigns / _ad_groups / _ads. Read only.
| Parameter | Type | Description |
|---|---|---|
levelOptional | campaign | adgroup | ad | default campaign |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
list_tiktok_posts
קריאה1 creditsOrganic TikTok posts of a linked TikTok account identity (identity/video/get) that can run as Spark Ads: tiktok_item_id, text, status, duration, cover and ad authorisation status. Read only.
| Parameter | Type | Description |
|---|---|---|
identity_idRequired | string | — |
identity_typeOptional | TT_USER | BC_AUTH_TT | AUTH_CODE | default TT_USER |
identity_bc_idOptional | string | required with BC_AUTH_TT |
limitOptional | integer (1–100) | default 20 |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
tiktok_recommendations
קריאה2 creditsTikTok's own ad group diagnoses and suggestions (tool/diagnosis/get): creative fatigue, bid and budget suggestions with estimated uplift, and event tracking problems. Read only; apply with the update tools.
| Parameter | Type | Description |
|---|---|---|
adgroup_idsOptional | array<string> | up to 20; default: TikTok picks the ad groups with diagnoses |
issue_categoriesOptional | array<string> | CREATIVE | BID_AND_BUDGET | EVENT_TRACK |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
tiktok_report_query
קריאה2 creditsFree-form TikTok report (report/integrated/get): any supported metrics and dimensions, report type, data level, date range or lifetime and filters. Rows are returned exactly as TikTok computes them. Read only.
| Parameter | Type | Description |
|---|---|---|
metricsRequired | array<string> | TikTok metric names, e.g. spend, impressions, clicks, conversion, complete_payment_roas |
dimensionsRequired | array<string> | e.g. campaign_id, adgroup_id, ad_id, stat_time_day, country_code, gender, age |
report_typeOptional | BASIC | AUDIENCE | PLAYABLE_MATERIAL | CATALOG | BC | TT_SHOP | — |
data_levelOptional | string | e.g. AUCTION_CAMPAIGN, AUCTION_ADGROUP, AUCTION_AD, AUCTION_ADVERTISER |
daysOptional | integer (1–365) | — |
start_dateOptional | string | — |
end_dateOptional | string | — |
lifetimeOptional | boolean | lifetime totals instead of a date range |
filteringOptional | array<object> | TikTok filters: [{field_name, filter_type, filter_value}] |
limitOptional | integer (1–5000) | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
list_tiktok_business_centers
קריאה1 creditsTikTok Business Centers reachable with the connected token (bc/get): bc_id, name, company, status, currency, timezone and your role. Read only.
This tool takes no parameters.
list_tiktok_bc_advertisers
קריאה1 creditsAd accounts inside a TikTok Business Center (bc/asset/get, ADVERTISER): advertiser id, name, account type, your role and verification status. Read only.
| Parameter | Type | Description |
|---|---|---|
bc_idOptional | string | Business Center id (list_tiktok_business_centers); optional when the token reaches a single Business Center |
list_tiktok_bc_pixels
קריאה1 creditsPixels held in a TikTok Business Center (bc/asset/get, PIXEL), across its ad accounts. Read only.
| Parameter | Type | Description |
|---|---|---|
bc_idOptional | string | Business Center id (list_tiktok_business_centers); optional when the token reaches a single Business Center |
list_tiktok_asset_groups
קריאה1 creditsAsset groups of a TikTok Business Center (bc/asset_group/list): asset_group_id and name. Read only.
| Parameter | Type | Description |
|---|---|---|
bc_idOptional | string | Business Center id (list_tiktok_business_centers); optional when the token reaches a single Business Center |
tiktok_advertiser_qualification
קריאה1 creditsBusiness qualifications in a TikTok Business Center (bc/advertiser/qualification/get): company name, verification status, owning ad account, linked account count and region. Read only.
| Parameter | Type | Description |
|---|---|---|
bc_idOptional | string | Business Center id (list_tiktok_business_centers); optional when the token reaches a single Business Center |
advertiser_idOptional | string | keep only qualifications owned by this ad account |
verifiedOptional | boolean | filter verified / unverified |
tiktok_change_history
קריאה2 creditsActivity log of a TikTok Business Center (changelog/get): when, which activity type, operator id and the change text, newest first. Read only.
| Parameter | Type | Description |
|---|---|---|
bc_idOptional | string | Business Center id (list_tiktok_business_centers); optional when the token reaches a single Business Center |
start_dateOptional | string | YYYY-MM-DD (UTC); default: last 7 days |
end_dateOptional | string | — |
daysOptional | integer (1–365) | — |
activity_typeOptional | string | ALL (default) | USER | ASSET | … as TikTok defines |
limitOptional | integer (1–500) | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tools23 tools
select_tiktok_advertiser
כתיבה1 creditsChoose which TikTok ad account (advertiser) all further TikTok reads and writes use. Per project: with a non-default project selected only that project's advertiser is saved; in the default project the connection's selection changes. Local setting; nothing is changed on TikTok. Switching is always allowed; adding another advertiser on the platform is subject to the plan's ads.accounts.max limit (error=entitlement body with next_plan and upgrade_url).
| Parameter | Type | Description |
|---|---|---|
advertiser_idRequired | string | — |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
upload_tiktok_video
כתיבה2 creditsUpload a video to the TikTok ad account's asset library from a public URL (file/video/ad/upload, UPLOAD_BY_URL). Applied directly when the user asks; the new video_id is returned in the action result.
| Parameter | Type | Description |
|---|---|---|
video_urlRequired | string | public http(s) URL of an mp4/mov/mpeg/avi file (ideally under 10 MB for URL uploads) |
file_nameOptional | string | 1-100 chars, unique in the account; default: URL file name + timestamp |
auto_fixOptional | boolean | let TikTok detect and fix low resolution / wrong aspect ratio |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
upload_tiktok_image
כתיבה2 creditsUpload an image (image ad or video cover) to the TikTok asset library from a public URL (file/image/ad/upload, UPLOAD_BY_URL). Applied directly when the user asks; the image_id is returned in the action result.
| Parameter | Type | Description |
|---|---|---|
image_urlRequired | string | public http(s) URL of a JPG/PNG (max 1440x2560 total pixels) |
file_nameOptional | string | 1-100 chars, unique in the account; default: URL file name + timestamp |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
create_tiktok_campaign
כתיבה2 creditsCreate a TikTok campaign end to end (campaign + ad group, optionally the ad) as a paused draft. Writes a ledger draft and sends it to TikTok directly when the user asks (the result shows the preview); only with a connected account.
| Parameter | Type | Description |
|---|---|---|
nameRequired | string | — |
objective_typeRequired | TRAFFIC | WEB_CONVERSIONS | REACH | VIDEO_VIEWS | LEAD_GENERATION | APP_PROMOTION | PRODUCT_SALES | — |
daily_budgetOptional | number | account currency |
budget_modeOptional | BUDGET_MODE_DAY | BUDGET_MODE_TOTAL | BUDGET_MODE_INFINITE | — |
goalOptional | string | — |
pixel_idOptional | string | — |
sales_destinationOptional | WEBSITE | APP | WEB_AND_APP | TIKTOK_SHOP | PRODUCT_SALES campaigns only |
audienceOptional | object | countries (ISO list), age_min, age_max, genders ([1]=male, [2]=female), tiktok_location_ids, tiktok_interest_ids |
ad_groupOptional | object | optional ad group overrides; defaults: automatic placement, from now, smooth pacing |
adOptional | object | optional ad; needs a library video_id |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
create_tiktok_ad_group
כתיבה2 creditsCreate a TikTok ad group under a campaign with budget, bid, targeting, placements, schedule and dayparting. Applied directly when the user asks; created paused unless operation_status=ENABLE.
| Parameter | Type | Description |
|---|---|---|
campaign_idRequired | string | TikTok campaign_id |
nameRequired | string | — |
budgetRequired | number | daily budget, account currency |
budget_modeOptional | BUDGET_MODE_DAY | BUDGET_MODE_TOTAL | — |
placement_typeOptional | PLACEMENT_TYPE_AUTOMATIC | PLACEMENT_TYPE_NORMAL | — |
placementsOptional | array<string> | PLACEMENT_TIKTOK | PLACEMENT_PANGLE | PLACEMENT_GLOBAL_APP_BUNDLE |
promotion_typeOptional | string | WEBSITE | APP_ANDROID | APP_IOS | LEAD_GENERATION |
app_idOptional | string | app promotion only |
identity_idOptional | string | — |
identity_typeOptional | string | CUSTOMIZED_USER | TT_USER | BC_AUTH_TT |
secondary_optimization_eventOptional | string | — |
operation_statusOptional | ENABLE | DISABLE | — |
optimization_goalOptional | string | CLICK | CONVERT | REACH | VIDEO_VIEW | LEAD | ENGAGEMENT |
billing_eventOptional | string | CPC | CPM | OCPM | CPV |
bid_typeOptional | string | BID_TYPE_NO_BID | BID_TYPE_CUSTOM |
bid_priceOptional | number | — |
conversion_bid_priceOptional | number | — |
pacingOptional | PACING_MODE_SMOOTH | PACING_MODE_FAST | — |
location_idsOptional | array<string> | TikTok location ids (Turkey 298795, US 6252001, UK 2635167, DE 2921044) |
age_groupsOptional | array<string> | AGE_13_17 | AGE_18_24 | AGE_25_34 | AGE_35_44 | AGE_45_54 | AGE_55_100 |
genderOptional | GENDER_UNLIMITED | GENDER_MALE | GENDER_FEMALE | — |
languagesOptional | array<string> | language codes, e.g. tr, en |
interest_category_idsOptional | array<string> | — |
operating_systemsOptional | array<string> | ANDROID | IOS |
audience_idsOptional | array<string> | — |
excluded_audience_idsOptional | array<string> | — |
schedule_start_timeOptional | string | YYYY-MM-DD HH:MM:SS (UTC) |
schedule_end_timeOptional | string | YYYY-MM-DD HH:MM:SS (UTC); sets SCHEDULE_START_END |
daypartingOptional | string | 336 chars of 0/1: 7 days x 48 half-hours starting Monday 00:00 |
pixel_idOptional | string | — |
optimization_eventOptional | string | e.g. COMPLETE_PAYMENT, ON_WEB_CART, FORM |
comment_disabledOptional | boolean | — |
share_disabledOptional | boolean | — |
search_result_enabledOptional | boolean | — |
interest_keyword_idsOptional | array<string> | from search_tiktok_targeting(type=interest_keyword) |
actionsOptional | array<object> | behaviour targeting: [{action_scene: VIDEO_RELATED|CREATOR_RELATED|HASHTAG_RELATED, action_period: 0|7|15, video_user_actions: [...], action_category_ids: [ids from search_tiktok_targeting(type=behavior)]}] |
deep_bid_typeOptional | string | e.g. DEFAULT, MIN, PACING, VO_MIN_ROAS |
roas_bidOptional | number | — |
zipcode_idsOptional | array<string> | from search_tiktok_targeting(type=location) |
device_model_idsOptional | array<string> | — |
device_price_rangesOptional | array<number> | price range bounds, e.g. [0, 250] |
network_typesOptional | array<string> | WIFI | 2G | 3G | 4G | 5G |
carrier_idsOptional | array<string> | — |
schedule_typeOptional | SCHEDULE_FROM_NOW | SCHEDULE_START_END | — |
saved_audience_idOptional | string | — |
frequencyOptional | integer | max impressions per user within frequency_schedule days |
frequency_scheduleOptional | integer | frequency cap window in days |
brand_safety_typeOptional | string | NO_BRAND_SAFETY | STANDARD_INVENTORY | LIMITED_INVENTORY | EXPANDED_INVENTORY |
blocked_pangle_app_idsOptional | array<string> | — |
targeting_expansionOptional | object | e.g. {expansion_enabled: true} |
household_incomeOptional | array<string> | e.g. TOP5, TOP10, TOP10_25, TOP25_50 |
spending_powerOptional | ALL | HIGH | — |
exclude_age_under_eighteenOptional | boolean | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
create_tiktok_ad
כתיבה2 creditsCreate a TikTok ad in an ad group from a library video (or Spark post). Applied directly when the user asks.
| Parameter | Type | Description |
|---|---|---|
adgroup_idRequired | string | — |
ad_nameOptional | string | — |
ad_textRequired | string | 1-100 chars |
video_idOptional | string | from list_tiktok_videos |
image_idsOptional | array<string> | cover image ids / image ad |
ad_formatOptional | SINGLE_VIDEO | SINGLE_IMAGE | CAROUSEL | — |
landing_page_urlOptional | string | — |
call_to_actionOptional | string | LEARN_MORE | SHOP_NOW | SIGN_UP | CONTACT_US | DOWNLOAD … |
identity_idOptional | string | — |
identity_typeOptional | string | CUSTOMIZED_USER | TT_USER | BC_AUTH_TT |
display_nameOptional | string | — |
tiktok_item_idOptional | string | Spark Ads post id (list_tiktok_posts) |
deeplinkOptional | string | — |
auto_message_idOptional | string | welcome message for Direct Message ads (list_tiktok_auto_messages / create_tiktok_auto_message) |
identity_bc_idOptional | string | Business Center id when identity_type is BC_AUTH_TT |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
update_tiktok_campaign_budget
כתיבה2 creditsChange the budget of one or more TikTok campaigns (amount in the ad account currency). The preview reads the current budget from TikTok (from) so the +50% per change guardrail applies; applied directly when the user asks. The ledger is updated only when TikTok accepts.
| Parameter | Type | Description |
|---|---|---|
campaign_idsRequired | array<string> | TikTok campaign ids (or one Tecrube campaign id) |
amountRequired | number | account currency |
campaign_idOptional | string | Alias of campaign_ids (single id) |
currencyOptional | string | optional ISO check; must equal the ad account currency |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
update_tiktok_campaign_status
כתיבהIrreversible2 creditsPause (DISABLE), enable (ENABLE) or permanently delete (DELETE) TikTok campaigns. Applied directly when the user asks; DELETE is applied only when the user explicitly asked for it and marks the ledger campaign as ended.
| Parameter | Type | Description |
|---|---|---|
campaign_idsRequired | array<string> | — |
operation_statusRequired | ENABLE | DISABLE | DELETE | DELETE is permanent; only when the user explicitly asked |
campaign_idOptional | string | Alias of campaign_ids (single id) |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
update_tiktok_ad_group
כתיבה2 creditsUpdate one or many TikTok ad groups at once: budget, bid (bid_type/bid_price), targeting (locations, ages, gender, languages, interests, audiences), schedule and dayparting, comment/share settings, frequency cap, brand safety and device/network targeting. Placements, budget mode and the optimisation setup (goal, billing event, optimisation event, pixel) are fixed at creation, so they are refused with the reason. Applied directly when the user asks.
| Parameter | Type | Description |
|---|---|---|
adgroup_idsRequired | array<string> | — |
adgroup_nameOptional | string | — |
budgetOptional | number | — |
optimization_goalOptional | string | Fixed at creation (defines the ad group's optimisation); rejected with an explanation |
billing_eventOptional | string | Fixed at creation (defines the ad group's optimisation); rejected with an explanation |
bid_typeOptional | string | BID_TYPE_NO_BID | BID_TYPE_CUSTOM |
bid_priceOptional | number | — |
conversion_bid_priceOptional | number | — |
pacingOptional | PACING_MODE_SMOOTH | PACING_MODE_FAST | — |
location_idsOptional | array<string> | TikTok location ids (Turkey 298795, US 6252001, UK 2635167, DE 2921044) |
age_groupsOptional | array<string> | AGE_13_17 | AGE_18_24 | AGE_25_34 | AGE_35_44 | AGE_45_54 | AGE_55_100 |
genderOptional | GENDER_UNLIMITED | GENDER_MALE | GENDER_FEMALE | — |
languagesOptional | array<string> | language codes, e.g. tr, en |
interest_category_idsOptional | array<string> | — |
operating_systemsOptional | array<string> | ANDROID | IOS |
audience_idsOptional | array<string> | — |
excluded_audience_idsOptional | array<string> | — |
schedule_start_timeOptional | string | YYYY-MM-DD HH:MM:SS (UTC) |
schedule_end_timeOptional | string | YYYY-MM-DD HH:MM:SS (UTC); sets SCHEDULE_START_END |
daypartingOptional | string | 336 chars of 0/1: 7 days x 48 half-hours starting Monday 00:00 |
pixel_idOptional | string | Fixed at creation (defines the ad group's optimisation); rejected with an explanation |
optimization_eventOptional | string | Fixed at creation (defines the ad group's optimisation); rejected with an explanation |
comment_disabledOptional | boolean | — |
share_disabledOptional | boolean | — |
search_result_enabledOptional | boolean | — |
interest_keyword_idsOptional | array<string> | from search_tiktok_targeting(type=interest_keyword) |
actionsOptional | array<object> | behaviour targeting: [{action_scene: VIDEO_RELATED|CREATOR_RELATED|HASHTAG_RELATED, action_period: 0|7|15, video_user_actions: [...], action_category_ids: [ids from search_tiktok_targeting(type=behavior)]}] |
deep_bid_typeOptional | string | e.g. DEFAULT, MIN, PACING, VO_MIN_ROAS |
roas_bidOptional | number | — |
zipcode_idsOptional | array<string> | from search_tiktok_targeting(type=location) |
device_model_idsOptional | array<string> | — |
device_price_rangesOptional | array<number> | price range bounds, e.g. [0, 250] |
network_typesOptional | array<string> | WIFI | 2G | 3G | 4G | 5G |
carrier_idsOptional | array<string> | — |
schedule_typeOptional | SCHEDULE_FROM_NOW | SCHEDULE_START_END | — |
saved_audience_idOptional | string | — |
frequencyOptional | integer | max impressions per user within frequency_schedule days |
frequency_scheduleOptional | integer | frequency cap window in days |
brand_safety_typeOptional | string | NO_BRAND_SAFETY | STANDARD_INVENTORY | LIMITED_INVENTORY | EXPANDED_INVENTORY |
blocked_pangle_app_idsOptional | array<string> | — |
targeting_expansionOptional | object | e.g. {expansion_enabled: true} |
household_incomeOptional | array<string> | e.g. TOP5, TOP10, TOP10_25, TOP25_50 |
spending_powerOptional | ALL | HIGH | — |
exclude_age_under_eighteenOptional | boolean | — |
changesOptional | object | any adgroup/update fields as a map |
adgroup_idOptional | string | Alias of adgroup_ids (single id) |
placementsOptional | array<string> | Not changeable after creation (TikTok rule); rejected with an explanation |
placement_typeOptional | string | Not changeable after creation (TikTok rule); rejected with an explanation |
budget_modeOptional | string | Not changeable after creation (TikTok rule); rejected with an explanation |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
update_tiktok_ad_group_status
כתיבהIrreversible2 creditsPause, enable or permanently delete (DELETE) TikTok ad groups (e.g. pause the ones whose CPA is above target). Applied directly; DELETE only when the user explicitly asked.
| Parameter | Type | Description |
|---|---|---|
adgroup_idsRequired | array<string> | — |
operation_statusRequired | ENABLE | DISABLE | DELETE | DELETE is permanent; only when the user explicitly asked |
reasonOptional | string | — |
adgroup_idOptional | string | Alias of adgroup_ids (single id) |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
update_tiktok_ad_status
כתיבהIrreversible2 creditsPause, enable or permanently delete (DELETE) TikTok ads (e.g. pause a fatigued creative). Applied directly; DELETE only when the user explicitly asked.
| Parameter | Type | Description |
|---|---|---|
ad_idsRequired | array<string> | — |
operation_statusRequired | ENABLE | DISABLE | DELETE | DELETE is permanent; only when the user explicitly asked |
reasonOptional | string | — |
ad_idOptional | string | Alias of ad_ids (single id) |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
create_tiktok_custom_audience
כתיבה2 creditsCreate a rule-based TikTok custom audience from pixel, app or engagement events (e.g. added to cart in the last 30 days but did not purchase). Applied directly when the user asks; the audience needs hours to populate.
| Parameter | Type | Description |
|---|---|---|
nameRequired | string | — |
audience_typeOptional | PIXEL | APP | ENGAGEMENT | ENGAGEMENT_ORGANIC_VIDEO | BUSINESS_ACCOUNT | LEAD_GENERATION | TIKTOK_SHOP | — |
retention_daysOptional | integer (1–365) | — |
eventOptional | string | pixel/app event to include, e.g. AddToCart, CompletePayment, ViewContent |
exclude_eventOptional | string | event to exclude, e.g. CompletePayment for cart abandoners |
pixel_idOptional | string | — |
event_source_idsOptional | array<string> | pixel ids / app ids / ad group ids depending on audience_type |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
create_tiktok_lookalike_audience
כתיבה2 creditsCreate a TikTok lookalike audience from a custom audience (TikTok sizes: NARROW ≈ closest, BALANCED, BROAD). Applied directly when the user asks.
| Parameter | Type | Description |
|---|---|---|
nameRequired | string | — |
source_audience_idRequired | string | — |
audience_sizeOptional | NARROW | BALANCED | BROAD | — |
include_sourceOptional | boolean | — |
location_idsOptional | array<string> | — |
placementsOptional | array<string> | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
create_tiktok_whatsapp_campaign
כתיבה2 creditsCreate a TikTok ad that opens a WhatsApp chat (click-to-WhatsApp): LEAD_GENERATION campaign, ad group with optimisation location Instant Messaging App (WhatsApp) on TikTok placement, and a video ad whose cover is taken from the video automatically. chat_link builds the wa.me link from the phone number; website URLs are refused. Everything is created paused; applied directly when the user asks.
| Parameter | Type | Description |
|---|---|---|
nameRequired | string | — |
phone_numberRequired | string | WhatsApp business number with country code, e.g. +90 532 000 00 00 (national format starting with 0 is rejected) |
daily_budgetRequired | number | ad group daily budget, account currency (TikTok minimum ≈ USD 20 equivalent) |
video_idRequired | string | library video (list_tiktok_videos / upload_tiktok_video) |
ad_textRequired | string | 1-100 chars |
connection_methodOptional | chat_link | native | chat_link: wa.me link built from the number (CLICK only, no extra setup); native: number connected to TikTok's message management tool (CLICK or allowlisted CONVERSATION) |
prefilled_messageOptional | string | chat_link only: text pre-filled in WhatsApp; must name the offer or service in the ad, generic greetings are rejected |
optimization_goalOptional | CLICK | CONVERSATION | — |
phone_region_codeOptional | string | native only, when the calling code is shared (e.g. US for +1) |
message_event_set_idOptional | string | native + CONVERSATION only, when the number matches no event set |
image_idsOptional | array<string> | cover image id; omitted = the video's own cover is fetched and uploaded automatically |
call_to_actionOptional | string | default SEND_MESSAGE (CALL_NOW not allowed) |
ad_nameOptional | string | — |
identity_idOptional | string | — |
identity_typeOptional | string | CUSTOMIZED_USER | TT_USER | BC_AUTH_TT |
display_nameOptional | string | — |
goalOptional | string | — |
audienceOptional | object | countries (ISO list), age_min (18+), age_max, genders ([1]=male, [2]=female), tiktok_location_ids, tiktok_interest_ids |
ad_groupOptional | object | optional ad group targeting/schedule overrides; placements, promotion type and search results are fixed for messaging ads |
landing_page_urlOptional | string | NOT accepted: a messaging ad group has no website destination; give phone_number instead |
website_urlOptional | string | NOT accepted (same rule as landing_page_url); rejected with an explanation |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
update_tiktok_campaign
כתיבה5 creditsRename a TikTok campaign (campaign/update); the ledger name follows. Applied directly when the user asks. Budget and status have their own tools.
| Parameter | Type | Description |
|---|---|---|
campaign_idRequired | string | TikTok campaign_id or Tecrube campaign id |
nameRequired | string | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
update_tiktok_ad
כתיבה5 creditsEdit a TikTok ad's copy in place (ad/update): name, text, landing page, call to action or display name. The current ad is read first and every other field is kept. Applied directly when the user asks.
| Parameter | Type | Description |
|---|---|---|
ad_idRequired | string | — |
adgroup_idOptional | string | optional; read from the ad when omitted |
ad_nameOptional | string | — |
ad_textOptional | string | 1-100 chars |
landing_page_urlOptional | string | — |
call_to_actionOptional | string | — |
display_nameOptional | string | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
create_tiktok_auto_message
כתיבה2 creditsCreate a welcome message for TikTok Direct Message ads (creative/auto_message/create): a greeting plus 1-3 tappable questions with automatic answers. Returns auto_message_id.
| Parameter | Type | Description |
|---|---|---|
titleRequired | string | template name |
contentRequired | string | greeting |
suggested_questionsRequired | array<object> | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
create_tiktok_identity
כתיבה2 creditsCreate a custom TikTok ad identity (identity/create): the display name and avatar shown on non-Spark ads. Applied directly when the user asks; returns identity_id.
| Parameter | Type | Description |
|---|---|---|
display_nameRequired | string | — |
image_uriOptional | string | image_id of a square avatar from upload_tiktok_image |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
create_tiktok_pixel
כתיבה2 creditsCreate a TikTok conversion pixel (pixel/create). Applied directly when the user asks; returns pixel_id and pixel_code to install on the website.
| Parameter | Type | Description |
|---|---|---|
nameRequired | string | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
create_tiktok_customer_file_audience
כתיבה6 creditsBuild a TikTok custom audience from a customer list (dmp/custom_audience/file/upload + create). Values are normalised and SHA-256 hashed inside Tecrube before anything is stored or sent; the preview shows counts only. Approval first.
| Parameter | Type | Description |
|---|---|---|
nameRequired | string | — |
identifiersRequired | array<string> | emails, phones with +country code, or device ids; already SHA-256 hashed values are accepted too |
id_typeOptional | EMAIL | PHONE | IDFA | AAID | default EMAIL |
retention_daysOptional | integer (1–365) | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
share_tiktok_audience
כתיבה4 creditsShare TikTok custom audiences with other ad accounts in the same Business Center, or stop sharing (dmp/custom_audience/share, /share/cancel). Applied directly when the user asks.
| Parameter | Type | Description |
|---|---|---|
audience_idsRequired | array<string> | 1-10 custom audience ids |
shared_advertiser_idsOptional | array<string> | 1-10 ad accounts in the same Business Center (optional for unshare: all) |
actionOptional | share | unshare | — |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
manage_tiktok_search_negative_keywords
כתיבה4 creditsNegative keywords of TikTok search ads for a campaign or ad group (search_ad/negative_keyword/*): list reads directly; add and delete are applied directly when the user asks.
| Parameter | Type | Description |
|---|---|---|
object_typeRequired | CAMPAIGN | ADGROUP | — |
object_idRequired | string | — |
operationOptional | list | add | delete | default list |
keywordsOptional | array<string> | for add; max 80 chars each |
keyword_idsOptional | array<string> | for delete (from operation=list) |
match_typeOptional | PRECISE_WORD | PHRASE_WORD | BROAD_WORD | for add; default BROAD_WORD |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.
send_tiktok_conversion_event
כתיבה1 creditsSend one server-side web conversion event to TikTok (Events API 2.0, event/track). Email, phone and external id are SHA-256 hashed before storing or sending. Applied directly when the user asks.
| Parameter | Type | Description |
|---|---|---|
pixel_codeRequired | string | from list_tiktok_pixels |
event_nameRequired | string | standard event, e.g. CompletePayment, SubmitForm, Contact, AddToCart |
emailOptional | string | — |
phoneOptional | string | +country code |
external_idOptional | string | — |
ttclidOptional | string | TikTok click id from the landing URL |
valueOptional | number | — |
currencyOptional | string | ISO 4217, required with value |
event_idOptional | string | deduplication key shared with the browser pixel |
urlOptional | string | page where the event happened |
advertiser_idOptional | string | optional: run in this TikTok ad account (advertiser id from list_accounts) for this call only; the saved account selection does not change |
Write tool: the call first produces a preview; the change reaches the platform only after you approve it.