I’ve created a new workflow to automate something that is nearly impossible on other social networks due API limitation or paid plans requirements.
Send a welcome message to new followers
You need to create a BlueSky app password with private messages access.
Fill the credentials and the message on the corresponding nodes (see sticky notes).
Manually run once the “Save followers to file” node to generate your initial followers list.
Enable the workflow
(Use with caution, test it first)
It will check for new followers every 60 minutes (to avoid hitting the 100 createSession rate limit per day) and send a private message to the new ones.
It took me a while to figure out the PM API because you need:
To use a special PDS URL from your create session response as the GET/POST URL
To define a header defining the chat proxy
And also request a conversation ID for each given user “did”.
(You can check the “Get conversation ID” and “Send message” nodes for more details)
I no longer can edit the first post, but I made some improvements to disable pagination on the “List followers” HTTPS request, you only really need the last 100 to check if there are new ones (unless you get more than 100 new followers in one hour)
I was thinking this is the perfect use case for the new and improved “remove duplicates” node which can now identify dupes across executions. Checkout Max’s video on it here - https://www.youtube.com/watch?v=zXhuQj_YJ5I. It would allow n8n cloud users to use your template as well!
First, thanks for this, this saves me so much time
I’ve run into as few issues though :
I tried formatting the message but it makes the send message node fail
I tried including a second link but couldn’t get it to work
I had a few instances where it doesn’t save new followers and sends them the message over and over every hour, to fix it I have to run the node manually. Seems it’s because of the “Get conversation ID” node failing due to “bad request”, I believe it occurs when there’s a follower that as disabled private messaging in the lot.
I would’ve loved to contribute but considering I have close to no coding skills, despite trying, I couldn’t find solutions to these problems
Sorry I didn’t reply earlier. To avoid the error when a user has blocked private messages you need to change the settings on the get conversation id and send message node to continue on error
Unfortunately only one link is supported by my code right now, because detecting multiple links is challenging. Maybe bluesky community node might support DMs in the future.