
Crossposting on Social Media with crosspost
Do you have multiple social media accounts and want to share your content
across all of them without the hassle of posting separately?
With the crosspost
tool, you can effortlessly share your content
across various social media platforms with just a few commands.
In this article, we’ll walk you through the process of setting up and using crosspost
to streamline your social media sharing.
My Social Media Journey
I’m using Bluesky, Mastodon and Twitter(X) for content sharing. These platforms are both text based and has different character limits. I prefer using hashtags on Bluesky and Mastodon, but due to character limits I don’t prefer using hashtags inside Twitter. I think Twitter(X) people do not care about hashtags, but Bluesky and Mastodon has a different audience. When I want to share something I need to open 3 different browser tabs and it takes time.
I’m also using LinkedIn but I have a separate strategy for it. It has more character limits and a different audience compared to the other platforms so I can share more detailed content there without worrying about the character count.
Why Use crosspost?
I need something that can help me to share my content across multiple platforms without the hassle of posting separately. I don’t want to waste my time with 3 times of post configuration and 3 times of sharing it. One time configuration and 1 time posting is what i need. First, i tried MixPost, but it takes so much time to configure. Simple and effective tools are so important for my workflow.
Thanks to Arda Kılıçdağı I discovered crosspost.
It s a great tool developed by Nicholas C. Zakas for posting across multiple social networks at once. You can use it via JavaScript Code, CLI or MCP Server.
Pre-requisites
You need to have Node.js installed on your machine.
CLI Usage
First of all, I suggest you to create a new directory called crosspost
to hold your secrets and configurations.
mkdir crosspost
cd crosspost
Save your credentials inside .env
.
Please get required credentials for each social media platform you want to post to. Instructions can be found in the crosspost strategy documentation.
TWITTER_ACCESS_TOKEN_KEY=
TWITTER_ACCESS_TOKEN_SECRET=
TWITTER_API_CONSUMER_KEY=
TWITTER_API_CONSUMER_SECRET=
MASTODON_ACCESS_TOKEN=
MASTODON_HOST=
BLUESKY_HOST=
BLUESKY_IDENTIFIER=
BLUESKY_PASSWORD=
LINKEDIN_ACCESS_TOKEN=
DISCORD_BOT_TOKEN=
DISCORD_CHANNEL_ID=
DISCORD_WEBHOOK_URL=
DEVTO_API_KEY=
TELEGRAM_BOT_TOKEN=
TELEGRAM_CHAT_ID=
SLACK_TOKEN=
SLACK_CHANNEL=
Install crosspost
as a global package.
npm install --global @humanwhocodes/crosspost
I will recommend you to create a {topic}.txt file to hold your post content.
echo "My blog post content" > my_blog_post.txt
Share your post on Mastodon
CROSSPOST_DOTENV=.env crosspost -m --file my_blog_post.txt
Share your post on Mastodon, Bluesky and Twitter
CROSSPOST_DOTENV=.env crosspost -m -b -t --file my_blog_post.txt
Conclusion
We explored the process of crossposting on social media using the crosspost tool. This tool simplifies sharing content across multiple platforms, saving time and effort. All you need to do is configure your environment and use the CLI commands provided.
Thanks for reading!
If you found this guide helpful, please consider sharing it with others who might benefit from it.
- My Crosspost Environment on GitHub
- Crosspost on GitHub
- Nicholas C. Zakas on GitHub
- Arda Kilicdagi on Mastodon