Skip to content

Meta Threads

OpenQuok MCP examples for Meta Threads — scheduled posts, reply chains, cross-account comments, and provider tools.

3 min read

Connect your agent today

Draft from chat, review in your calendar, and publish only what you approve.

Start for $0

Channel quick reference

PropertyValue
Provider identifierthreads
Max content length500 characters
Required attachmentsNone — text-only posts publish
OAuth setupMeta Threads

Schedule a single post

Schedule a post to my Threads account tomorrow at 2pm UTC saying “Hello from my AI assistant” — use integrationList first to find the right channel ID.

The agent should:

  1. Call integrationList and pick the Threads channel.
  2. Optionally call integrationSchema with platform: threads to check character limits.
  3. Call schedulePostTool with type: schedule and an ISO date.
{
  "type": "schedule",
  "date": "2026-06-27T14:00:00.000Z",
  "socialPost": [
    {
      "integration": "<threads-integration-id>",
      "postsAndComments": ["Hello from my AI assistant"]
    }
  ]
}

Reply chain (thread)

Draft a three-part Threads thread on my connected account: hook, detail, and call to action.

{
  "type": "draft",
  "socialPost": [
    {
      "integration": "<threads-integration-id>",
      "postsAndComments": [
        "Here is the hook.",
        "Here is the supporting detail.",
        "What do you think? Reply below."
      ]
    }
  ]
}

The adapter maps additional postsAndComments entries to Threads reply chains automatically.

Cross-account comment from another Threads channel

Schedule a Threads post from my brand account tomorrow at 10am with body “Main thread from our brand account” — then have my other Threads account comment “Great thread — sharing from our other account.” two minutes after publish. Use integrationList to find both channel IDs.

Cross-account comments belong in settings on the publishing channel — not as extra postsAndComments strings. List acting channel UUIDs in integrationIds inside threads.crossAccountPlugs:

{
  "type": "schedule",
  "date": "2026-06-27T10:00:00.000Z",
  "socialPost": [
    {
      "integration": "<threads-publish-integration-id>",
      "postsAndComments": ["Main thread from our brand account"],
      "settings": {
        "threads": {
          "crossAccountPlugs": [
            {
              "plugName": "threads-cross-account-comment",
              "enabled": true,
              "delayMs": 120000,
              "integrationIds": ["<threads-other-integration-id>"],
              "fields": {
                "comment": "Great thread — sharing from our other account."
              }
            }
          ]
        }
      }
    }
  ]
}

Trigger a provider tool

On my Threads integration, run the allow-listed tool to refresh channel metadata.

  1. Call integrationSchema with platform: threads and read the tools array.
  2. Call triggerTool:
{
  "integration": "<threads-integration-id>",
  "methodName": "<method-from-schema>",
  "data": {}
}

Global plug (likes threshold)

On my Threads channel, create a global plug that replies “Thanks for reading!” when a post gets 100 likes — use integrationList first.

Global plugs are channel-level rules that fire when a published post’s likes reach a threshold. OpenQuok checks every six hours, up to three times per post.

  1. Call integrationList and pick the Threads channel UUID.
  2. Call plugsCatalog and read the autoPlugPost field names for threads.
  3. Call plugsUpsert:
{
  "integrationId": "<threads-integration-id>",
  "func": "autoPlugPost",
  "fields": [
    { "name": "likesAmount", "value": "100" },
    { "name": "post", "value": "Thanks for reading — like and follow for more!" }
  ]
}

Pause or delete a global rule

Disable the global plug with id abc123 on my workspace.

{
  "plugId": "<plug-id>",
  "activated": false
}

Call plugsActivate with activated: true to re-enable. Call plugsDelete to remove the row permanently.

Search documentation
Find a docs page
Discord Support