generate_linkedin_carousel_textGenerate LinkedIn carousel text
Generate scrubbed titles and body copy for three to eight carousel slides; this does not render, download, or publish a PDF.
Authorization and permissions
Requires a valid delegated OAuth token and access to the selected workspace.
- OAuth scope
mcp:ai- Workspace requirement
- Authorized workspace and current membership required
Current workspace member; mcp:ai scope, workspace AI quota, and MCP AI rate limit apply.
Input schema
{
"additionalProperties": false,
"properties": {
"slide_count": {
"default": 5,
"description": "Exact slide count.",
"maximum": 8,
"minimum": 3,
"type": "integer"
},
"team_id": {
"description": "Consented workspace ID.",
"minimum": 1,
"type": "integer"
},
"topic": {
"description": "Carousel topic and supporting facts.",
"maxLength": 3000,
"minLength": 10,
"type": "string"
}
},
"required": [
"team_id",
"topic"
],
"type": "object"
}Result schema
{
"additionalProperties": false,
"properties": {
"slides": {
"description": "Slides.",
"items": {
"additionalProperties": false,
"description": "Slides item.",
"properties": {
"body": {
"description": "Body.",
"maxLength": 600,
"minLength": 1,
"type": "string"
},
"title": {
"description": "Title.",
"maxLength": 90,
"minLength": 1,
"type": "string"
}
},
"required": [
"title",
"body"
],
"type": "object"
},
"maxItems": 8,
"minItems": 3,
"type": "array"
}
},
"required": [
"slides"
],
"type": "object"
}Example arguments
{
"slide_count": 3,
"team_id": 42,
"topic": "A practical framework for better customer interviews"
}Example result
{
"slides": [
{
"body": "Start with a recent real event, not a hypothetical future.",
"title": "Ask better questions"
},
{
"body": "Ask what happened next and what the customer actually did.",
"title": "Follow the evidence"
},
{
"body": "Replace one leading question with a request for a concrete example.",
"title": "Your next interview"
}
]
}Errors and retry
Topic/count limits are enforced; malformed slides and titles over 90 or bodies over 600 characters are rejected.
The provider call is not idempotent. After a provider or ambiguous failure, retry only if another generation is acceptable.
Effects, limits, and source
Workspace roles, subscription and AI usage limits, approval rules, and server rate limits are enforced at call time. Rate-limit responses identify when to retry; scheduled work returns state rather than holding the request open.
free_tools.carousel_generator.services.generate