Social

Connect a social account

social_connect · Changes data · Markdown

Connects one of the business's own social accounts as a channel: by a link for the owner, a login, or a code posted in a Telegram channel.

Free

This tool costs nothing to call.

An example

Connect our LinkedIn page so you can post there.

Your agent callssocial_connectFree

The example business is Halverson Cycle & Repair, a bike shop with a repair workshop in Portland, Oregon. The reply is the one the tool really gives.

With these arguments
{
  "network": "linkedin"
}
What comes back
{
  "connect_url": "https://api.conecto.chat/v1/connect/VBzK6OMxeVabXkt54Hxe5ayeFb9Mm7Vs0DiEpPHqjfM",
  "expires_in_minutes": 60,
  "how": "Give this link to the owner. It opens a page naming the business, with one button to sign in to the network and approve Conecto; it works once. social.channel_connected tells you when the channel is there, and social_channels lists it."
}

Use it when

An account should be posted to for the first time, or a channel needs connecting again.

What it does

Connect one of the business's own accounts as a channel. For a link network (LinkedIn, Mastodon, Discord, Slack, Facebook, Instagram...) you get connect_url: hand it to the owner, who approves Conecto on the network and sees "Channel connected"; social.channel_connected tells you, and social_channels lists it (the link works for an hour). For a login network pass the login: Bluesky (username and an app password), WordPress (service, username, application password), Medium, Dev.to and Hashnode (api_key), Lemmy (username, password), Nostr (password: the private key); it connects at once and the login is never kept by Conecto. service is a public https:// address. Telegram: call without code to get one; the owner adds Conecto's bot to the channel as an admin and posts "/connect <code>" there; then call with code. Only channels (groups can't be), and a channel connected to another Conecto account stays theirs. Or with the business's own bot: Telegram with bot_token (from @BotFather) and chat (@channel or the chat's number), the bot an admin of the channel or a member of the group, and posts come from their bot; Discord or Slack with webhook_url (a channel webhook), and posts carry its name and picture. Those are checked with the network at once, kept encrypted, and their channel_ids start with own_. Connecting again refreshes a channel that needs it. Free.

What comes back

For a link network: connect_url, a page naming the business with one button that starts the network's sign-in (it works once), and how many minutes it works. For a login network: connected, the new channel. For Telegram without a code: the code and the steps for the owner (add Conecto's bot to the channel as an admin and post "/connect <code>"); with the code: connected. Telegram connects channels only, not groups. With the business's own bot (Telegram, bot_token and chat) or a channel webhook (Discord or Slack, webhook_url): connected at once, a channel_id starting with own_, which posts from their bot or under the webhook's name. Every reply also carries cost_usd and balance_usd.

Inputs

NameTypeWhat it is
networkRequiredstringOne of: bluesky,devto,discord,dribbble,facebook,gmb,hashnode,instagram,instagram-standalone,kick,lemmy,linkedin,linkedin-page,mastodon,medium,mewe,nostr,pinterest,reddit,slack,telegram,threads,tiktok,tiktok-business,tumblr,twitch,vk,whop,wordpress,x,youtube,listmonk,moltbook,skool,wrapcast.
servicestringThe server or site address, for networks that have one. Up to 300 characters.
usernamestringUp to 200 characters.
passwordstringUp to 500 characters.
api_keystringUp to 500 characters.
codestringTelegram: the code social_connect gave, once the owner posted it. Matches ^[0-9a-f]{12}$.
bot_tokenstringTelegram: the business's own bot's token, from @BotFather. Up to 100 characters.
chatstringTelegram, with bot_token: the channel (@name) or the chat's number. Up to 40 characters.
webhook_urlstringDiscord or Slack: a channel's webhook address. Up to 500 characters.

The call

Over MCP, call social_connect on https://api.conecto.chat/mcp/social. Over REST:

Terminal
curl -X POST https://api.conecto.chat/v1/tools/social_connect \
  -H "Authorization: Bearer $CONECTO_KEY" \
  -H "Content-Type: application/json" \
  -d '{"network":"linkedin"}'

When it refuses

A refused call costs nothing and says what to do next.

CodeWhenWhat to do
network_off409The network is not switched on for Conecto yet.Call social_networks and pick one that is enabled.
not_supported400The network connects in a way the tools do not offer (Farcaster, Moltbook, Skool, Listmonk).Pick another network from social_networks.
invalid_input400A login field is missing, service is not a public https:// address, or the Telegram code was not given to this business.Send the fields the message names; for Telegram, call without code to get a new one.
login_failed422The network refused the login.Check the username and app password with the owner.
not_yet409Telegram has not seen "/connect <code>" in the chat yet.Ask the owner to add the bot as an admin and post the code, then call again with code.
not_a_channel409The code was posted in a Telegram group, where any member could have posted it.Ask the owner to post it in a channel, where only admins post.
chat_taken409That Telegram channel is connected to another Conecto account.Its owner disconnects it there first; or connect another channel.
credentials_refused422Telegram refused the bot token or doesn't know the chat, or Discord or Slack doesn't accept the webhook.Ask the owner for the token from @BotFather and the chat, or a new webhook from the channel's settings.
bot_cannot_post409The business's own bot is not an admin of the Telegram channel with the right to post, or not a member of the group who may send messages.Ask the owner to add the bot with that right, then call again.
not_found404No network has that name.Call social_networks and use one of its ids.
not_switched_on503Social posting is not switched on yet.Try again later; nothing was charged.
social_unavailable503The posting service or Telegram did not answer, or the business's social workspace could not be opened.Call again in a minute; when the message says so, tell Conecto's support.
refused400The posting service refused the request; the message gives its reason.Fix what the reason names, then call again.
refused422The posting service reported a conflict with what is there.Read the channel or post again, then call again.
rate_limited429The posting service's limit of posts an hour was reached.Try again later.

Give this to your agent.

Set up Conecto from https://conecto.chat/SKILL.md