Connect a social account
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.
{
"network": "linkedin"
}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
| Name | Type | What it is |
|---|---|---|
networkRequired | string | One 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. |
service | string | The server or site address, for networks that have one. Up to 300 characters. |
username | string | Up to 200 characters. |
password | string | Up to 500 characters. |
api_key | string | Up to 500 characters. |
code | string | Telegram: the code social_connect gave, once the owner posted it. Matches ^[0-9a-f]{12}$. |
bot_token | string | Telegram: the business's own bot's token, from @BotFather. Up to 100 characters. |
chat | string | Telegram, with bot_token: the channel (@name) or the chat's number. Up to 40 characters. |
webhook_url | string | Discord 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:
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.
| Code | When | What to do |
|---|---|---|
network_off409 | The network is not switched on for Conecto yet. | Call social_networks and pick one that is enabled. |
not_supported400 | The network connects in a way the tools do not offer (Farcaster, Moltbook, Skool, Listmonk). | Pick another network from social_networks. |
invalid_input400 | A 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_failed422 | The network refused the login. | Check the username and app password with the owner. |
not_yet409 | Telegram 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_channel409 | The 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_taken409 | That Telegram channel is connected to another Conecto account. | Its owner disconnects it there first; or connect another channel. |
credentials_refused422 | Telegram 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_post409 | The 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_found404 | No network has that name. | Call social_networks and use one of its ids. |
not_switched_on503 | Social posting is not switched on yet. | Try again later; nothing was charged. |
social_unavailable503 | The 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. |
refused400 | The posting service refused the request; the message gives its reason. | Fix what the reason names, then call again. |
refused422 | The posting service reported a conflict with what is there. | Read the channel or post again, then call again. |
rate_limited429 | The posting service's limit of posts an hour was reached. | Try again later. |
More Social tools
All 13 tools- List the social networks
social_networksEvery network the business can post to, how each connects (a link, a login, Telegram's code, or its own bot or webhook), and whether it is switched on yet.Free* - List the connected channels
social_channelsThe business's connected social accounts (channels), with their network, name and profile.Free* - Read a channel's rules
social_channel_rulesWhat a channel's network accepts: lengths, media counts, the settings a post needs, and its lookups.Free* - Look something up on a channel
social_channel_lookupRuns one of a channel's lookups, like the channels of a Discord server or the boards on Pinterest.Free* - Find a free time to post
social_find_slotThe next free time to post on a channel, from its posting times and what is already scheduled.Free* - Post to social channels
social_postPosts now or at a set time to one or several channels, with pictures, video or a thread.$0.02 per channel posted to - Read a post waiting for its owner
social_post_checkReads a TikTok post waiting for its owner, with what to show and ask them from TikTok just now.Free* - Answer for the owner of a post
social_confirm_postPosts a TikTok post waiting for its owner with the choices they made in your chat, or drops it.Free
Give this to your agent.
Set up Conecto from https://conecto.chat/SKILL.md