Bluesky
Create posts, view profiles, and search content on Bluesky.
On this page
Connect
Auth type: Credentials form (custom_auth). Fill in the fields the provider needs (listed below). They are stored encrypted in the vault.
| Field | Type | Description |
|---|---|---|
handlerequired | text | Your Bluesky handle (e.g. user.bsky.social) |
appPasswordrequired | secret | Generate an App Password in Bluesky Settings > App Passwords |
- In the editor: Backend panel, Integrations tab, then Connect. This connects it for the project.
- For every project in a workspace: Workspace settings, Integrations.
- Owners and admins choose which integrations members may connect in the admin panel (Integrations tab), and can attach their own OAuth app there.
Call it from a workflow
Pass the action name and its input. The call resolves with { success, output, error? }; a missing connection resolves with success false and the reason. See ctx.integrations.invoke and ctx.integrations.call.
// .workflow.js (native ctx)
export async function run(ctx) {
const res = await ctx.integrations.invoke("bluesky", "createPost", {
"text": "<post text>"
});
if (!res.success) throw new Error(res.error);
ctx.log.info("Bluesky answered", { output: res.output });
}// defineWorkflow module (@app/sdk ctx)
import { defineWorkflow } from "@app/sdk";
export default defineWorkflow({
id: "bluesky-createpost",
name: "Bluesky: Create Post",
description: "Calls Bluesky when a row is created.",
trigger: { type: "entity_event", entity: "tickets", event: "created" },
async run(ctx, event) {
const res = await ctx.integrations.call("bluesky", {
"action": "createPost",
"text": "<post text>"
}) as { success: boolean; error?: string };
if (!res.success) throw new Error(res.error);
},
});curl -X POST "$APP_ORIGIN/__appbricx/connector-proxy/bluesky/createPost" \
-H "Authorization: Bearer $APP_KEY" \
-H "content-type: application/json" \
-d '{"props":{"text":"<post text>"}}'Actions
createPostin catalog
Create Post. Create a new post on Bluesky
Also accepted as create_post.
| Input | Type | Description |
|---|---|---|
postTypeoptional | one of "text" | "photo" | "link" | "reply" | "quote" | Type of content you're sharing |
textrequired | long text | What do you want to post? (Max 300 characters) |
languageoptional | one of "en" | "es" | "fr" | "de" | "it" | "pt" | "ja" | "ko" | "zh" | "ru" | "ar" | "hi" | Language of your post |
imageUrlsoptional | array | Add up to 4 images by URL |
imageDescriptionsoptional | array | Describe each image for accessibility |
videoUrloptional | text | Link to video file (MP4, max 100MB) |
videoAltTextoptional | long text | Describe the video for accessibility |
videoCaptionsoptional | array | Caption file URLs (optional) |
linkUrloptional | text | URL to share with your post |
replyToPostoptional | text | URL of post to reply to |
threadContentoptional | array | Create additional connected posts |
additionalHashtagsoptional | text | Add hashtags (e.g., tech,bluesky) |
contentWarningsoptional | list of | Add warnings for sensitive content |
audienceoptional | one of "public" | "followers" | "unlisted" | Who can see this post |
findPost
Find Post. Get detailed information about a specific post
| Input | Type | Description |
|---|---|---|
postUrlrequired | text | Paste the Bluesky post URL (e.g., https://bsky.app/profile/username.bsky.social/post/xxx) |
findThread
Find Thread. Get a full conversation thread with replies
| Input | Type | Description |
|---|---|---|
postUrlrequired | text | Paste the Bluesky post URL (e.g., https://bsky.app/profile/username.bsky.social/post/xxx) |
depthoptional | one of "1" | "2" | "3" | "5" | "10" | "20" | "50" | "100" | How many levels deep to retrieve replies |
parentHeightoptional | one of "0" | "1" | "2" | "3" | "5" | "10" | "20" | "80" | How many parent posts to retrieve |
likePost
Like Post. Like a post on Bluesky
| Input | Type | Description |
|---|---|---|
selectionMethodrequired | one of "timeline" | "manual" | How to choose the post |
postSelectionoptional | id (picked from your account) | Choose from your recent timeline posts (only when "From my timeline" is selected above) |
postUrloptional | text | Paste the Bluesky post URL |
repostPost
Repost Post. Share someone else's post to your timeline
| Input | Type | Description |
|---|---|---|
selectionMethodrequired | one of "timeline" | "manual" | How to choose the post |
postSelectionoptional | id (picked from your account) | Choose from your recent timeline posts (only when "From my timeline" is selected above) |
postUrloptional | text | Paste the Bluesky post URL |
Details
- Id
bluesky- Category
- Social media
- Tags
- social, microblogging, decentralized, at-protocol
- Package
@activepieces/piece-bluesky@0.1.3- Tier
- Community