Skip to main content

integrationList

List all connected social media accounts (channels) for your organization. Parameters:
FieldTypeRequiredDescription
groupstringNoGroup (customer) ID from groupList. When provided, only channels belonging to that group are returned
Returns:
FieldTypeDescription
idstringIntegration ID (use this when scheduling posts)
namestringDisplay name of the account
picturestringProfile picture URL
platformstringPlatform identifier (e.g., x, linkedin, facebook)
customerobjectThe group (customer) this channel belongs to, as { id, name } — omitted if the channel is not assigned to a group

groupList

List all groups (customers) for your organization. Use a group’s id with integrationList to filter channels down to a single group. Parameters: None Returns:
FieldTypeDescription
idstringGroup (customer) ID (pass to integrationList as group)
namestringGroup (customer) display name

integrationSchema

Get the posting rules, character limits, required settings, and available helper tools for a specific platform. Call this before scheduling a post to understand what the platform expects. Parameters:
FieldTypeRequiredDescription
isPremiumbooleanYesWhether the user has a premium subscription
platformstringYesPlatform identifier (e.g., x, linkedin, reddit, discord)
Returns:
FieldTypeDescription
rulesstringPlatform-specific posting rules and best practices
maxLengthnumberMaximum character length for posts
settingsobjectJSON schema of required settings for this platform
toolsarrayPlatform-specific helper tools (see triggerTool)
The tools array contains helper functions specific to the platform. For example, Discord returns a tool to list available channels, Reddit returns a tool to search for subreddits, and LinkedIn Page returns a tool to list pages. Each tool in the array has:
FieldTypeDescription
methodNamestringFunction name to pass to triggerTool
descriptionstringWhat the tool does
dataSchemaarrayParameters the tool accepts

triggerTool

Execute a platform-specific helper function. These are discovered through integrationSchema and are used to fetch dynamic data like channel lists, subreddit suggestions, or page IDs. Parameters:
FieldTypeRequiredDescription
integrationIdstringYesThe integration ID from integrationList
methodNamestringYesThe function name from integrationSchema tools
dataSchemaarrayYesKey-value pairs of parameters for the function
Each item in dataSchema:
FieldTypeDescription
keystringParameter name
valuestringParameter value
Example use cases:
  • Get the list of Discord channels for a server
  • Search for Reddit subreddits
  • List LinkedIn pages you manage
  • Get Facebook page options
  • Search Instagram audio (audioSearch) to attach to a Reel — only on Facebook Business-linked Instagram channels

schedulePostTool

Schedule, draft, or immediately publish posts to social media platforms. This is the main tool for creating content. Parameters:
FieldTypeRequiredDescription
socialPostarrayYesArray of posts to create
Each item in socialPost:
FieldTypeRequiredDescription
integrationIdstringYesIntegration ID from integrationList
isPremiumbooleanYesWhether the user has premium
datestringYesUTC datetime (e.g., 2025-01-15T10:00:00.000Z)
shortLinkbooleanYesWhether to shorten links in the post
typestringYesdraft, schedule, or now
postsAndCommentsarrayYesThe post content and optional comments
settingsarrayYesPlatform-specific settings from integrationSchema
Each item in postsAndComments:
FieldTypeDescription
contentstringHTML content (see formatting rules below)
attachmentsarrayArray of image/media URLs
Each item in settings:
FieldTypeDescription
keystringSetting name
valueanySetting value (prefer IDs over labels when available)

Content Formatting

Content must be HTML with these allowed tags only:
TagUsage
<p>Wrap each line
<h1>, <h2>, <h3>Headings
<strong>Bold text
<u>Underlined text
<ul>, <li>Lists
You cannot combine <u> and <strong> in the same element. Each line of text must be wrapped in <p> tags.

Posts vs Comments

The postsAndComments array behavior depends on the platform:
  • Thread-based platforms (X, Threads, Bluesky): Each array item becomes a separate post in a thread
  • Comment-based platforms (LinkedIn, Facebook): First item is the post, remaining items are comments

Multiple Posts

To schedule multiple posts (e.g., 20 posts across different days), add multiple items to the socialPost array — each with its own date and integrationId. Returns:
FieldTypeDescription
postIdstringThe created post ID
integrationstringThe integration it was posted to
If validation fails, returns { errors: string } with details about what went wrong (e.g., content exceeds character limit).

generateImageTool

Generate an AI image to use as a post attachment. Parameters:
FieldTypeRequiredDescription
promptstringYesDescription of the image to generate
Returns:
FieldTypeDescription
idstringMedia ID
pathstringURL of the generated image
Use the returned path in the attachments array when scheduling a post.

generateVideoOptions

List all available video generation types and their required parameters. Parameters: None Returns: An array of video generators, each with:
FieldTypeDescription
typestringVideo type identifier (e.g., image-text-slides, veo3)
outputstringSupported orientations: vertical|horizontal
toolsarrayHelper functions (call with videoFunctionTool)
customParamsobjectJSON schema of required parameters

Available Video Types

TypeDescriptionRequirements
Image Text SlidesSlide-based videos with text-to-speechprompt, voice (get voice ID via videoFunctionTool)
Veo3AI-generated video with audioprompt, optional images (max 3)

videoFunctionTool

Execute helper functions for video generators. Use this to fetch required data before generating a video (e.g., listing available voices). Parameters:
FieldTypeRequiredDescription
identifierstringYesVideo type identifier from generateVideoOptions
functionNamestringYesFunction name from the video type’s tools array
Example: Call with identifier: "image-text-slides" and functionName: "loadVoices" to get available ElevenLabs voice IDs.

generateVideoTool

Generate a video to use as a post attachment. Parameters:
FieldTypeRequiredDescription
identifierstringYesVideo type from generateVideoOptions
outputstringYesvertical or horizontal
customParamsarrayYesKey-value pairs of parameters for the video type
Each item in customParams:
FieldTypeDescription
keystringParameter name
valueanyParameter value
Returns:
FieldTypeDescription
urlstringURL of the generated video
Use the returned url in the attachments array when scheduling a post.