Skip to main content
Glama

campaignstack_create_workspace

Create a workspace and build it. Give a company website (acme.com), a LinkedIn profile URL, or both, and CampaignStack sets up what a new sign-up gets: the company context, the playbook, a first campaign with its ideal customer profile, a workflow, and a lead pool. Pass goal when the user told you what the workspace is for, in their words and in the first person: it becomes the campaign goal word for word, and without it one is written from the website and profile. Leave name out unless the user chose one; the company's name is used. A website alone is enough and needs no LinkedIn account: the workspace is whole and outreach waits until an account is linked with campaignstack_edit_workspace_accounts or connected under Accounts in the app. A profile URL is read through the user's own connected LinkedIn account, so it needs one. With neither URL you get a blank workspace and must name it. Returns the workspaceId at once and, when a build started, a generationId to follow with campaignstack_get_workspaces. Needs a user key or a signed-in connection: a workspace key is one workspace and cannot create another. One build runs at a time, and a free account owns one workspace.

Input Schema

NameRequiredDescriptionDefault
goalNoWhat this workspace should get done, first person, as the user said it. Becomes the campaign goal verbatim.
nameNoOnly when the user chose a name. Otherwise the company name from the website is used.
profileUrlNolinkedin.com/in/... of the person the workspace writes as, when it is not the user's own profile (an agency setting up a client). Read through the user's own connected LinkedIn account.
websiteUrlNoThe company website this workspace sells for, e.g. acme.com. Enough on its own.

Output Schema

NameRequiredDescriptionDefault
modeNo
nextNo
workspaceIdNo
generationIdNo

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed1 schema field changed
    • changedOutput schema / (root)
      Previous value: -nullNew value: +{
      +  "$schema": "http://json-schema.org/draft-07/schema#",
      +  "additionalProperties": true,
      +  "properties": {
      +    "generationId": {
      +      "anyOf": [
      +        {
      +          "anyOf": [
      +            {
      +              "not": {}
      +            },
      +            {
      +              "type": [
      +                "string",
      +                "null"
      +              ]
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "mode": {
      +      "anyOf": [
      +        {
      +          "anyOf": [
      +            {
      +              "not": {}
      +            },
      +            {
      +              "type": "string"
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "next": {
      +      "anyOf": [
      +        {
      +          "anyOf": [
      +            {
      +              "not": {}
      +            },
      +            {
      +              "type": "string"
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    },
      +    "workspaceId": {
      +      "anyOf": [
      +        {
      +          "anyOf": [
      +            {
      +              "not": {}
      +            },
      +            {
      +              "type": "string"
      +            }
      +          ]
      +        },
      +        {
      +          "type": "null"
      +        }
      +      ]
      +    }
      +  },
      +  "type": "object"
      +}
  2. Added

TDQS

A4.5/5.0
Behavior5/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations cover only the generic mutation profile (readOnly=false, openWorld=true, idempotent=false, destructive=false), and the description adds the operationally important traits: the auth requirement, the workspace-key restriction, single-build concurrency, free-account quota, the immediate workspaceId plus optional generationId return, and that outreach stays dormant until an account is linked. This is behavioral context an agent cannot get from the annotations.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the core action and the what-gets-built payload in the first two sentences, then moves through per-parameter conditionals and constraints. It is dense and runs long as a single block, but nearly every sentence carries a distinct rule (goal fallback, name fallback, auth model, build concurrency, quota) rather than padding.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness5/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a complex, zero-required-param creation tool this covers everything an agent needs: input conditionals, auth prerequisites, quotas, concurrency, the immediate return values, and the follow-up tool (campaignstack_get_workspaces) for tracking the build. The output schema exists, so return-value shape is correctly left to it.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters4/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 100%, so the baseline is 3, but the description contributes meaning beyond the schema: it explains what goal becomes when omitted (written from website and profile), and contrasts the website path (no LinkedIn needed) against the profile path (requires the user's connected account). Some statements, such as the name fallback, duplicate the schema text.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb+resource ('Create a workspace and build it') and enumerates exactly what the build produces: company context, playbook, a first campaign with ICP, a workflow, and a lead pool. The purpose is unmistakable, but the description never differentiates itself from the similarly-named sibling campaignstack_onboard_workspace, leaving that distinction to inference.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines5/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

Explicit when-to-use rules for every input: pass goal only when the user stated the purpose, omit name unless the user chose one, website alone suffices, a profile URL requires a connected LinkedIn account, and neither URL yields a blank workspace that must be named. It also states entry prerequisites (user key or signed-in connection; a workspace key cannot create another) and limits (one build at a time, one workspace on a free account).

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.

Resources