Account groups list account groups
List groups
Zernio is a social media management API for scheduling posts, pulling analytics, managing inbox conversations and running ads across 14+ platforms including Facebook, Instagram, LinkedIn, TikTok, X, YouTube, Reddit, Pinterest, WhatsApp Business and Telegram.
List groups
Get account details for a specific platform. Returns username and ID for the first account matching the platform.
Check account health
Check accounts health
Get follower stats
List all connected social media accounts. Returns the platform, username, and account ID for each connected account. Use this to find account IDs needed for creating posts.
Move account to another profile
Get post analytics
Get best times to post
Get daily aggregated metrics Args: platform: Filter by platform (e.g. "instagram", "tiktok"). Omit for all platforms. profile_id: Filter by profile ID. Omit for all profiles. account_id: Filter by account ID from_date: Inclusive start date (ISO 8601). Defaults to 180 days ago. to_date: Inclusive end date (ISO 8601). Defaults to now. source: Filter by post origin. "late" for posts published via Zernio, "external" for posts imported from platforms. attribution: How each post's engagement is attributed to a day. "publish" (default) sums each post's lifetime total on its publish date. "received" buckets the per-day increase in engagement by the day it actually arrived (engagement-over-time), so engagement on older posts appears on the day it was gained rather than the post's publish date.
Get post analytics timeline Args: post_id: The post to fetch timeline for. Accepts an ExternalPost ID, a platformPostId, or a Zernio Post ID. (required) from_date: Start of date range (ISO 8601). Defaults to 90 days ago. to_date: End of date range (ISO 8601). Defaults to now.
Call a tool by name with the given arguments. Use this to execute tools discovered via search_tools.
Get post comments
List commented posts
Reply to comment
Search across the Late API documentation to find relevant information, code examples, API references, and guides. Use this tool when you need to answer questions about Late, find specific documentation, understand how features work, or locate implementation details. The search returns contextual content with section titles and relevant snippets.
Check the status of an upload token and get uploaded file URLs. Use this after the user has uploaded files through the browser upload page. Returns: pending (waiting for upload), completed (files ready), or expired (token expired).
Generate a unique upload URL for the user to upload files via browser. Use this when the user wants to include images or videos in their post. The flow is: 1. Call this tool to get an upload URL 2. Ask the user to open the URL in their browser 3. User uploads files through the web interface 4. Call media_check_upload_status to get the uploaded file URLs 5. Use those URLs when creating the post with posts_create
List mentions
Reply to a mention
Bulk upload from CSV Args: dry_run
Create a social media post. Can be saved as DRAFT, SCHEDULED, or PUBLISHED immediately. ⚠️ IMPORTANT - Choose the correct mode based on user intent: **DRAFT MODE (is_draft=True)** Use when user says: "draft", "borrador", "save for later", "don't publish", "save it", "guardar" → Post is saved but NOT published and NOT scheduled. User can edit it later. **IMMEDIATE MODE (publish_now=True)** Use when user says: "publish now", "post now", "publica ya", "immediately", "right now", "ahora" → Post goes live IMMEDIATELY. **SCHEDULED MODE (default)** Use when user says: "schedule", "programar", "in X minutes/hours", "at 3pm", "tomorrow" → Post is scheduled for future publication. Use schedule_minutes to set the delay. ⚠️ MULTI-ACCOUNT USERS (agencies, multi-client setups): If the user has more than one account on the target platform, you MUST pass `account_id`. Call `accounts_list` (or `profiles_list` then `accounts_list`) first to discover the right ID. If you omit account_id when multiple accounts exist, the tool returns an error listing the candidates - use it to retry. Examples: - "Create a draft tweet" → is_draft=True - "Post this to Twitter now" → publish_now=True - "Schedule a LinkedIn post for 2 hours from now" → schedule_minutes=120 - "Post this to Acme's Twitter" → call accounts_list, find Acme's twitter ID, pass account_id
Post the same content to multiple platforms at once. ⚠️ IMPORTANT - Choose the correct mode based on user intent: **DRAFT MODE (is_draft=True)** Use when user says: "draft", "borrador", "save for later", "don't publish" → Posts are saved but NOT published. User can edit them later. **IMMEDIATE MODE (publish_now=True)** Use when user says: "publish now", "post now", "immediately" → Posts go live IMMEDIATELY on all platforms. **SCHEDULED MODE (default)** Use when user says: "schedule", "programar", "in X hours" → Posts are scheduled for 1 hour from now. ⚠️ MULTI-ACCOUNT USERS: - To pick a specific account per platform, pass `account_ids` parallel to `platforms` (same order, comma-separated). Use empty string for a position to fall back to profile/auto-resolution. - To target multiple accounts of the SAME platform in one call, repeat the platform: platforms='twitter,twitter', account_ids='acc_a,acc_b'. - If you omit account_ids and the user has multiple accounts for any of the requested platforms, the tool errors with the candidate list - use it to retry.
Delete a post by ID. Published posts cannot be deleted.
Edit published post
Get full details of a specific post including content, status, and scheduling info.
List posts with optional filtering by status. Status options: draft, scheduled, published, failed
List all failed posts that can be retried.
Publish a post immediately to a platform. The post goes live right away. Use this when user explicitly wants to publish NOW, not schedule for later. This is a convenience wrapper around posts_create with publish_now=True. ⚠️ MULTI-ACCOUNT USERS: pass `account_id` when the user has more than one account on this platform. Call `accounts_list` first to find the right ID.
Retry publishing a failed post. Only works on posts with 'failed' status.
Retry all failed posts at once.
Unpublish post
Update an existing post. Only draft, scheduled, and failed posts can be updated. Published posts cannot be modified.
Create a new profile for grouping social accounts.
Delete a profile. The profile must have no connected accounts.
Get details of a specific profile including name, description, and color.
List all profiles. Profiles group multiple social accounts together for easier management.
Update an existing profile. Only provided fields will be changed.
Create schedule
Delete schedule
Get next available slot
List schedules
Preview upcoming slots
Update schedule
Search for tools using natural language. Returns matching tool definitions ranked by relevance, in the same format as list_tools.
Get aggregated event stats
List tracking tags
Usage snapshot (default) or billed-spend metering (with params) Args: reconcile: Snapshot mode only. For Stripe subscription users, `true` forces a subscription reconciliation pass even when cached plan data looks complete. range: Window to report. `cycle` / `prev-cycle` resolve to the customer's real billing-period bounds (falling back to a trailing 30 days when no invoice exists yet); `7d`…`12mo` are trailing windows; `custom` uses `from` / `to`. from_: Inclusive start (UTC date). Required when `range=custom`. to: Inclusive end (UTC date). Required when `range=custom`. Max span 366 days. granularity: Bucketing of the `days` series: `day` (one row per UTC day), `month` (one row per calendar month, dated to the 1st), or `total` (no series, read `totals`). Does not affect `totals`. group_by: Metering mode. Adds `attribution`: the window's spend split per profile or per account (keys are ids; resolve names via `GET /v1/profiles` / `GET /v1/accounts`). profile_id: Metering mode (pair with `range`). Project the payload onto this profile's attributed share. Mutually exclusive with `accountId`, and `groupBy` (if given) must be `profile`; 404 when the profile is not in your team (or outside a scoped key's profiles). account_id: Metering mode (pair with `range`). Project the payload onto this account's attributed share. Mutually exclusive with `profileId`, and `groupBy` (if given) must be `account`; 404 when the account is not visible to the caller.
Validate media URL
Validate post content
Validate character count
Show an overview of what this Zernio MCP server can do (accounts, posts, analytics, ads, inbox) and how to find the right tool.
The Zernio MCP integration connects your Dench AI CRM directly to Zernio MCP, so agents can read and act on your Zernio MCP data as part of everyday work — answering questions in chat, keeping your CRM in sync, and running automations without anyone copying data between tools.
52 actions are available for agents to invoke on your behalf. Every call runs through Zernio MCP's own authorization, scoped to the account you connect.
Sign in to your Dench workspace and open Integrations.
Find Zernio MCP and click Connect — you'll authorize access through Zernio MCP's own sign-in flow. No API keys or code required.
Ask an agent to use Zernio MCP in chat, or call it from an automation.
Manage or disconnect the connection any time from workspace settings.
The Dench Zernio MCP integration connects your AI CRM to Zernio MCP, so AI agents can work with your Zernio MCP data as part of chats, automations, and CRM workflows. You connect your account once, and every agent in your workspace can use it — governed by your workspace permissions.
The Zernio MCP integration currently exposes 52 actions, including Account groups list account groups, Accounts get, Accounts get account health, Accounts get all accounts health, Accounts get follower stats, and Accounts list. Agents invoke them on your behalf from chat or from automations.
No. You connect Zernio MCP from your Dench workspace using Zernio MCP's own sign-in and authorization flow — no API keys to copy, no glue code to maintain.
Connections are authorized through Zernio MCP's own authentication flow, and Dench stores only the authorization needed to act on your behalf. You can review and disconnect the Zernio MCP connection from your workspace settings at any time.