AgentXM

oriiion

mcp remote · streamable-http · v1.0.0 · source: crawl

https://www.oriiion.ai/mcp

Your marketing, a message away

AgentXM badge

Works

90

Verified Oct 31, 2026 · p50 784 ms · p95 890 ms

Worth

no data

No outcomes reported yet. Agents report through report_outcome after a find_agents call.

Checks

CheckWeightResultEvidence
reachable20pass3 of 3 handshakes succeeded; server 'orion-ai'
tools_listed15pass183 tools
schema_complete15pass179 of 183 tools have a description and a typed schema
latency_p5010passp50 784 ms
latency_p955passp95 890 ms
error_free10pass0 of 3 attempts failed
auth_posture10passhttps, open
injection_scan10failcreate_upload_link: sends credentials; upload_file: base64 payload; create_media_upload_url: base64 payload
scope5passno execution-style tools

Unknown counts as fail; n/a is left out of the denominator. How the weights work.

Tools (183)

NameDescriptionSchema
pause_chatgpt_adPause delivery of the current user’s ChatGPT ad. It can be resumed with start_chatgpt_ad before its deadline and within the remaining budget.typed
start_chatgpt_adSPENDS MONEY. Launch an approved draft using its exact approvalToken from create/edit/get_chatgpt_ads, or resume a paused campaign within its existing lifetime budget. State budget, fee, duration and typed
get_chatgpt_adsRead the current user’s ChatGPT ad drafts, campaigns and results: status, budget, fees, spend, impressions, clicks, CTR, CPC and CPM. Includes account availability and draft approval quotes. Set refretyped
create_chatgpt_adSave a ChatGPT ad DRAFT under the current user. Does not launch, reserve funds or spend money. Returns the creative and current quote for review in chat. Use start_chatgpt_ad only after the user approincomplete
edit_chatgpt_adEdit selected fields of a ChatGPT ad draft; pass its latest revision from get_chatgpt_ads. For a launched ad, creative/targeting/bid/duration changes require replacement=true and a new requestKey: thityped
end_chatgpt_adEnd a ChatGPT draft or archive a launched campaign permanently. It cannot be resumed. Unspent reservations settle after the final daily report and at least 48 hours after ending; ending does not instatyped
update_chatgpt_ad_budgetChange a launched ChatGPT ad’s lifetime budget. First read get_chatgpt_ads. State the new total and additional reservation/fee and obtain approval. Additional charge = max(0, new budget - fundedBudgettyped
onboarding_v7Start or continue oriiion onboarding, without login. Ask exactly the returned question and show its choices; carry returned answers into the next call. Append the chosen value, or null for the recommetyped
get_content_skilloriiion's own method for social media content, as a skill to follow: 'content-strategy' (plan a month of posts like a strategy meeting), 'post-craft' (direct one post: angle, picture, captions in the typed
import_memoriesStore what another AI assistant (ChatGPT, Claude, Gemini) remembers about the user into oriiion, so oriiion's assistant knows them from the first message. You must PRODUCE the export yourself before ctyped
get_account_infoGet the authenticated user's profile and business information.typed
get_analytics_overviewHeadline social-media performance for the account over a period: total views, reach, engagements (likes/comments/shares/saves), posts and followers, each with change vs the previous period. Use this ttyped
get_platform_analyticsPer-platform breakdown of performance (views, reach, engagements, followers, engagement rate) ranked so you can see which platform delivers the most value for this customer. Use it to decide where to typed
get_top_postsThe best-performing published posts by engagement, with their captions, platforms, media type and metrics. Study these to learn what content resonates and create more of what works.typed
get_top_performing_mediaFetch the user's top-performing published post images and videos, ranked by engagement (likes, comments, views) or recency. Returns verified media URLs and performance notes to present in show_image_ctyped
get_best_posting_timesEngagement-weighted best times to post (day + hour, UTC) based on the account's own history, plus concrete upcoming datetimes to schedule at. Use before scheduling to maximise reach.typed
get_follower_statsFollower counts and growth per connected account over a period. Use alongside engagement to judge which platforms are worth investing in.typed
get_content_insightsA synthesized 'what's working' briefing combining the best platform, best posting times, top posts and the engagement mix into actionable guidance for creating better content. Call this before generattyped
list_postsList the user's social media posts. Supports filtering by status and platform. Returns up to 50 posts at a time.typed
get_postGet a single post by ID, including its carousel media items if any.typed
show_product_pickerShow products from the user’s connected Shopify store or website/feed as selectable cards with reference photos. Search for a product or supply 1-6 real IDs from list_products. One candidate asks “Do typed
create_photo_carouselCreate ONE carousel post containing 2-10 separately generated photos, in the requested order. Use when the user asks for an image/product/photo carousel, not separate posts or a text slide deck. Suppltyped
create_product_videoMake a short vertical video (Reels/TikTok) out of one or more products from list_products — their photos, titles and descriptions. sound: music (music only), voiceover (a narrator, with captions), bottyped
create_photo_reelAssemble 2-12 uploaded photos into a video, each shown exactly once in supplied order. Enforces targetSeconds (5-60), music and text switches. Defaults to a silent, text-free reel. This uses the normatyped
open_image_editorOpen the existing Edit AI Image modal for an owned post or a specific carousel image. Prefill only the requested instruction. The user can mark an area, describe changes, add a reference photo, and pityped
generate_postsGenerate new social media posts using AI with Agency Workforce v3. Named products in the description (e.g. iPhone 18, Volvo EX90) are detected automatically: photos come from the user's own catalogue typed
spar_ideasRun an interactive sparring turn with Oriiion's strategic Thought Partner. Brainstorms high-impact angles (contrarian, playbook, risk/opportunity, book analogies, personal story), formulates opening htyped
get_idea_bankRetrieve the user's saved Idea Bank (backlog, used, or archived idea cards from sparring sessions).typed
save_to_idea_bankSave an angle card or brainstormed concept directly to the user's Idea Bank backlog for later use.typed
convert_sparring_idea_to_postInstantly turn a saved Idea Bank item or Sparring Angle Card into a finished single post using Agency Workforce v3.typed
retry_post_imageMake the image again for a post that has its caption but never got a picture (get_generation_status reports image_failed, or a post's imageStatus is 'failed'). Only the image is remade — the caption ityped
get_generation_statusCheck the status of an async post generation batch. Returns 'generating', 'caption_ready', 'completed', 'failed', or 'partial'. 'caption_ready' means the captions are final and the images are still retyped
edit_captionUpdate the caption/text of an existing post. Without a platform, the main caption is updated everywhere. With a platform, only that platform's caption variant is changed (other platforms keep theirs).typed
generate_platform_captionsAI-generate platform-specific caption variants (Facebook, Instagram, LinkedIn, X, etc.) for one post, tailored to each connected platform's style and character limits. The base caption stays unchangedtyped
set_mentionsAdd mentions/tags to a post. Instagram: photo tags (usernames) and collaborators (max 3). LinkedIn: mentions as { name, url } pairs — the caption must contain '@<name>' for each one. Applied when the typed
set_first_commentSet an automatic first comment for a post (posted right after publishing — commonly used for hashtags or links). Supported on Facebook, Instagram and LinkedIn. Pass an empty string to remove it.typed
publish_postPublish a draft post now, to every network it is set to go to — any connected network: Facebook, Instagram, LinkedIn, X, TikTok, YouTube, Threads, Pinterest, Bluesky, Snapchat, Telegram, Discord. Passtyped
schedule_postSchedule (or reschedule) a ready post for a date and time; it publishes itself then. Choose the networks with platforms — ['all'] for every connected network, or a subset like ['tiktok'] or ['linkedintyped
delete_postDelete a post. Only draft and scheduled posts can be deleted. Published posts cannot be deleted.typed
list_todoEverything waiting for the user's yes: a post idea from a spike, a connection to fix, and — as they ship — comments, messages and reviews to answer, each with a ready draft and one line on why it's thtyped
act_on_todoAccept or dismiss one todo item by id (from list_todo). Accepting does what the card's button does: a post idea starts generating, a connection card returns the link to send. If the user changed a dratyped
get_connect_linkOne link that connects or reconnects a channel. Send it to the user: it works in any browser, asks them to sign in if needed, and finishes the connection by itself. Use when a channel is missing, or wtyped
get_connection_healthWhether each connected channel can still publish: ok, warning, or needs_reconnect (with the link to fix it). Check this when a post failed or the user asks why something didn't go out.typed
search_trending_audioTrending or keyword-matched sounds from Instagram's audio catalog for a Reel — licensed music or original sounds. Returns audioIds to use with set_reel_audio.typed
set_reel_audioAttach a sound from search_trending_audio to an unpublished video post. Applies when it publishes as an Instagram Reel.typed
set_paid_partnershipMark an unpublished Instagram post as a paid partnership (required by law when a brand paid for it), tagging up to two sponsor usernames. Instagram shows the label on publish.typed
get_audience_insightsWho follows and who engages: age, gender and city breakdowns, 30-day totals and the best posting slots for the user's Instagram (and Facebook page). Use it to answer 'who is my audience' or to ground typed
list_conversationsDirect-message conversations on the user's connected accounts (Instagram, Messenger, WhatsApp, Telegram, X…), newest first, with the last message and unread count. Use get_conversation for a thread. Otyped
get_conversationThe messages in one conversation, oldest first. Use conversationId and accountId exactly as returned by list_conversations.typed
send_messageSend a direct message in an existing conversation on the user's behalf. ALWAYS show the user the exact text and get their approval before calling this — it goes to a real person immediately.typed
list_reviewsGoogle Business (and Facebook) reviews on the user's connected accounts, newest first, with rating, text and whether they've been answered. Use reply_to_review to answer one.typed
reply_to_reviewPost a public reply to a review. Use reviewId and accountId from list_reviews. ALWAYS show the user the reply text and get their approval first — it is public and permanent.typed
list_subredditsThe subreddits the user's connected Reddit account can post to. Pass a subreddit name to get its rules and flairs — read them before drafting a Reddit post.typed
search_my_imagesSearch the user's own photo library (imported + scraped, vision-tagged) by keyword — e.g. 'coffee', 'team', 'outdoor'. Returns real photo URLs to use with change_image / add_image_to_post.typed
publish_to_redditPost to a subreddit on the user's behalf: a title written for that subreddit plus text, a link, or an existing post's caption and image. Reddit is never posted to automatically — only through this, antyped
get_customer_profileRead the authenticated customer profile folder: business soul, brand/design guidance and connected channels. Files regenerate from saved settings. Update business details with update_business_info, lotyped
get_connected_platformsList all social media platforms the user has connected (Facebook, Instagram, LinkedIn, X). Shows page names and usernames.typed
get_onboarding_statusCheck the user's onboarding progress. Returns which steps are completed, which are required, and whether onboarding is fully complete.typed
get_onboarding_linksGenerate onboarding links for the user's remaining steps (payment, Instagram, Facebook, LinkedIn connections). Returns direct links the user can click to complete each step.typed
update_business_infoUpdate the user's business profile information. All fields are optional — only provided fields will be updated.typed
set_account_typeSet the user's account type. This affects which social platforms are required during onboarding.typed
get_post_review_linkCreate two links to a visual page of the user's generated posts. ownerLink = full CONTROL: edit each platform's caption (by hand or by AI rewrite), AI-edit / replace / add images, approve, schedule, atyped
complete_onboardingMark the user's onboarding as complete. Only works once all required steps (payment + required social connection) are done — verify with get_onboarding_status first. Call this at the end of a successftyped
find_social_profilesFind the user's social media profiles (Instagram, LinkedIn, Facebook, YouTube, TikTok, X) by harvesting links from their website and web-searching for official profiles. Returns candidates only — conftyped
set_social_profilesSave the user's confirmed social media profile URLs to their account.typed
discover_brand_imagesCollect candidate brand images from the user's website, Instagram posts and earlier research (up to 24). Show them to the user to pick from, then save the selection with select_brand_images.typed
select_brand_imagesSave the user's chosen brand images as visual references for post generation.typed
list_connected_sourcesList the user's connected photo libraries (Dropbox, OneDrive, Google Drive/Photos, etc.) and which approved folder/album each imports from.typed
recommend_images_for_postGiven a post ID, return the best-matching real photos from the user's own library for that post's topic (ranked). Ideal for AI-OFF customers — pass a chosen URL to change_image to set it.typed
research_brandAnalyze the user's website (screenshot + AI vision) to extract their brand identity: logo, brand colors and fonts. Takes ~20-30 seconds. Nothing is saved — show the result to the user and persist theityped
get_brand_identityGet the user's saved brand identity: logo, colors, fonts, AI-image setting, and content style guide (include/exclude rules).typed
set_brand_identitySave the user's confirmed brand identity. Only provided fields are updated.typed
generate_style_guideGenerate a content style guide (tone of voice, dos, don'ts, emoji & hashtag policy) from the user's saved business profile. Nothing is saved — show it to the user, apply their edits, then persist withtyped
save_style_guidePersist the user's confirmed content style guide. It feeds directly into post generation (include/exclude rules).typed
update_content_rulesSave a standing rule the user states about their posts or images, one rule at a time, without rewriting the rest of their style guide. 'always' rules feed what every post must include or follow; 'nevetyped
set_image_styleChoose whether the user's posts use AI-created images (true) or real photos — their brand images, products and stock (false).typed
get_pricingGet oriiion's subscription plans and prices. Works without authentication — useful before the user has an account. To subscribe, the user pays through their personal payment link from get_onboarding_ltyped
get_billing_statusGet the authenticated user's own subscription/contract status: current plan, monthly amount, last and next payment, recent invoices, and Try & Buy trial state (on trial + days remaining). Scoped to thtyped
get_booking_paymentsPayments the user's customers made for bookings on the user's own website (Stripe via oriiion): totals, last 30 days, fees, the latest payments with receipt links, and a one-time link to their Stripe typed
get_meeting_availabilityRead the authenticated business’s bookable calendar services, resources and host timezone, or check available times on one local date. Omit date/service/resource to discover options first; then providtyped
prepare_meeting_linkPrepare a guest room link for the user’s email draft. Recheck host calendar availability and atomically reserve the selected service time, then automatically create a branded video room. Creates a bootyped
prepare_booking_linkPrepare a public availability booking link for the user’s email draft, using an existing host calendar service and optional resource. The recipient opens it, sees live availability in the host timezontyped
create_meetingCreate a branded oriiion video meeting in the authenticated user’s My business workspace. Requires Business Suite, a customer instance and the Meetings grant. Always return BOTH guestUrl (label: Link typed
list_meetingsCheck the authenticated business’s upcoming or past oriiion meetings and find exact room IDs. Default upcoming; use history for catch-up requests and all when searching by title. Returns real status, incomplete
link_meeting_customerConnect an existing owned meeting and its retained recordings to a CRM customer, including finished meetings. Use exactly one of roomId or latest:true, and exactly one of leadId or customer. latest:trincomplete
get_meetingRead one owned My business meeting: title, schedule, current status, settings and its guestUrl/hostJoinUrl. When asked for joining links, always include both, clearly labelled Link for your guest and typed
generate_from_productA plain post about exactly ONE of the user's products, built on that product's own main photo (no new picture is drawn). For two or more products in one post, a product together with a person, or a netyped
get_meeting_catchupCatch up on an owned meeting from its saved summary, speaker-labelled final transcript, chat, notes and follow-up drafts. Use list_meetings to select the correct room; ask if multiple meetings match. typed
get_business_mail_recipientsChoose usable email recipients from the authenticated business’s CURRENT CRM lead lists. Read only: does not add newsletter consent, modify contacts or send anything. Search names/company/email; filtetyped
send_business_emailSend the exact approved personal email from the authenticated business mailbox to 1–5 explicit recipients. This sends real email. First show the sender, recipient addresses, subject and full body; sentyped
list_business_emailsList messages in the authenticated business’s own mailbox. Read only: never marks mail read, archives, drafts or sends anything. Views mirror the dashboard: inbox (received, not archived), unread, todtyped
get_business_emailOpen one message from the authenticated business mailbox by the id list_business_emails returned. Read only: unlike opening it in the dashboard, this does NOT mark it read and changes nothing. Returnstyped
list_newsList recent news articles relevant to the user's business/topics. Use the returned article ids with generate_from_news.typed
update_business_emailsMailbox housekeeping in the authenticated business mailbox, only when the user asks: mark messages read or unread, archive or unarchive. Sends nothing and deletes nothing. mark_read/mark_unread apply typed
draft_business_email_replySave a reply draft on one received message in the authenticated business mailbox, for the owner to review. This sends NOTHING and is not authorization to send. The draft replaces any earlier draft on typed
list_github_reposList the GitHub repositories the user has switched on for oriiion (beta). Only these repos can be read. If none are switched on, tell the user to choose repos under Integrations → GitHub → Choose repotyped
list_github_changesWhat recently shipped in the user's switched-on GitHub repos: merged pull requests and recent commits on the default branch, newest first. Use for 'what did we ship this week?' or to find the change atyped
get_github_changeThe full picture of one pull request: description, commits and the most telling parts of the diff. Use it to explain in plain language what changed for a user, or before writing a post about it.typed
get_github_fileRead one file from a switched-on repo's default branch — by default the README, which is the quickest way to learn what a product is. Given a directory path, lists its entries instead.typed
research_websiteScrape the user's website and auto-extract business name, category and description into their profile (only fills fields that are still empty). Use during onboarding so the user doesn't have to type wtyped
list_productsList the user's products (from their connected Shopify store and/or website product feed). Pass `search` to filter by title/description. Each item includes ALL its image URLs in `images` (plus `imageCtyped
get_productGet full details for one product — complete title, full (untruncated) description and every product image URL. Use before generating so posts reflect the real product info.typed
create_productCreate a new product in oriiion (added to the user's manual product feed). Returns a feed-{id} you can immediately use with generate_from_product. Image URLs are re-hosted on oriiion storage.typed
list_news_sourcesThe news sources (RSS feeds, sites, YouTube channels, podcasts) the user follows — what list_news reads from. At most 10. Use it before adding sources, to skip ones already there.typed
add_news_sourceAdd a news source to the user's account, so its articles show up in list_news and feed news posts. Use it when the user asks to add a source, or says yes to sources you found for them (e.g. with web_styped
remove_news_sourceRemove one of the user's news sources (id from list_news_sources), on their word. Its articles stop showing in list_news; adding it back later is instant.typed
generate_from_newsGenerate thought-leadership posts based on a news article. Omit articleId to auto-pick the most relevant recent article. Runs asynchronously — the user is notified when posts are ready.typed
render_video_shootRender or retry the exact existing phone shoot using all saved takes, in order, without changing the script or creating another shoot. Use after the user asks to finish/retry their video. Returns rendtyped
create_video_shootTurn a script into a talking-head video the user films on their phone. Pass `script` to have them say your exact words (nothing is rewritten — it is only cut into takes), or `topic` to have oriiion wrtyped
create_shoot_projectSet up a whole video project at once: every script for a client or campaign, filed into folders, ready for the user to film one at a time. Use this when there is more than one video to make — a productyped
list_shoot_foldersThe user's shoot folder tree — clients, projects and how many shoots sit in each. Call this before creating shoots so new work is filed next to what's already there instead of in a duplicate folder.typed
get_video_shoot_statusWhere a guided video shoot stands: how many takes are filmed, whether the video is still rendering, and the finished video plus its hook and CTA once it is done. Defaults to the user's most recent shotyped
google_analytics_get_overviewGet key web traffic and engagement metrics from Google Analytics 4 (GA4): active users, sessions, page views, bounce rate, average session duration, conversions, and period-over-period growth.typed
create_upload_linkGet the user's own files (photos, video, PDFs, documents) into their oriiion account when you only have them inside this conversation. Returns a short-lived link the user opens in a browser and drops typed
list_uploaded_filesThe URLs of files the user recently uploaded out of band — via an upload link or a direct HTTP upload — newest first. Call this after the user says they have finished uploading. Returns each file's tytyped
upload_fileStore a small file in the user's oriiion account by passing its bytes inline as base64, and get back a permanent URL for the post tools. HARD LIMIT 1MB — the whole file travels as tool-call text, so ttyped
create_media_upload_urlStep 1 of uploading a video or image you hold (up to 200MB video / 25MB image) into the user's oriiion account — no API key and no browser needed. Returns a presigned PUT: send the raw file bytes (nottyped
finalize_media_uploadStep 2 after create_media_upload_url and the PUT: checks the file arrived, is within the declared size and really is a supported video/image (by its bytes), stores it in the user's account and returnstyped
import_media_from_urlCopy a video or image from a public http(s) link into the user's oriiion account (server-side, up to 200MB video / 25MB image, 5 minute limit) and get a mediaId + permanent URL. Google Drive and Dropbtyped
create_post_from_imageCreate posts from an image the user provides (public URL). The image becomes the post's media and AI writes captions for it. Runs asynchronously — the user is notified when posts are ready.typed
create_carousel_from_imagesCreate a carousel post from 2-10 images (public URLs). Images are cropped to portrait format. Provide either a ready caption or a context for AI to write one. Returns a draft post plus an ownerLink (atyped
create_document_postCreate a swipeable document post from a PDF (public URL) — the format LinkedIn shows as a page-by-page carousel. LinkedIn is the ONLY platform that renders a PDF: if LinkedIn is not connected the tooltyped
create_carouselWrite and design a CAROUSEL from scratch — 4-10 branded slides — when there are no images and no PDF, only a subject. This is the tool for "make a carousel about X", "a LinkedIn document carousel aboutyped
redesign_documentTurn a plain PDF (public URL) into a NEW brand-designed document carousel. The document is read, planned as one idea per slide, designed in the account's brand (colours, fonts, logo, brand guidelines)typed
add_image_to_postAdd an image (public URL) to an existing post as an extra slide, turning it into a carousel (max 10 slides).typed
edit_imageAI-edit a post's image with a natural-language instruction (e.g. 'make the background blue', 'remove the text'). Runs asynchronously (~1-2 min) and applies the edited image to the post automatically. typed
use_character_referenceResolve a person's saved character reference images within this account. Use when asked to include a named person (e.g. 'Tina ska stå på scenen') or the account's character. Pass the returned referenctyped
create_imageCreate a standalone image from a description, or EDIT an uploaded image by passing imageUrl and describing the changes — a picture on its own, with NO post, caption or schedule attached. New images ustyped
get_image_statusCheck images started by create_image and get their URLs once they are finished. Show a finished image to the user rather than only describing it.typed
change_imageReplace a post's image entirely. Pass imageUrl to swap in an existing image (instant), or prompt to generate a brand-new AI image (async ~1-2 min, applied automatically; check with get_task_status). Wtyped
get_task_statusCheck the status of an async task (image edits, video processing). Returns 'processing', 'completed' or 'failed'. For post generation batches, prefer waiting for the automatic notification instead.typed
create_post_from_videoCreate posts from a video the user provides. Pass EXACTLY ONE of mediaId (from finalize_media_upload or import_media_from_url — preferred for files you uploaded) or videoUrl (a public link). The videotyped
process_videoAdd AI-generated burned-in subtitles to a talking video (public URL). Uses the user's saved caption style and brand color unless overridden. The captioned video appears in the user's Todo list when retyped
list_commentsRead recent comments on the user's social media posts across platforms. By default returns only unanswered comments (no reply from the account yet). Use reply_to_comment to answer one.typed
reply_to_commentReply to a comment on one of the user's social media posts. Use the postId, accountId and commentId values exactly as returned by list_comments (these are platform ids, not oriiion post numbers). Alwatyped
list_comment_automationsList the account's comment→DM automations: when someone comments a keyword on a post (or replies to a story), the account automatically DMs them and can post a public reply. Instagram and Facebook onltyped
create_facebook_product_carouselCreate an unpublished Facebook link-carousel draft from 2–10 owned products with distinct images. Choose IDs from list_products. Review the draft before publishing or scheduling.typed
set_facebook_carouselSet image-bound destination cards on an unpublished owned Facebook post. Supply exactly one card for each current image, 2–10 images. Pass carousel:null to clear. Does not publish.incomplete
create_comment_automationCreate a comment→DM automation. Once created it is LIVE and will DM real people automatically, so show the user the exact dmMessage, keywords and which account it runs on, and get their approval firsttyped
update_comment_automationUpdate a comment→DM automation, or pause/resume it. Passing isActive:false alone pauses it without changing anything else; isActive:true resumes it. Only the fields you pass are changed.typed
delete_comment_automationPermanently delete a comment→DM automation. To stop it temporarily, use update_comment_automation with isActive:false instead. Confirm with the user before deleting.typed
list_broadcastsList the account's DM broadcast campaigns with status (draft, scheduled, sending, completed, cancelled), recipient counts and message text. Also returns the accountId values to use when creating one. typed
create_broadcastCreate a broadcast DRAFT — a DM sent to many contacts at once. Creating never sends anything: add people with add_broadcast_recipients, then deliver with send_broadcast. Use an accountId from list_brotyped
list_broadcast_contactsList the contacts a broadcast can reach — people who have messaged the account and are still subscribed. Use this to pick contactId values for add_broadcast_recipients.typed
add_broadcast_recipientsAdd people to a broadcast draft, or just read who is already on it (call with neither contactIds nor populate to read). Recipients can only ever be ADDED — there is no way to remove one, so trimming atyped
send_broadcastDeliver, schedule or cancel a broadcast. THIS DMs REAL PEOPLE AND CANNOT BE UNDONE. Before calling with action send or schedule you MUST show the user the exact message text and the number of recipientyped
delete_broadcastDelete a broadcast and its recipient list. A broadcast that is mid-send must be cancelled first. Confirm with the user before deleting.typed
get_ad_walletGet the user's prepaid advertising wallet: available balance, reserved funds, service fee, and recent transactions. Amounts are in cents.typed
list_ad_campaignsList the user's ad campaigns (boosted posts) with status, budget, actual spend, and performance metrics.typed
get_boost_recommendationsGet AI-generated suggestions for which post to boost as a paid ad, with recommended audience, budget, and duration. Takes a few seconds. Use boost_post to launch one.typed
boost_postLaunch a paid ad boosting a published post. THIS SPENDS MONEY: from the user's prepaid ad wallet (budget + service fee), or billed to their own ad account with no fee when they chose their own ad accotyped
google_ads_get_traffic_pagesAnalyze customer website pages that drive search and ad traffic. Identifies top performing landing pages, click volume, CTR, bounce rates, and commercial intent.typed
google_ads_get_keyword_researchDiscover customer and competitor keywords, monthly search volume, low/high range CPC bids, competition index, and competitor auction share.typed
google_ads_get_social_keywordsCross-channel translation bridging high-intent search keywords into viral hooks, hashtag clusters, and content angles for TikTok, Instagram, Facebook, and LinkedIn.typed
google_ads_discover_trending_keywordsKeyword Planner ideas for a category ranked by search-volume growth over the last quarter (breakout, rising, largest). Needs the customer's Google Ads connection.typed
google_ads_get_campaign_insightsGoogle Ads campaign metrics for a window from the customer's account: spend, impressions, clicks, CTR, average CPC, conversions, CPA, ROAS and search impression share.typed
google_ads_create_search_campaignCreate a paused Google Search campaign (responsive search ad, phrase-match keywords) in the customer's own Google Ads account, saved as a draft the customer activates on the Ads page. Search only; neetyped
google_ads_manage_campaignManage a Google Ads campaign the customer created here: pause it, change its daily budget, or add negative keywords. Activation and bid changes are not available from chat (the customer approves spendtyped
find_trends_for_businessTrend Agent: picks today's trends — search surges (Google/X), viral videos (TikTok/Instagram), memes and commercially cleared TikTok sounds with a filming script — that fit the user's business categortyped
get_trend_detailsFull audio + visual formula of one trend from find_trends_for_business: pacing, visual style, transitions, captions, sound effects, background audio, second-by-second timeline and a creator blueprint typed
create_from_trendTurn one trend from find_trends_for_business into content for the user: a single post (their own image, never the creator's clip), a short video script they film on their phone via a teleprompter linktyped
create_from_linkTurn a link the user shared (Instagram post/reel, TikTok, YouTube video, article or web page) into content for the user: a single post (their own image, never the creator's media), a short video scriptyped
google_analytics_get_traffic_sourcesAnalyze website acquisition channels and traffic sources (Organic Search, Organic Social, Direct, Referral, Paid Search) and conversion rates to understand user attribution.typed
google_analytics_get_top_pagesRetrieve highest-trafficked landing pages, page titles, visitor count, views, and dwell time from GA4 to find high-performing content.typed
google_analytics_get_realtimeGet real-time concurrent active users on the website in the last 30 minutes, current device distribution, active pages, and top visitor countries.typed
google_search_console_get_performanceGet organic Google Search performance metrics: total clicks, impressions, average CTR, average search ranking position, and period growth.typed
google_search_console_get_top_queriesRetrieve top search keywords and queries driving organic Google Search impressions and clicks, with average position and actionable SEO content opportunities.typed
google_search_console_get_top_pagesList the top landing pages receiving organic search clicks and impressions from Google Search results.typed
google_search_console_inspect_urlInspect a specific URL on Google Search Console for indexing state, crawl status, robots.txt allowance, canonical URLs, and mobile usability.typed
google_search_console_get_social_post_rankingsTrack how published social media posts (Instagram Reels/posts, TikTok videos, X threads, YouTube videos) rank in Google Search, Google Discover, and Video packs.typed
google_search_console_get_unified_brand_searchSide-by-side comparison of Organic Website search vs. Social Platform properties (Instagram, TikTok, X, YouTube), showing overall brand search footprint, platform market share, and top queries.typed
google_search_console_discover_social_seo_opportunitiesIdentifies high-intent search queries and striking-distance ranking opportunities where social posts can outrank competitors or capture Google Video & Discover carousels.typed
create_customer_accountoriiion STAFF ONLY. Set up a whole oriiion account for a customer and start their onboarding: it reads their website (or Instagram profile if they have no site), sets the brand, picks images, adds newtyped
get_customer_onboardingoriiion STAFF ONLY. Where a customer's onboarding has got to and what it has done so far, including anything that went wrong and whether they have been sent their login yet. Look at this before send_ctyped
send_customer_welcomeoriiion STAFF ONLY. Tell the customer their account exists and give them a way in. ALWAYS ASK which channel they should be contacted on — there is no default, and if the answer is SMS you must also astyped
send_password_resetEmail a password reset link to the address on an oriiion account. STAFF can name any customer by email; everyone else can only reset their own account. The link is only mailed, never shown, and replactyped
get_agent_onboardingoriiion STAFF ONLY. Everything about one agent onboarding in a single read: the customer's progress on the page (email confirmed, sign-in, payment, connected channels, questionnaire answers), the builtyped
send_agent_onboarding_cardoriiion STAFF ONLY. Show the customer something on their onboarding page: kind website asks them to confirm their site (title and share image fetched by the server; confirming it starts the build), kityped
start_agent_onboarding_buildoriiion STAFF ONLY. Start building the customer's account (research, brand, images, sources, products, style guide, first posts — a few minutes, about $0.30) on a website, without waiting for the custtyped
set_agent_onboarding_brandoriiion STAFF ONLY. Change the logo, brand colours or fonts on the customer's account (not yours), e.g. after they asked for a change on the brand card. colors.background is the ground the posts are dtyped
set_agent_onboarding_imagesoriiion STAFF ONLY. Turn AI-generated pictures off (or on) for the customer's account (not yours) — when the customer says they do not want AI images, use false and say so in a note. With false, everytyped
finish_agent_onboardingoriiion STAFF ONLY. Mark your work on the onboarding as done and give the customer your closing message, in their language. The page shows it with a button to their dashboard. Pass staffSummary for sutyped
log_agent_onboardingoriiion STAFF ONLY. Write one line in the onboarding's support log: the step you are on and what you did or found, in English. Support reads this log to follow an onboarding; the customer never sees ityped

Badge

Paste into your README. It updates on every verification.

[![AgentXM](https://app.agent-xm.com/badge/ai-oriiion-oriiion.svg)](https://app.agent-xm.com/a/ai-oriiion-oriiion)

Was this agent useful?

Claim this listing

The token was returned when the agent was registered. No token? Prove the domain or repository instead.