Integrations
Connect your own publishing accounts in Settings → Accounts. X, Bluesky, Mastodon, Pixelfed, Telegram, Tumblr, WordPress, Ghost, DEV, Whop, Buttondown, TikTok, LinkedIn, and Threads are open. X, Tumblr, Bluesky, Mastodon and Pixelfed use OAuth; Telegram uses your bot token and channel ID; Whop uses your account API key and forum experience ID; DEV uses your DEV API key; Buttondown uses your Buttondown API key. WordPress uses your HTTPS site URL, username and Application Password. Ghost uses your HTTPS publication URL and an Admin API key. Credentials are encrypted. Removing a connection does not necessarily revoke the credential at the provider.
X, Bluesky, Mastodon, Pixelfed, Telegram channels, Tumblr blogs, WordPress sites, Ghost publications, DEV articles, Whop forums, Buttondown newsletters, TikTok, LinkedIn, and Threads are available to customers. Instagram is coming soon: it shows a Coming soon tag and has no Connect button.
Building workflows in n8n? The TimeToPost n8n node creates approval-gated drafts and schedules posts from a workflow.
How connecting works
Open Settings → Accounts in the intended workspace and choose Connect beside an available platform. OAuth providers open a consent screen. Telegram, DEV, Whop, WordPress, Ghost and Buttondown show a credential form instead. After connecting, select the exact account or channel in the composer and choose a future time. Review its delivery result in the dashboard after it becomes due.
Telegram channels
Use your own BotFather token and channel ID. Your bot must be a channel administrator with Post Messages permission. Supports text up to 4,096 characters, media captions up to 1,024, and albums of up to ten photos or videos. Personal chats, groups and threads are not supported by this connector. Connect and schedule Telegram posts.
DEV articles
Create an API key at dev.to/settings/extensions and paste it into the connect form. The first line of your post is the article title (up to 128 characters) and the rest is the Markdown body. Add up to four tags, each letters and digits only. Attachments and threads are not supported; embed public image links in the Markdown instead.
Whop forums
Use your own account API key with forum:read and forum:post:create permissions and the destination forum experience ID. Supports Markdown text up to 20,000 characters and an optional 255-character title. Attachments, threads, polls, paywalls and pinning are not supported. Connect and schedule Whop posts.
Buttondown newsletters
Paste your Buttondown API key. Each post is sent as a Markdown newsletter issue to your subscribers: the subject is the one you enter, or the first line of the post. Issues are sent at the scheduled time and can be public or private. Supports text up to 100,000 characters. Attachments and threads are not supported.
WordPress sites
Connect your own HTTPS site with a WordPress Application Password and a user allowed to publish posts. Schedule plain text with an optional title, tags and one featured image. TimeToPost creates the published article when the scheduled time becomes due. Video, carousels and raw HTML are not supported by this composer. Connect and schedule WordPress posts.
Ghost publications
Connect your own HTTPS Ghost publication, self-hosted or hosted by Ghost, with the Admin API key of a custom integration (Settings, Integrations in Ghost Admin). Schedule plain text with an optional title, tags, excerpt, canonical URL and one feature image. TimeToPost creates the published post when the scheduled time becomes due. Video, carousels and raw HTML are not supported by this composer. Deleting the custom integration in Ghost revokes access.
Tumblr blogs
Authorize your own Tumblr account to connect its primary blog. Schedule text up to 10,000 characters and up to ten images. TimeToPost publishes when the scheduled time becomes due; it does not add the post to Tumblr’s native queue. Secondary blogs and video are not supported. Connect and schedule Tumblr posts.
Bluesky accounts
Choose Bluesky, enter your handle, and authorize TimeToPost on Bluesky. Select the connected account in the composer, add text, links or up to four images, then choose a publish time. Check the delivery result after the post becomes due. This connector supports Bluesky-hosted accounts; custom hosting, video, threads, messages and analytics are not supported. Existing app-password connections remain supported; new connections use OAuth. Connect and schedule Bluesky posts.
Mastodon accounts
Enter your Mastodon server and authorize your own account on that server. In the composer, select the connected account, write text or links, and choose the visibility before scheduling. The default is followers-only; your chosen visibility is preserved when the post is sent. TimeToPost holds the job and publishes when it becomes due. Media, reply threads and analytics are not supported by this connector. Check the delivery result and the post on your server. Connect and schedule Mastodon posts.
Pixelfed accounts
Enter your Pixelfed server (for example pixelfed.social) and authorize your own account on that server. In the composer, select the connected account, attach 1 to 4 images, add a caption of up to 500 characters and choose the visibility. Every Pixelfed post needs at least one image. Your server sets the final limits, and video and reply threads are not supported by this connector. TimeToPost holds the job and publishes when it becomes due.
X (Twitter)
- Account type: any X account. In the API the provider is named
twitter. - What you grant: permission to post on your behalf and read tweet metrics.
- Content rules: text-only posts are fine; images and video are optional.
Connection statuses
Each connected account has a status: connected (healthy), expired (the platform token lapsed and needs re-authorization), error (the last operation failed, details are kept with the account), and disconnected (you removed it). Posts only publish through connected accounts.
Reconnecting when a token expires
Platform tokens have finite lifetimes. TimeToPost refreshes tokens it holds, but a connection can still expire if, for example, you change your password on the platform or revoke the app there. Instagram is coming soon, so there is no customer Connect button for it yet.
When that happens:
- The account’s status flips to
expiredon the Integrations page. - The composer shows a reconnect prompt on that account instead of letting you target it silently, so you find out before a scheduled post fails, not after.
- Reconnect with the provider-specific consent or credential flow. Your scheduled posts, groups, and analytics history are untouched. Only the token is replaced.
If a post does fire while an account is expired, that account’s result fails and the post lands in FAILED or PARTIAL (multi-account) status. Reconnect and inspect the delivery result. If delivery is uncertain, check the destination before creating another attempt to avoid duplicates.
For API users
curl https://timetopost.co/api/integrations \
-H "Authorization: Bearer ttp_your_token_here"
# Each integration includes: id, provider, accountName, status, capabilitiesUse the integration id values as accountIds when creating posts via the API, and check status before scheduling to catch expired connections early.