· 1 observation
Technical updates · 1
Package or technical metadata updated
View technical comparison →ViewsMax v0.1.0
Social media scheduling
Developer declarations; not independently tested. Listing last checked Nov 4, 2026. Package observed Nov 3, 2026.
Not specified in the available declarations: limitations, pricing & account requirements.
Schedule my latest video to TikTok and YouTube for Friday at 9am
From the marketplace listing
ViewsMax helps users manage social media publishing from ChatGPT. Users can list connected accounts and brands, check platform requirements, upload media, create drafts or scheduled posts, update post settings, and review upcoming posts.
Language: English · Automatically detected from descriptions.
· 1 observation
Package or technical metadata updated
View technical comparison →Find competitors to follow as you develop your plugin.
Social media scheduling for connected X, TikTok and YouTube accounts.
Shared terms: media, scheduling, social, post
Draft, schedule, and manage your business's social media calendar directly from ChatGPT. Mavlow connects your brand voice, content calend...
Shared terms: media, social, instagram, post
Schedule and manage social media posts with Pallyy. Plan content for Instagram, Facebook, LinkedIn, TikTok, Pinterest, YouTube, Threads, ...
Shared terms: media, social, bluesky, instagram
PostPlanify brings social media management into ChatGPT. Create, schedule, publish, and manage social media content across Instagram, Fa...
Shared terms: media, social, bluesky, instagram
A social media scheduler to draft, schedule, and publish posts through the accounts connected to Postminion.
Shared terms: media, social, instagram, linkedin
--- name: plan-content-calendar description: Review, plan, or reshuffle the user's ViewsMax posting schedule — show what is scheduled for a period, spread new posts across days and platforms, move or cancel scheduled posts. Use for requests like "what's going out this week", "schedule these five posts across next week", or "move Tuesday's post to Friday". --- # Plan a content calendar with ViewsMax ## 1. Set the window and time zone Work out the date range the user means, such as "this week" or "next month". If the user's time zone isn't clear from the conversation, ask. Send dates to tools as ISO-8601, and show times to the user in their own time zone. ## 2. Show what's already planned Call `list_posts` with `status: scheduled` and `from`/`to` set to the window, and raise `limit` if the window is busy. Also check `status: draft` if the user wants to schedule existing drafts. Show a table sorted by time with these columns: date and time, platforms, caption (first line), and post id. Point out empty days and days with several posts on the same platform. ## 3. Propose a plan before changing anything When the user wants new or moved posts, write out the proposed schedule first: which post goes where and when. Account for gaps, the platforms the user mentioned, and anything they said about cadence. Only call `list_connected_accounts` if the plan includes platforms you haven't confirmed are connected. Change nothing until the user approves the plan. ## 4. Apply the approved plan - **New posts:** follow the publish-post skill's media and platform-option rules (TikTok privacy level, YouTube privacy status, media requirements). Create each one with `create_post` and `status: scheduled` plus `scheduled_at`, or as a draft if details are still missing. - **Moving a post:** call `update_post` with the post `id` and the new `scheduled_at`. - **Cancelling a post:** either set it back to `draft` with `update_post`, or call `delete_post` if the user wants it gone. Confirm each deletion. When you're done, call `list_posts` for the window again and show the final calendar. Flag anything that failed validation and what it needs. ## Don't - Don't set any post to `posted`. That publishes immediately and isn't part of calendar planning unless the user explicitly asks. - Don't edit published posts. The tools refuse, so explain instead of retrying.
--- name: publish-post description: Compose, schedule, or publish a social post to the user's connected social accounts (such as YouTube, TikTok, X, LinkedIn, Threads, Instagram, or Bluesky) through ViewsMax, and check whether it published. Use when the user wants to post, cross-post, schedule, or draft social content, or asks why a ViewsMax post failed. --- # Publish a post with ViewsMax Publishing to a social platform is public and can't be undone. Save a draft unless the user has clearly asked to publish or schedule. ## 1. Check where the user can post Call `list_connected_accounts`. If the user names a brand, also call `list_brands` and use `brand_id` instead of `platforms`. Don't pass both. If a requested platform isn't connected, call `get_connect_url` for it, give the user the link, and explain that they have to open it in a browser and click Connect. Don't go on until the account shows up in `list_connected_accounts`. ## 2. Collect what the post needs Ask only for what's missing: - **Caption.** Stay within each platform's limit (listed in the `create_post` description). Use `overrides` when one platform needs a shorter or different caption, such as X's 280 characters. - **Targets.** Platforms or a brand. - **Timing.** Draft, publish now, or schedule. For a schedule, confirm the user's time zone and send `scheduled_at` as ISO-8601 with an offset, such as `2026-09-20T09:00:00-04:00`. - **Media.** See the next step. ## 3. Prepare media - The user's file has to be at a public https URL. Pass it to `upload_media`, then send the returned media entry to `create_post` unchanged. - **YouTube** needs a video entry with a `path`, which only `upload_media` returns. - **TikTok** needs a video with a `url` or one or more images (a photo slideshow). - **Instagram** needs an image or video `url`. - Never invent or guess a media URL. If the user only has a local file, ask them for a public link. ## 4. Platform options the user must choose - **TikTok:** `options.tiktok.privacy_level` is required to publish or schedule and has no default. Ask the user to choose PUBLIC_TO_EVERYONE, MUTUAL_FOLLOW_FRIENDS, FOLLOWER_OF_CREATOR, or SELF_ONLY. Never choose it for them. Branded content can't be SELF_ONLY. Ask before turning on `auto_add_music` (photo slideshows only). - **YouTube:** ask for `options.youtube.privacy_status` (public, unlisted, or private) if the user hasn't said. ## 5. Confirm, then create Before publishing or scheduling, show the user: - the accounts or brand, - the caption per platform, - the media, - the time, and - the privacy settings. Wait for an explicit yes. Then call `create_post` with `status` set to `posted`, `scheduled`, or `draft`. ## 6. Report the outcome Publishing runs in the background. Call `get_post` with the returned id and report each platform's status: pending, publishing, published, or failed. For a failed target, pass on its error message in plain language and suggest the fix, such as reconnecting the account or adding required media. If targets are still pending, say so and offer to check again. ## Editing and deleting - `update_post` only works on draft or scheduled posts. A published post can't be edited. - Setting `status` to `posted` in `update_post` publishes immediately, so confirm first. - `delete_post` removes the post from ViewsMax only; content already live on a platform stays up. Tell the user that before deleting, and confirm. ## Limits If a tool reports a rate limit or a plan limit, explain it plainly and stop. Don't retry in a loop, and don't recommend upgrading.
--- name: report-offer-performance description: Summarize how the user's ViewsMax offers and tracked links are performing — video views, clicks, calls booked, email sign-ups, sales revenue, and daily click and revenue trends for a date range. Use for questions like "how did my offers do last month", "which offer made the most money", or "is traffic going up". --- # Report offer performance from ViewsMax ## 1. Pin down the window Use the dates the user gives. If they don't give any, use the last 28 days and say so. Send `from`/`to` as ISO-8601 dates. ## 2. Pull the numbers 1. Call `get_offer_stats` for the window to get totals: video views, clicks, calls booked, email sign-ups, and sales revenue. 2. Call `get_stats_timeseries` for the same window to get daily clicks and attributed revenue. Add `event_id` when the user asks about one offer. 3. Call `list_offers` when the user wants a per-offer or per-link breakdown. Its results include each offer's links and stats. ## 3. Present it Lead with a short answer to the user's question, then show: - **Totals** for the window. - **Top offers or links**, ranked by the metric the user cares about. If they didn't say, rank by revenue, then by clicks. - **Trend:** compare the first and second half of the window, or week over week. Name the best and worst days. - **Next step:** one or two concrete suggestions that follow from the numbers, such as moving a high-converting link to a busier placement. ## Accuracy rules - Report only metrics the tools returned. If you calculate a rate, such as revenue per click, show the formula and label it as calculated. - Zero-filled days in the time series mean no recorded activity. They don't mean missing data. - If every metric is empty, say tracking may not be installed or links may not be live yet, and point the user to the track-offer skill. Don't guess why.
---
name: research-outliers
description: Find and study outlier videos on YouTube, TikTok, and Instagram — content that massively beat its channel's average views — for a topic or a specific video, get an AI breakdown of the hook and structure, and save the best ones to the user's ViewsMax library. Use when the user wants video ideas, wants to know what's working in a niche, or asks why a video took off.
---
# Research outlier videos with ViewsMax
`outlier_score` is a video's views divided by its channel's average views. The
higher the score, the more the video beat its channel's norm.
## Find outliers for a topic
1. Call `list_outliers` with `query` set to the topic. Add filters the user
mentions: platform, minimum score or views, subscribers, publish date,
duration (`long` or `shorts`), or country.
2. If the response `status` is `queued` or `in_progress`, or the results are
thin, call `search_outliers` with the same query. Use `exact_match` for
exact phrases. Tell the user it takes a minute or two, then call
`list_outliers` again until `status` is `done`.
3. Present the top results as a table with these columns: title, channel,
platform, views, outlier score, and publish date. Point out patterns you can
see in the titles and formats. Keep them separate from anything you infer.
## Study one video
- If the user gives a video URL, call `fetch_outlier`. If it comes back
`queued: true`, call `get_outlier` with the returned platform and video_id
until it's available.
- Call `get_outlier_breakdown`:
- `none`: call `generate_outlier_breakdown`, then check again.
- `pending` or `processing`: wait, then check again.
- `completed`: summarize the hook, structure, why it worked, and how the user
could adapt it to their own channel.
- `failed`: report the error.
## Save to the library
- `save_outlier` bookmarks a video, with optional tags. Saving the same video
again replaces its tags, so include existing tags the user wants to keep.
- `list_saved_outliers` shows the library, filtered by query, tags, platforms,
or creator.
- `remove_saved_outlier` removes a saved item using its saved id. Confirm
first.
## Limits
Searches, fetches, and breakdowns are rate-limited per hour. If a tool reports
a limit, say so and don't retry in a loop.
---
name: track-offer
description: Set up ViewsMax tracking for a sponsorship, affiliate deal, product, or lead magnet — create the offer with its conversion goals and a tracked link for each place it will be promoted. Use when the user wants to know how many clicks, calls booked, email sign-ups, or sales a promotion drives.
---
# Track an offer with ViewsMax
An offer is a promotion the user wants to measure. Tracked links send visitors
to the offer, and goals record what counts as a conversion.
## 1. Avoid duplicates
Call `list_offers`. If an offer with the same landing page already exists,
offer to add links to it instead of creating a new one.
## 2. Create the offer
Collect:
- `offer_url`: the landing page. Required.
- `name`: a short label the user will recognise.
- `goals` (optional): one entry per conversion the user cares about.
- `event_type`: for example `conversion`, `call booked`, or `email-signup`.
- `conversion_url`: the thank-you or confirmation page that proves the
conversion happened.
- `conversion_value`: the value in the user's currency, if they know it.
Call `create_offer`. If it fails because of the user's plan offer limit, tell
the user and stop. Don't suggest upgrading or mention prices.
## 3. Create a link per placement
Ask where the offer will be promoted, then call `create_tracking_link` once per
placement with `tracking_event_id` set to the offer id.
- Valid `placement` values: `video`, `email`, `x`, `linkedin`, `podcast`,
`blog`, `website`, `tiktok`, `ad`, `instagram`, `beehiiv`, `other`.
- For a specific YouTube video, pass `youtube_video_id`. The placement is set
automatically.
- For a Beehiiv newsletter post, pass `beehiiv_post_id`.
- Give each link a `name` that identifies where it lives, such as
"March newsletter" or "Bio link".
## 4. Hand back the links
Show a table with these columns: placement, name, and tracked URL. Tell the
user to use each link only in its own placement, so results stay separable.
If the user also wants to post about the offer now, use the publish-post skill.
Tracked links can go in captions, or pass `shorten_links: true` to
`create_post` to shorten any URL in the caption.
## Changes
- `update_offer` changes the name, landing page, or goals. Passing `goals`
replaces the whole goal list, so include the existing goals the user wants to
keep.
- `delete_offer` stops tracking and removes the offer. Confirm first, because
its links stop being tracked.
Publisher declarations from the archived package. These are separate from our research and the live service's terms.
Some manifest fields differ or could not be read. The structured report retains the source references.
Package observed Nov 3, 2026.
plugin_asdk_app_6abf68b6ecb08191b55d646bbd9091b9
Download plugin data (JSON)