add_campaign_spend
ChatGPTRecord one money amount against a campaign: a boost, an ad invoice, production, an influencer fee or agency time. Amounts are minor units (cents) with their own ISO currency; an amount in another currency is reported separately and never converted. AI generation is counted automatically and must not be entered here.
add_event
ChatGPTAdd a one-time key date for today or later, or an annual recurring key date whose original anniversary may be in the past, to the selected planning calendar.
add_product
ChatGPTAdd a product to a brand's Social Bee catalog (admins only). For any public retailer product page, pass source_url: Social Bee uses the retailer's exact catalog when available or standard Product/OpenGraph metadata, verifies that its brand matches the selected workspace brand, saves its exact reference image into that brand's Library, and reuses the same product on retries. Optionally save a brand-scoped exact-product AI spec.
approve_concept
ChatGPTLock in the agreed concept and move on to visuals. Call this ONLY after the user has explicitly confirmed the idea. After this, ask which product(s) to feature and whether they want a single image or a carousel.
approve_images
ChatGPTKeep the images the user chose (pass their ids in the order they want them). One image = a single post; 2–10 = a carousel in that order. The first becomes the cover. Moves the post to the caption step.
approve_instagram_reply
ChatGPTApprove one exact retained Instagram reply version after verifying its conversation membership. This does not contact Meta or send content.
approve_post
ChatGPTApprove a Social Bee post that is awaiting approval. Approval is persisted separately from draft, schedule, and delivery state. If the post already has a scheduled time it moves to scheduled; otherwise it becomes an approved draft ready for publish_post.
cancel_generation_job
ChatGPTCancel one of your queued or running visual-generation jobs.
compose_post
ChatGPTCreate a post idea AND lock it in one step — use ONLY when the user has already explicitly confirmed the direction in this conversation. If the user hasn't confirmed yet, use create_post_brief so they can approve first. If an in-progress draft for the same request already exists, continue it (update_post_brief, or generate_post_images with base_image_id to refine) instead of composing a NEW post.
create_campaign
ChatGPTCreate a campaign so posts and spend can be grouped and reported together. Amounts are minor units (cents) in a single ISO currency and are never converted.
create_post_brief
ChatGPTStart a new post once the user has clearly chosen ONE direction. Records the agreed concept/angle, the platform, and optionally which product ids to feature and which event id it targets. IMPORTANT: brainstorming ideas needs NO tool call — only call this after the user picks a direction. Does NOT create the visuals or caption yet; the user must approve the concept next. If an in-progress draft for the same request already exists, continue it (update_post_brief, or generate_post_images with base_image_id to refine) instead of creating a NEW post.
delete_ai_spec
ChatGPTDelete a Social Bee AI spec. Admins can delete client-wide and brand specs. Members can delete only brand-scoped specs for brands where they have all five permissions.
delete_event
ChatGPTDelete a user-created key date from the selected brand calendar. Holiday-feed and pinned provider rows cannot be deleted with this tool.
delete_memory
ChatGPTDelete a saved Social Bee memory only when it is visible to this caller and the caller can manage AI guidance for that scope.
discard_post
ChatGPTScrap an unpublished draft and its images (the user said never mind).
draft_instagram_reply
ChatGPTCreate or replay one private exact-account Instagram reply draft after verifying its retained inbound target. This does not contact Meta or send content.
fetch_brand_website
ChatGPTFetch the selected brand's configured website through Social Bee's guarded fetcher. Returns page title, meta description, discovered og:image URLs, and a short product-ish text summary. Use discovered image URLs as reference_urls for create_post_brief, update_post_brief, or generate_post_images when the user wants product pulls and has no uploaded images.
generate_post_images
ChatGPTUse this when the user asks to create or generate an image for an existing Social Bee post or draft. The image is saved to that post and follows the Brand Kit. Start after the concept is approved, return immediately with progress, and default to one image unless the user explicitly asks for options or a carousel. Ask whether references should be followed exactly or used as inspiration.
get_brand_profile
ChatGPTGet the full Social Bee workspace snapshot: client, permitted brands, voice, AI specs, memories, competitor context, connected platforms, recent posts, products, upcoming events, trends, 30-day performance, and access. Call this ONCE per conversation instead of individual list_ tools; use list_ only when the user asks for more detail or fresh data.
get_campaign_report
ChatGPTResults and spend for one campaign: per-metric totals with how many posts actually reported each, spend by category including AI generation, budget against actual, and the posts that have no metrics at all. A metric nobody reported reads as null, never 0. There is no cost per click: the only click figure available is a LinkedIn account total for the window.
get_competitor_landscape
ChatGPTReturn the selected brand's competitor roster with its per-platform handles, the latest recorded figure for each competitor, and the brand's own engagement rate on the same basis where a comparison is possible. Every figure carries its source and the date it was captured. This tool does not scrape competitor sites; ChatGPT should browse for current competitor activity itself, then save dated public-data snapshots with save_competitor_snapshot when the research is useful.
get_competitor_snapshots
ChatGPTList the selected brand's saved competitor snapshots, newest first. Use this to read back prior public-data research before planning competitor-led content.
get_creative_gallery
ChatGPTRender one read-only Social Bee creative gallery after Library reads or visual generation are complete. This tool never creates, approves, or publishes assets.
get_generation_allowance
ChatGPTCheck the selected brand’s current visual-generation allowance and availability.
get_generation_job
ChatGPTCheck one of your visual-generation jobs in the selected brand.
get_instagram_conversation_thread
ChatGPTRead one atomic retained message and reply-workflow snapshot for an exact Instagram conversation.
get_performance
ChatGPTShow available Social Bee performance for the selected brand: total reach and engagement over a period, latest follower counts, top published posts, and whether the data is live or unavailable.
get_post_card
ChatGPTRender one exact brand-scoped Social Bee post after reads or mutations are complete. This tool is read-only and never approves, schedules, or publishes the post.
get_post_history
ChatGPTList every recorded change to one exact brand-scoped Social Bee post, newest first: who created, edited, approved, scheduled, published or deleted it, and when. This tool is read-only and changes nothing. History exists only from the recorded_from date it returns.
get_trending_topics
ChatGPTList the selected brand's saved trends, newest first. These are previously saved Social Bee planning signals, not live browsing results.
list_ai_specs
ChatGPTList admin-authored Social Bee AI specs for this client. Admins see all specs; members see client-wide specs and specs for brands they can view. Optionally filter to one accessible brand.
list_brand_kit
ChatGPTList the selected brand’s active logos, fonts and banners with safe short-lived previews.
list_campaigns
ChatGPTList this brand's campaigns with their budget, recorded spend and how many posts each groups. Pass a campaign id to compose_post or create_post_brief to file a new post under it.
list_connected_platforms
ChatGPTList the exact connected accounts and live account data for the selected brand. Instagram and Facebook publishing are available only when the returned account is verified and ready; every other channel is labelled unavailable.
list_creative_archive
ChatGPTList active or archived images and videos owned by the selected brand.
list_events
ChatGPTList upcoming events (holidays and custom dates) you can schedule a post around, e.g. Eid, National Days, back-to-school. Pass an event id to schedule_post to time a post to it.
list_instagram_conversations
ChatGPTList one bounded newest-first page from the retained Instagram Inbox for an exact brand and account. This never claims that one page is the complete retained Inbox.
list_memories
ChatGPTList saved Social Bee memories visible to this caller. Members see client-wide memories and memories for brands they can view; optionally filter to one accessible brand.
list_posts
ChatGPTList a brand's social media posts in Social Bee, optionally filtered by status: draft, pending_approval, scheduled, or published. Returns captions, hashtags, image URLs, schedule times and performance metrics for published posts.
list_products
ChatGPTList a brand's products in Social Bee (name, description). Use these when the user wants to feature specific products in a post's visuals — pass the product id to generate_post_images.
mark_instagram_conversation_read
ChatGPTIdempotently mark one retained exact-account Instagram conversation read without contacting Meta.
publish_post
ChatGPTPublish a Social Bee post right now through its exact connected Instagram or Facebook account. Other channels remain unavailable until their official publishing path is approved and proven.
reject_post_image
ChatGPTDrop one generated image option the user does not want, at the visuals step. The others stay so the user can keep curating. Refuses if it is the only option left — regenerate instead.
revise_concept
ChatGPTWalk the post back to the concept step so the user can change the idea. Kept images will need re-approving.
revise_images
ChatGPTWalk the post back to the visuals step so the user can change the images.
save_competitor_snapshot
ChatGPTSave a dated public-data competitor snapshot for the selected brand after ChatGPT has browsed or otherwise verified the competitor activity. Social Bee records the data; it does not scrape from this tool. The platform is required, and an engagement rate must say what it is a percentage of.
save_memory
ChatGPTWhen the user explicitly asks Social Bee to remember something, save a short durable note for one selected brand so future ChatGPT, Claude Code, and Social Bee conversations can recall it. In a multi-brand workspace, the brand must be chosen explicitly.
save_trend
ChatGPTSave a current trend or competitor signal for the selected brand after ChatGPT has browsed or otherwise verified it. Store only trends worth acting on; Social Bee does not browse from this tool.
schedule_post
ChatGPTAdd a ready post to the selected brand's Social Bee Calendar at one future time or around one selected key date. Provide exactly one of schedule_at or event_id.
send_instagram_reply
ChatGPTSend one approved private Instagram reply through Meta. The model may pass confirmed true with the returned signed challenge only after the user explicitly confirms this exact reply text for this exact named workspace, brand, and Instagram account in the current conversation.
set_instagram_conversation_assignment
ChatGPTIdempotently assign one retained exact-account conversation to the signed-in user or leave it unassigned, without contacting Meta.
set_post_copy
ChatGPTSet the post's caption, optional call-to-action, hashtags, and optional alt text (only after the images are approved). Propose the wording to the user in the brand voice first, then call this once they're happy. Re-callable to tweak.
submit_generation_job
ChatGPTCreate one standalone visual in Social Bee only when no Social Bee post or draft is involved. Save it to the selected brand’s private Creative Library and return progress. For an existing post or draft, use Create a visual for a Social Bee draft instead.
update_post_brief
ChatGPTRevise a post that is still at the concept step (the user changed the idea, products, event, or platform). Use this instead of creating a second post for a changed mind.
upsert_ai_spec
ChatGPTCreate or update a Social Bee AI spec. For a NEW spec with brand_id omitted, the selected brand is used (choose brand in a multi-brand workspace); updating an existing spec without brand_id keeps its current scope. A client-wide spec is created only when brand_id is explicitly null. Admins can manage client-wide and brand specs; members can manage only fully permitted brand scopes.