# SkedCast

> Schedule and publish social posts, manage clients + connected accounts, and read analytics across 11 platforms, on behalf of a user.

- **Domain**: `skedcast.com`
- **Provider**: SkedCast (https://skedcast.com)
- **Kind**: a2a_agent
- **Live-responds (last probe)**: False
- **Signed card**: False
- **Streaming**: False
- **Quality score**: 76%

## Skills
- **list_scheduled_posts** — List the workspace's posts (queue, drafts, published) newest-first, with optional status / client / platform filters and free-text search (`q`) over captions, p
- **list_post_targets** — List individual post DESTINATIONS (one row per platform account) with optional status / client / account / platform / free-text filters and a SCHEDULE-time wind
- **get_post** — Get one post with its per-platform variants and fan-out targets.
- **list_clients** — List the workspace's client groups (brands / influencers).
- **list_accounts** — List connected social accounts, optionally filtered by client or platform.
- **get_analytics_overview** — Reach / impressions / engagement plus a per-platform rollup over a date window.
- **get_post_analytics** — Per-post performance (complements get_analytics_overview): one post’s lifetime per-target breakdown by postId, or a keyset page of per-post rows with filters.
- **get_account_analytics** — One channel’s totals and daily series, plus the two things no other tool carries: profile-level activity (profile views, link taps, video plays) and follower de
- **list_library_assets** — List content-library (DAM) assets with optional kind / folder / label / client / status / search filters. Filter `status: "transcoded"` for assets that are actu
- **get_capabilities** — The per-platform composing rulebook: caption and hashtag limits, media rules per kind (counts, formats, file-size ceiling, duration bounds, aspect ratios), post
- **get_agency** — The current workspace profile — name, plan, app mode, settings, and the caller’s role.
- **list_reports** — List the workspace's saved analytics report definitions.
- **get_best_times** — Worker-derived best posting times (strongest-first), optionally by client / platform.
- **list_approvals** — List the workspace's approval queue (pending and decided requests), newest-first, with optional status / post filters.
- **get_posting_limits** — Anti-ban posting limits (cadence): one account by socialAccountId, or every active channel plus the tenant bypass flag when omitted.
- **get_quota** — Adaptive quota pool: your scarce-bucket budget (guaranteed slice, used, burst headroom, tomorrow’s guarantee tonight, reset clock) — read before planning a batc
- **list_campaigns** — List the workspace's campaigns (named post groupings), optionally filtered by client / status.
- **decide_approval** — Approve, reject, or request changes on a pending approval request (approve releases the gated post for publishing). A write action — confirm with the user befor
- **validate_post** — Dry-run a compose request and get the per-platform verdict WITHOUT writing anything — same arguments as create_post, no post row and no draft. Returns `{ valid,
- **revise_post** — Change the CONTENT of an already-scheduled post — caption, media, cover, alt text, per-platform overrides — without disturbing its destinations. Send only what 
- **create_post** — Compose a post and fan it out across the selected accounts (or save it as a draft). Retry-safe: retrying with identical arguments replays the original result in
- **create_posts_bulk** — Create up to 50 posts in one call. Each item is exactly the arguments of create_post, so a bulk item carries every override a single post does (per-platform cap
- **update_post** — Replace a draft post in place — its content, media, targets, and schedule. Only draft posts can be updated, and this never publishes (use publish_draft for that
- **publish_draft** — Publish or schedule an existing DRAFT post in place — same arguments as update_post plus the draft id; `schedule` decides now or later. Runs the same checks as 
- **import_media** — Ingest an external image / video into the content library by URL — the file must already be reachable at a public URL. For bytes you already hold (an image you 
- **upload_media** — Upload a LOCAL image / video into the content library and get back a media id for create_post. Sends the file inline (≤18 MiB) or returns a presigned URL for la
- **reschedule_post** — Move a pending post target to a new time (absolute scheduledAt or relative shiftMinutes). A write action — confirm with the user before calling.
- **bulk_post_target_action** — Reschedule, retry or cancel up to 5000 post targets in one call — the batch form of reschedule_post / retry_post / cancel_post. Returns `{ jobId, accepted, skip
- **cancel_post** — Cancel a still-pending post target before it publishes. A write action — confirm with the user before calling.
- **retry_post** — Re-queue a failed or rate-limited post target so it publishes again. A write action — confirm with the user before calling.
- **set_post_recycle** — Set, update, or disable a post's evergreen recycle settings (interval / times / end date / max recycles). A write action — confirm with the user before calling.
- **shift_campaign** — Move a whole campaign's pending schedule by a relative number of minutes. A write action — confirm with the user before calling.
- **list_webhooks** — List the workspace's outbound webhook endpoints (url, subscribed events, active flag; secret masked).
- **create_webhook** — Register an outbound webhook endpoint for HMAC-signed event deliveries. Subscribe to any subset of the full 40-event catalog — see /developers/webhooks, or the 
- **delete_webhook** — Delete an outbound webhook endpoint by id (deliveries cascade). A write action — confirm with the user before calling.
- **create_client** — Create a new client group (a brand or influencer whose accounts are managed together). A write action — confirm with the user before calling.
- **create_connect_invite** — Mint a shareable self-connect link so a client can connect the requested platforms themselves; returns the link and its expiry. A write action — confirm with th
- **get_webhook** — Read one webhook endpoint — URL, subscribed events, active state, consecutive failures, and when/why it was auto-disabled. The signing secret is never returned 
- **list_webhook_deliveries** — The delivery log for one endpoint — each attempt with its event type, response status, error and timing. How you find out WHY an endpoint stopped receiving.
- **update_webhook** — Change an endpoint’s URL, event list, or active state — including re-enabling one auto-disabled after repeated failures. The event list REPLACES the previous on
- **test_webhook** — Send a `webhook.test` delivery and report the outcome, proving an endpoint is reachable and verifying signatures without waiting for a real event. Performs a re
- **rotate_webhook_secret** — Mint a new signing secret and return it ONCE — it is not readable again. The previous secret keeps verifying for a short overlap so the customer can redeploy wi
- **get_campaign** — Read one campaign in full — name, description, status, colour, date range, owning client and post counts.
- **create_campaign** — Create a campaign — a named group of posts with an optional client, colour and date range. Posts are added with assign_to_campaign. A write action — confirm wit
- **update_campaign** — Change a campaign’s name, description, status, colour or date range. A write action — confirm with the user before calling.
- **delete_campaign** — Delete a campaign. The posts in it are NOT deleted — they lose the grouping and keep their own schedules. A write action — confirm with the user before calling.
- **assign_to_campaign** — Add up to 500 existing posts to a campaign. Grouping only — no post’s content or schedule changes. A write action — confirm with the user before calling.
- **unassign_from_campaign** — Remove posts from a campaign. Grouping only — the posts and their schedules are untouched. A write action — confirm with the user before calling.
- **get_client** — Read one client group in full — name, type, approval policy, posting rules, brand voice and default timezone.
- **update_client** — Change a client’s name, type, approval policy, posting rules, brand voice or default timezone. A write action — confirm with the user before calling.

## URLs
- Agent card: https://skedcast.com/.well-known/agent-card.json
- Page (HTML): https://agenstry.com/agents/skedcast.com
- Documentation: https://skedcast.com/developers
