Connect X to Fondoo

Live6 min readUpdated

Connecting X (formerly Twitter) lets Fondoo post to your business's X account. Your Fondoo agent can draft posts, schedule them in your posting windows, and read back likes and other numbers. Fondoo posts through its own Upload-Post account, so you sign in to X once and never handle an API key.

Posts without links work right away. A post that contains a link needs one of two extra setups, explained below: your own X developer key (x_byo), or Fondoo billing at a per-post charge.

What Fondoo can do with it

  • Post text, a single image, 2 to 4 images, or a video to your X account. Posts are limited to 280 characters. Threads are not supported on this connection.
  • Schedule posts in the time windows you set. Fondoo spaces posts out and enforces a daily cap.
  • Read stats for published posts (get_social_stats).
  • Cancel a post that has not gone out yet (cancel_post). Fondoo cannot delete an X post after it is published through Upload-Post. Delete it in X instead.

Links in X posts. Fondoo checks every post for links. It counts full URLs, bare domains such as example.com, short links, and anything with ://. If a post has a link, one of these must be true:

  1. You added your own X developer key to this X account. See the separate guide Connect your own X developer app (x_byo). X bills your developer account. Link posts sent this way must be text only (no images, no thread).
  2. You approve a Fondoo charge for that post. The current price is $0.50 per link post. The exact price comes from your plan and is shown in the preview. This needs pay-as-you-go turned on with a payment method (details below).

Never disguise a link (for example "example dot com") to avoid this rule. Remove the link or use one of the two options.

What needs your approval:

  • Linking your X account is done by you, in your browser.
  • By default every scheduled post waits for your OK. Only the owner can switch X to automatic publishing.
  • Each paid link post needs an explicit "I approve the charge" confirmation.
  • Turning on pay-as-you-go is owner-only and cannot be done by an agent over MCP.

Before you start

  • An X account you control. Any account type works for link-free posting.
  • A Fondoo workspace where you are the owner, with the site you want to post for.
  • For paid link posts only: an active paid Fondoo plan, a payment method on file (or prepaid balance), and pay-as-you-go turned on with a monthly cap. Paid link posts are not available on self-hosted Fondoo.
  • Cost: link-free posts are covered by your Fondoo plan. Paid link posts are charged only after the post is actually published. Upload-Post's shared allowance for link posts is limited each billing cycle. If it runs out, paid link posts are refused until the next cycle. Your own X key avoids this limit.

Step by step: authorize your account

You do not create any keys for this connection. You sign in to X on a secure page.

  1. Get your connection page. Ask your agent to connect X. It calls connect_social, which returns a secure link (see "Connect it in Fondoo" below).
  2. Open the link in a browser where you can sign in to X. The page is hosted by Upload-Post and titled "Connect" followed by your business name.
  3. Choose X. You are sent to X's authorization screen.
  4. Check that the account shown at the top is your business account. If it is your personal account, sign out of X first and repeat this step.
  5. Read the permissions X lists. The app needs to read your profile and posts and to create posts for you. Select Authorize app. The exact wording on X's screen may differ for your account.
  6. You are returned to the page you chose as the return address.
  7. Tell your agent you are done. It runs refresh_social_accounts to bring the X account into Fondoo.

Optional, for paid link posts: in Fondoo, open Settings, then Plan and usage. Use Manage billing to add a payment method. Under Monthly spending cap, tick Allow paid usage within this cap, enter a Cap in USD, and save. Paid link posts count toward this cap, including ones that are scheduled but not yet sent.

Connect it in Fondoo

(a) From the dashboard

  1. Open Connections in the left menu.
  2. In the Available card, find X under Social, or type "X" in Find a tool.
  3. Select Connect X, then Connect securely.

This link gives you signed setup instructions that are valid for 15 minutes. It does not open X's sign-in by itself. The X authorization page comes from connect_social, which your agent runs. Once linked, X shows in the Connected card with a Reconnect button.

To post from the dashboard, open Social and use New post. If your text contains a web address, a checkbox appears: "I approve the $0.50 charge for this X link post. My spending cap still applies." Schedule stays disabled until you tick it. The dashboard only spots addresses that start with http:// or https://. Bare domains are caught by the server when you schedule.

(b) By asking your agent

Example prompt:

Connect our X account to Fondoo for this site. Send me the authorization link. When I say done, refresh the accounts and show me what is connected.

The agent typically calls:

connect_service({ provider: "x", siteId })                    // read-only: setup steps + 15-minute link
connect_social({ siteId, provider: "upload_post", network: "x",
                 redirectUrl: "https://<a page to return to>" })   // returns { connectionId, url }
refresh_social_accounts({ siteId, connectionId })               // after you authorize
list_social_accounts({ siteId })                                // confirm the X account

Over MCP, agents use find_tools and call_tool({ name: "connect_social", args: { ... } }).

REST equivalent (every operation is a POST):

curl https://api.getfondoo.com/v1/ops/connect_social \
  -H "Authorization: Bearer $FONDOO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"siteId":"<site-uuid>","provider":"upload_post","network":"x","redirectUrl":"https://example.com/done"}'

Turn on X posting rules (owner only). Fondoo only schedules to networks listed in your distribution rules. X also needs a daily cap. Read the current rules with get_distribution_rules. Then, as the human owner, send the full list back with update_distribution_rules. The update replaces all rules, so keep your other networks in the list. Example X entry:

{ "network": "x", "cadence": 1, "formats": ["text", "image"], "approval": "review", "dailyCap": 5 }

Windows default to 09:00 to 17:00 UTC every day. Agents cannot change these rules or turn on automatic publishing.

Test that it works

  1. Run list_social_accounts({ siteId }). Your X account should appear with network: "x".
  2. Run get_publishing_capacity({ siteId }). The X row should show a number in remaining. If it shows requiresPlanConfiguration: true, set dailyCap as described above.
  3. Preview a link-free post with a dry run. Nothing is sent:
    { "siteId": "<site-uuid>", "variants": [{ "accountId": "<x-account-uuid>", "text": "Testing our new posting setup." }], "dryRun": true }
    Send that to schedule_social_posts. Check that platform_validation passed.
  4. Run it without dryRun, approve it on Home, and check get_post or Social after the scheduled time.
  5. To test links, add a link and preview again. The x_link check shows billing: "fondoo" or "customer_x_account", plus the cost.

Troubleshooting

  • "This post has a link: you'll be charged $0.50. Supply confirm_paid_x_link: true or connect your own X key." Remove the link, set confirm_paid_x_link: true (or tick the dashboard checkbox), or add your own key with the x_byo guide.
  • "Fondoo-billed X links require an active payment method and pay-as-you-go…" Add a payment method and turn on paid usage under Settings, then Plan and usage. Pay-as-you-go requires an active paid plan.
  • "Owner monthly cap reached for X link posts" or "Upload-Post X link quota exhausted…" You can raise your cap. The shared Upload-Post allowance resets each cycle. Your own X key avoids both limits.
  • "Configure the X daily cap… before scheduling." Add dailyCap to the X rule with update_distribution_rules.
  • "Enabled network not found" X is missing from your distribution rules. Add it as shown above.
  • X account missing after refresh. Make sure you finished X's authorization screen, and that you were signed in to the right account. Upload-Post hides accounts that need reauthorization. Use Reconnect or run connect_social again.

Limits, data and security

  • 280 characters per post. Up to 4 images, 5 MB each (Upload-Post limits recorded in Fondoo's code on 2026-10-21). One video per video post.
  • Daily volume depends on Upload-Post's per-account cap for your plan and the X dailyCap in your rules. Check get_publishing_capacity. Upload-Post's upload limits list caps per connected X profile.
  • Fondoo never sees your X password. The X sign-in is held by Upload-Post under Fondoo's account. Fondoo stores your account's handle and name, your posts, and their stats.
  • To disconnect, revoke the app under X's connected apps page. Then run refresh_social_accounts so Fondoo marks the account inactive.