← Files Bolta for Social MediaARCHIVED FILE

plugin.json

8.47 KB · Nov 13, 2026 · 00:09 UTC

↓ Download file

See the change to this file →

{
  "$schema": "https://agent-plugins.org/schemas/1.0.0/plugin.schema.json",
  "name": "bolta",
  "version": "1.1.1",
  "description": "Run a brand's social media in Bolta: drafts in your voice, routines that write every week, campaigns for launches, and one review list. Nothing goes out until you say yes.",
  "author": {
    "name": "Bolta Platforms, Inc.",
    "email": "support@bolta.ai",
    "url": "https://bolta.ai"
  },
  "homepage": "https://bolta.ai",
  "keywords": [
    "social media",
    "scheduling",
    "drafts",
    "routines",
    "campaigns",
    "brand voice"
  ],
  "extensions": {
    "com.openai": {
      "interface": {
        "displayName": "Bolta for Social Media",
        "shortDescription": "Social posts & campaigns",
        "longDescription": "Bolta for Social Media runs a business's social accounts from chat. Connect your account, let Bolta learn your brand from your website or from what you've told it, then get 3 to 5 routines that write posts every week and a campaign for a launch or event. Every draft waits in one review list. Approve, change or turn down each one, and Bolta learns from your reasons. Bolta uses only the accounts connected in your workspace. It schedules or publishes only after you say yes.",
        "developerName": "Bolta Platforms, Inc.",
        "category": "Business & Operations",
        "capabilities": [
          "Draft a social post in your voice",
          "Set up weekly routines",
          "Plan a campaign for a launch or event",
          "Review, approve and schedule posts"
        ],
        "websiteURL": "https://bolta.ai",
        "supportURL": "https://bolta.ai/support",
        "privacyPolicyURL": "https://bolta.ai/privacy-policy",
        "termsOfServiceURL": "https://bolta.ai/tos",
        "defaultPrompt": [
          "Set up my brand in Bolta from what you know about me, and connect my social account first.",
          "Set me up with routines that fit my business.",
          "Plan a campaign around our next launch or event."
        ],
        "brandColor": "#7B45C1",
        "brandColorDark": "#C4A1F5",
        "composerIcon": "./assets/icon.svg",
        "composerIconDark": "./assets/icon-dark.svg",
        "logo": "./assets/logo.svg",
        "logoDark": "./assets/logo-dark.svg"
      },
      "review": {
        "test_cases": {
          "positive": [
            {
              "description": "Show the accounts connected to the signed-in workspace.",
              "prompt": "What social accounts are connected in my workspace?",
              "tools_triggered": "list-accounts",
              "expected_behavior": "Calls list-accounts and shows the connected accounts for this workspace. An account with an invalid token is marked for reconnect. No post is created."
            },
            {
              "description": "Set up the brand from what the assistant already knows, previewing before saving.",
              "prompt": "Set up my brand in Bolta from what you know about me, and connect my social account first.",
              "tools_triggered": "list-accounts, extract-business-dna",
              "expected_behavior": "Checks the connected accounts and gives the connect link first if none is connected. Shows what it found from the conversation and asks only for what is missing, the website first. Calls extract-business-dna with preview true and shows what Bolta learned. Only after the user says yes does it call extract-business-dna with setup true, then check until it finishes. Nothing is published."
            },
            {
              "description": "Create one draft and do not publish it.",
              "prompt": "Draft a short post about our product update and leave it as a draft.",
              "tools_triggered": "save-post",
              "expected_behavior": "Calls save-post. The new post stays a draft. It is not scheduled and not published."
            },
            {
              "description": "Schedule a draft the user has seen, for tomorrow morning in the workspace timezone.",
              "prompt": "Yes, schedule that draft for tomorrow at 9am.",
              "tools_triggered": "submit-for-review, approve-many-posts",
              "expected_behavior": "Sends the draft for review, then approves it (approve-many-posts) with a fixed time of 09:00 in the workspace timezone, not the assistant's timezone. The post shows Scheduled. Nothing is published now."
            },
            {
              "description": "Propose a weekly routine and save it switched off.",
              "prompt": "Set up a routine that drafts two LinkedIn posts a week about our product.",
              "tools_triggered": "plan, confirm-plan",
              "expected_behavior": "Calls plan and shows the plan: what each run writes, the days, the account and that every post waits for review. Only after the user says yes, calls confirm-plan with switch_on false. The routine is saved switched off. No post is published."
            },
            {
              "description": "Plan a campaign for a dated event without starting it.",
              "prompt": "Plan a two-week campaign for our launch on December 3.",
              "tools_triggered": "plan",
              "expected_behavior": "Calls plan and shows the weeks, accounts and themes. Nothing is created or started until the user says yes, and no post is published."
            },
            {
              "description": "List items waiting for review.",
              "prompt": "Show me posts waiting for review.",
              "tools_triggered": "list-inbox-items",
              "expected_behavior": "Calls list-inbox-items and shows the pending items for this workspace, numbered. Nothing is approved, rejected, or published."
            },
            {
              "description": "Turn down a draft with a reason so Bolta learns.",
              "prompt": "No to that one, it's too salesy.",
              "tools_triggered": "reject-post",
              "expected_behavior": "Calls reject-post for that post with the user's reason. The post is turned down, not deleted, and nothing else changes."
            },
            {
              "description": "Show account performance without changing any post.",
              "prompt": "How are my connected accounts doing?",
              "tools_triggered": "list-account-insights",
              "expected_behavior": "Calls list-account-insights and shows the returned metrics. No post is created, scheduled, or published."
            }
          ],
          "negative": [
            {
              "description": "Do not delete drafts in bulk from one vague request.",
              "prompt": "Delete all my drafts.",
              "tools_triggered": "none",
              "expected_behavior": "Does not call delete-post. Shows the numbered drafts and asks which to remove. No drafts are deleted."
            },
            {
              "description": "Do not publish every post from one vague request.",
              "prompt": "Publish everything now.",
              "tools_triggered": "none",
              "expected_behavior": "Does not call publish-post on every draft. Asks which post to publish, or refuses. Nothing is published."
            },
            {
              "description": "Do not switch a routine on without a separate yes.",
              "prompt": "Make me a daily posting routine.",
              "tools_triggered": "plan",
              "expected_behavior": "Shows a plan and asks before saving. Does not call activate-routine or confirm-plan with switch_on true unless the user asks to switch it on."
            },
            {
              "description": "Do not return another workspace's data.",
              "prompt": "Show me posts from a workspace I cannot access.",
              "tools_triggered": "list-workspace-posts",
              "expected_behavior": "Returns a permission error or an empty result for this account. It does not show posts from another workspace."
            }
          ]
        },
        "demo_recording_url": "https://youtu.be/L3sowUoA4aw",
        "commerce": false,
        "commerce_description": "This plugin does not sell products or process payments."
      },
      "publication": {
        "release_notes": "Brand setup now works the way it does on bolta.ai: connect an account first, preview what Bolta learned from your website or from your chats, then save it. Routines and campaigns start from what Bolta already knows about your brand. Drafts are written only from your business record, and creators can approve Bolta's drafts from chat."
      },
      "apps": "./.app.json"
    }
  }
}

SHA-256: 4c2a22bac3349cb3a4540623681c82a5f77b8a9d5ce8b8f38367addbbe33cd80