social media crossposting tool. 3rd time's the charm
mastodon
misskey
crossposting
bluesky
Services#
Input#
Input services ingest data from other websites.
Bluesky Jetstream#
This service uses a Jetstream to listen for posts.
{
"services": [
{
"input": {
"type": "bluesky-jetstream",
"handle": "bsky.app"
},
"outputs": []
}
]
}
| Key | Description |
|---|---|
handle |
Account handle. Used to resolve did and pds. |
did |
Account identifier. Can be specified instead of a handle. |
pds |
Account host. Optional, will be resolved from did if not specified. |
Mastodon WebSocket#
Uses a WebSocket to listen to the home timeline.
{
"services": [
{
"input": {
"type": "mastodon-wss",
"instance": "https://mastodon.social",
"token": "***"
},
"outputs": []
}
]
}
| Key | Description |
|---|---|
instance |
Account host. |
token |
Account access token. |
allowed_visibility |
Post visibilities that ware allowed to be crossposted. |
Getting a token#
Mastodon:
- Go to Settings -> Development
- Click "New Application"
- Set a name (e.g. xpost), allow "read", "write", "profile" perms.
- Click on the new application and copy "Your access token"
Non-Mastodon
Software like iceshrimp/akkoma can either use https://getauth.thms.uk/?client_name=xpost&scopes=read%20write%20profile or get the token using dev tools on any web client. (any /api/v* request, the authorization header, copy the value besides Bearer )
Misskey WebSocket#
Uses a WebSocket to listen to the home timeline channel.
NOTE
Misskey WSS doesn't support deletes, crossposted posts have to be manually deleted (or look into bi-directional crossposting)
{
"services": [
{
"input": {
"type": "misskey-wss",
"instance": "https://misskey.io",
"token": "***"
},
"outputs": []
}
]
}
| Key | Description |
|---|---|
instance |
Account host. |
token |
Account access token. |
allowed_visibility |
Post visibilities that ware allowed to be crossposted. |
Getting a token#
Use Dev Tools 💔
Output#
Bluesky#
{
"services": [
{
"input": {},
"outputs": [
{
"type": "bluesky",
"handle": "bsky.app",
"password": "***"
}
]
}
]
}
| Key | Description |
|---|---|
handle |
Account handle. Used to resolve did and pds. |
did |
Account identifier. Can be specified instead of a handle. |
pds |
Account host. Optional, will be resolved from did if not specified. |
password |
Account App Password. |
quote_gate |
Disable ability for others to quote. |
thread_gate |
Limit replies to the post. null - everybody, [] - nobody. accepts "mentioned", "following", "followers" |
App Password#
Please do not use the main password.
- Go to Settings -> Privacy and Security -> App Passwords
- Click "Add App Password"
- Copy the new password (it will not be shown again!)
Mastodon#
{
"services": [
{
"input": {},
"outputs": [
{
"type": "mastodon",
"instance": "https://mastodon.social",
"token": "***"
}
]
}
]
}
| Key | Description |
|---|---|
instance |
Account host. |
token |
Account access token. |
visibility |
What visibility to set for crossposted posts |