Connect LinkedIn to Fondoo
Connecting LinkedIn lets your business publish posts to your personal LinkedIn profile or to a company Page you administer. Your AI agent can draft and schedule text, image and video posts, and you approve them before they go live. Fondoo publishes through its own Upload-Post account, so you do not need to apply for LinkedIn's developer programs.
What Fondoo can do with it
- Publish posts: text posts, single images, multi-image posts (up to 20 images of 10 MB or less) and a single video. Fondoo allows up to 3,000 characters.
- Choose where posts go: your member profile by default, or a company Page you administer (see "Post as a company Page" below).
- Draft and schedule:
draft_social_posts(one AI post unit per idea),save_social_draftandschedule_social_posts. - Track links: web links become Fondoo tracked links with UTM tags.
- Stats:
get_social_statsreturns the numbers Upload-Post reports. Upload-Post says LinkedIn only exposes analytics for company Pages, so posts on a personal profile may have no stats. - Plan:
get_social_calendar,get_post,get_publishing_capacity.
What needs your approval:
- By default every LinkedIn post needs the owner's approval. When the agent calls
approve_social_posts, it creates a request in your approval queue. - Only the owner can change posting rules (
update_distribution_rules) or account settings (configure_social_account). - Fondoo cannot delete a published LinkedIn post. Delete it on LinkedIn.
cancel_poststops posts that have not gone out yet.
Before you start
- A LinkedIn account in good standing. Use the account of the person who should appear as the author, or who administers the company Page.
- For company Page posts: you need the Super admin or Content admin role on the Page. Both can create posts as the Page (LinkedIn Page admin roles). Super admins manage roles under the Page's admin settings (Settings → Manage admins).
- Cost: LinkedIn charges nothing for organic posts. Posting is part of your Fondoo plan. Your plan sets how many social sets you can have (Builder and Launch: one, Growth: three, Agency: ten), with one account per network in each set.
Step by step: get your credentials
There is no key to copy. You sign in to LinkedIn and approve access.
- Sign in to LinkedIn in your browser as the right person.
- Open the authorization link Fondoo gives you (next section). It is an Upload-Post page branded with your business name.
- Choose LinkedIn and approve the permissions on LinkedIn's consent screen. Accept all of them; organization posting needs the Page-related permissions.
- LinkedIn shows no Page chooser during sign-in. Right after connecting, Upload-Post's page may offer to "pin" a company Page so every post goes to that Page (Pin a LinkedIn Page). Pick your Page there if you want company posts. This step may differ for your account.
- You return to the address Fondoo set. Nothing needs to be pasted.
Connect it in Fondoo
(a) In the dashboard
- Open Connections → Available → Social → LinkedIn.
- Click Connect LinkedIn, then Connect securely. This is a signed setup link valid for 15 minutes. It shows instructions and carries no credentials.
- Ask your agent to create the authorization page, or call
connect_socialyourself.
(b) By asking your agent
Connect LinkedIn for the main site so we can post as our company Page. Send me the link, then refresh and tell me which account is connected.
connect_service({provider:"linkedin", siteId:"YOUR-SITE-UUID"})
connect_social({siteId:"YOUR-SITE-UUID", provider:"upload_post", network:"linkedin",
redirectUrl:"https://your-site.example/connected"})
-> { connectionId, url }
refresh_social_accounts({siteId:"YOUR-SITE-UUID", connectionId:"CONNECTION-UUID"})
list_social_accounts({siteId:"YOUR-SITE-UUID"})REST equivalent:
curl -X POST https://api.getfondoo.com/v1/ops/connect_social \
-H "Authorization: Bearer $FONDOO_API_KEY" \
-H "Content-Type: application/json" \
-d '{"siteId":"YOUR-SITE-UUID","provider":"upload_post","network":"linkedin","redirectUrl":"https://your-site.example/connected"}'LinkedIn uses sign-in, so add_connection_key and test_connection do not apply. refresh_social_accounts is the check.
Post as a company Page. If you did not pin a Page in step 4, the owner can set the Page with configure_social_account({siteId, accountId, settings:{target_linkedin_page_id:"PAGE-ID"}}). The Page ID is the number in your Page's admin URL; this may differ for your account. A pinned Page in Upload-Post always wins over this setting.
Turn LinkedIn on. The owner adds LinkedIn to the posting rules with update_distribution_rules. Defaults are one post per day, 09:00 to 17:00 UTC, text only, review approval. Add image, carousel or video to formats for media posts, and raise cadence if you post more often.
Test that it works
list_social_accountsshould list the LinkedIn account by name.- Save a short test post with
save_social_draftand schedule it withschedule_social_posts. - Approve it in your queue. When it is due,
get_postshould showpublishedand a link. - Open the link and check it appeared on the profile or Page you expected.
Troubleshooting
- Post appeared on your personal profile, not the Page: no Page is pinned and
target_linkedin_page_idis not set. Pin the Page or set it (see above). - Page posting fails: your LinkedIn role is not Super admin or Content admin. Ask a Super admin to change your role, then reconnect.
- "Enable linkedin in distribution rules first": the owner has not enabled LinkedIn yet.
- "Daily cadence reached" or "linkedin daily publishing cap reached": cadence is your own per-day setting. The hard default cap is 150 posts per UTC day, matching Upload-Post's 150 per rolling 24 hours (upload limits).
- No stats: LinkedIn only reports analytics for company Pages.
- Account missing after refresh: the connection needs reauthorization (LinkedIn tokens can expire or be revoked). Run
connect_socialagain.
Limits, data and security
- Limits: 3,000 characters, 20 images per post, 10 MB per image, 150 posts per day. Upload-Post lists video up to 5 GB and 10 minutes. Near-duplicate posts within 48 hours are rejected, and Fondoo blocks near-identical text across different LinkedIn accounts.
- Retries: five automatic attempts with growing waits, then an alert.
- What Fondoo stores: the account ID and name, any Page setting, your posts, schedules, results and stats. The LinkedIn access token is held by Upload-Post, not Fondoo.
- Disconnect: in LinkedIn, open Settings & Privacy → Data privacy and look for permitted services or other applications, then remove Upload-Post. Labels may differ. Then run
refresh_social_accountsto mark the account inactive. Cancel pending posts withcancel_postfirst.
Official links
- LinkedIn Page admin roles: https://www.linkedin.com/help/linkedin/answer/a541981
- LinkedIn Page admin permissions: https://www.linkedin.com/help/linkedin/answer/a550647
- Upload-Post LinkedIn guide: https://docs.upload-post.com/guides/post-to-linkedin-api
- Upload-Post LinkedIn Page pinning: https://docs.upload-post.com/api/linkedin-page
- Upload-Post upload limits: https://docs.upload-post.com/guides/limit-of-uploads
