Search all guides

Reference · Tools

Orbit integration

Manage community members, their activities, notes, and content posts within an Orbit workspace.

Action Analytics v1

The Orbit node manages the objects behind community analytics — members, activities, notes and posts — in an Orbit workspace. A typical build is recording an activity against a member whenever they contribute somewhere your community lives, so engagement is tracked without manual logging.

Works as
Action
Tool name
orbit
Parameters
60
Outputs
Output, Error
Credentials
Orbit API

What you can build with Orbit

  • List all members in an Orbit workspace.
  • Create a new activity for a community member.
  • Look up a member by their GitHub username.
  • Add a note to a community member profile.
  • Create a post for a member with a URL.
  • Delete a member from a workspace.

Overview

Orbit was a community analytics and management platform used by developer relations teams to track community engagement across platforms like GitHub, Twitter, Discourse, and email. This tool interacts with the Orbit API to manage members (create/update/delete/lookup by identity), track activities, attach notes, and manage content posts. Note: Orbit was sunset in July 2023 but this tool is provided for archival and compatibility purposes.

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Orbit API credentials. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Activityactivity
Membermember
Notenote
Postpost

Operations

Each resource has its own Operation list, and several resources reuse the same operation values (create, getAll, update, delete). Pick the resource first, then the operation.

ResourceOperationValueDescription
ActivityCreatecreateCreate an activity for a member
ActivityGet ManygetAllGet many activities
MemberCreate or UpdateupsertCreate a new member, or update the current one if it already exists (upsert)
MemberDeletedeleteDelete a member
MemberGetgetGet a member
MemberGet ManygetAllGet many members in a workspace
MemberLookuplookupLookup a member by identity
MemberUpdateupdateUpdate a member
NoteCreatecreateCreate a note
NoteGet ManygetAllGet many notes for a member
NoteUpdateupdateUpdate a note
PostCreatecreateCreate a post
PostGet ManygetAllGet many posts
PostDeletedeleteDelete a post

Parameters

Every operation needs the Workspace — the workspace slug or ID from Orbit’s workspace settings. All fields accept expressions, so IDs and content can come from the incoming item ({{ $json.memberId }}).

Activity: Create

ParameterTypeRequiredDefaultDescription
WorkspacestringYes—The workspace slug or ID. Find in Orbit under workspace settings.
Member IDstringYes—The ID of the member to create the activity for.
TitlestringYes—The activity title.
Additional FieldscollectionNo{}Optional activity properties.
— Activity TypestringNo—A user-defined activity type grouping (e.g., “blog_post”, “conference_talk”).
— DescriptionstringNo—A description of the activity; displayed in the timeline.
— KeystringNo—Supply a key that must be unique or leave blank to have one generated.
— LinkstringNo—A URL for the activity; displayed in the timeline.
— Link TextstringNo—The display text for the timeline link.
— Occurred AtdateTimeNo—The date and time the activity occurred; defaults to now.

Activity: Get Many

ParameterTypeRequiredDefaultDescription
WorkspacestringYes—The workspace slug or ID.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}Narrow the activity list.
— Member IDstringNo—When set, activities will be filtered by this member ID.

Member: Create or Update

ParameterTypeRequiredDefaultDescription
WorkspacestringYes—The workspace slug or ID.
IdentityfixedCollectionNo{}The identity is used to find the member. If no member exists, a new member will be created and linked to the provided identity.
— SourceoptionsNo—Set to github, twitter, email, discourse or the source of any identities you have manually created.
Options: discourse, email, github, twitter
— Search ByoptionsYes—Whether to match the identity on its username or its ID at the source. (shown when Source is discourse, github, twitter)
Options: username, id
— IDstringYes—The unique ID at the source. (shown when Search By is id and Source is discourse, github, twitter)
— UsernamestringYes—The username at the source. (shown when Search By is username and Source is discourse, github, twitter)
— EmailstringYes—The email address that identifies the member. (shown when Source is email)
— HoststringYes—The Discourse host URL. (shown when Source is discourse)
Additional FieldscollectionNo{}Member profile fields to set.
— BiostringNo—The member’s biography.
— BirthdaydateTimeNo—The member’s birthday.
— CompanystringNo—The member’s company.
— LocationstringNo—The member’s location.
— NamestringNo—The member’s display name.
— PronounsstringNo—The member’s pronouns.
— Shipping AddressstringNo—The member’s shipping address.
— SlugstringNo—The member’s slug in Orbit.
— Tags to AddstringNo—Adds tags to member; comma-separated string or array.
— Tag ListstringNo—Replaces all tags for the member; comma-separated string or array.
— T-ShirtstringNo—The member’s t-shirt size.
— TeammatebooleanNofalseWhether the member is a teammate rather than a community member.
— URLstringNo—The member’s website URL.

Member: Delete

ParameterTypeRequiredDefaultDescription
WorkspacestringYes—The workspace slug or ID.
Member IDstringYes—The ID of the member to delete.

Member: Get

ParameterTypeRequiredDefaultDescription
WorkspacestringYes—The workspace slug or ID.
Member IDstringYes—The ID of the member to retrieve.
Resolve IdentitiesbooleanNofalseBy default, the response just includes the reference of the identity. When set to true the identities will be resolved automatically.

Member: Get Many

ParameterTypeRequiredDefaultDescription
WorkspacestringYes—The workspace slug or ID.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
Resolve IdentitiesbooleanNofalseBy default, the response just includes the reference of the identity. When set to true the identities will be resolved automatically.
OptionscollectionNo{}Sorting options for the member list.
— Sort BystringNo—Name of the field the response will be sorted by.
— Sort DirectionoptionsNo—Whether to sort ascending or descending.
Options: ASC, DESC

Member: Lookup

ParameterTypeRequiredDefaultDescription
WorkspacestringYes—The workspace slug or ID.
SourceoptionsYes—Set to github, twitter, email, discourse or the source of any identities you have manually created.
Options: discourse, email, github, twitter
Search ByoptionsYes—Whether to search by username or ID at the source. (shown when Source is discourse, github, twitter)
Options: username, id
IDstringYes—The unique ID at the source. (shown when Search By is id and Source is discourse, github, twitter)
UsernamestringYes—The username at the source. (shown when Search By is username and Source is discourse, github, twitter)
EmailstringYes—The email address to look up. (shown when Source is email)
HoststringYes—The Discourse host URL. (shown when Source is discourse)

Member: Update

ParameterTypeRequiredDefaultDescription
WorkspacestringYes—The workspace slug or ID.
Member IDstringYes—The ID of the member to update.
Update FieldscollectionNo{}Member profile fields to change. Only the fields you add are sent.
— BiostringNo—The member’s biography.
— BirthdaydateTimeNo—The member’s birthday.
— CompanystringNo—The member’s company.
— LocationstringNo—The member’s location.
— NamestringNo—The member’s display name.
— PronounsstringNo—The member’s pronouns.
— Shipping AddressstringNo—The member’s shipping address.
— SlugstringNo—The member’s slug in Orbit.
— Tags to AddstringNo—Adds tags to member; comma-separated string or array.
— Tag ListstringNo—Replaces all tags for the member; comma-separated string or array.
— T-ShirtstringNo—The member’s t-shirt size.
— TeammatebooleanNofalseWhether the member is a teammate rather than a community member.
— URLstringNo—The member’s website URL.

Note: Create

ParameterTypeRequiredDefaultDescription
WorkspacestringYes—The workspace slug or ID.
Member IDstringYes—The ID of the member to add the note to.
NotestringYes—The note content.

Note: Get Many

ParameterTypeRequiredDefaultDescription
WorkspacestringYes—The workspace slug or ID.
Member IDstringYes—The ID of the member whose notes to retrieve.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
Resolve MemberbooleanNofalseWhether to resolve member references to full member objects.

Note: Update

ParameterTypeRequiredDefaultDescription
WorkspacestringYes—The workspace slug or ID.
Member IDstringYes—The ID of the member.
Note IDstringYes—The ID of the note to update.
NotestringYes—The updated note content.

Post: Create

ParameterTypeRequiredDefaultDescription
WorkspacestringYes—The workspace slug or ID.
Member IDstringYes—The ID of the member to create the post for.
URLstringYes—Supply any URL and Orbit will do its best job to parse out a title, description, and image.
Additional FieldscollectionNo{}Optional post properties.
— Published AtdateTimeNo—When the post was published.

Post: Get Many

ParameterTypeRequiredDefaultDescription
WorkspacestringYes—The workspace slug or ID.
Return AllbooleanNofalseWhether to return all results or only up to a given limit.
LimitnumberNo100Max number of results to return. (shown when Return All is false)
FilterscollectionNo{}Narrow the post list.
— Member IDstringNo—When set the posts will be filtered by this member ID.

Post: Delete

ParameterTypeRequiredDefaultDescription
WorkspacestringYes—The workspace slug or ID.
Member IDstringYes—The ID of the member who owns the post.
Post IDstringYes—The ID of the post to delete.

All Operations

ParameterTypeRequiredDefaultDescription
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

The Orbit response is merged onto the input item’s JSON at the top level — the returned fields sit alongside the fields the item already carried. A response field with the same name as an existing item field overwrites it. Binary data on the input item is forwarded.

Orbit speaks JSON:API, and the two families of operations unwrap it differently:

OperationsOutput
Activity Get Many, Member Get Many, Note Get Many, Post Get ManyOne output item per record. Each record is unwrapped, so the item gains id, type, attributes and relationships at the top level. A page of 50 members becomes 50 output items from one input item, and an empty result produces no output items for that input.
Activity Create, Member Create or Update, Member Get, Member Lookup, Member Update, Note Create, Note Update, Post CreateOne output item carrying the envelope, so the record sits under data — reference it as {{ $json.data.attributes.name }}.
Member Delete, Post DeleteOne output item carrying success: true — these calls confirm the deletion instead of returning a record.

A single record looks like this, whether it arrives at the top level or under data:

{
  "id": "1234",
  "type": "member",
  "attributes": {
    "name": "John Doe",
    "slug": "john-doe",
    "bio": "Full-stack developer",
    "company": "Tech Corp",
    "location": "San Francisco, CA",
    "tags": ["developer", "contributor"],
    "created_at": "2026-01-15T10:30:00.000Z"
  },
  "relationships": {
    "identities": { "data": [] }
  }
}

With Resolve Identities on, Member: Get replaces the identity references inside relationships.identities.data with the full identity objects, so you can read a member’s GitHub or Twitter handle without a second call.

Turning Return All off stops paging once the Limit is reached, so it genuinely reduces the number of requests rather than trimming a full result.

Example Configuration

Record a contribution against a member:

{
  "type": "orbit",
  "parameters": {
    "resource": "activity",
    "operation": "create",
    "workspaceId": "my-workspace",
    "memberId": "member_123",
    "title": "Contributed to open source project",
    "additionalFields": {
      "activityType": "github_contribution",
      "description": "Added new feature to the main repository",
      "link": "https://github.com/org/repo/pull/123",
      "linkText": "View Pull Request",
      "occurredAt": "2026-01-15T10:30:00Z"
    }
  }
}

List one member’s recent activities:

{
  "type": "orbit",
  "parameters": {
    "resource": "activity",
    "operation": "getAll",
    "workspaceId": "my-workspace",
    "returnAll": false,
    "limit": 50,
    "filters": {
      "memberId": "member_123"
    }
  }
}

Create or update a member from their GitHub identity:

{
  "type": "orbit",
  "parameters": {
    "resource": "member",
    "operation": "upsert",
    "workspaceId": "my-workspace",
    "identityUi": {
      "identityValue": {
        "source": "github",
        "searchBy": "username",
        "username": "{{ $json.githubLogin }}"
      }
    },
    "additionalFields": {
      "name": "John Doe",
      "bio": "Full-stack developer and open source contributor",
      "company": "Tech Corp",
      "location": "San Francisco, CA",
      "url": "https://johndoe.dev",
      "teammate": false
    }
  }
}

Find a member by email address:

{
  "type": "orbit",
  "parameters": {
    "resource": "member",
    "operation": "lookup",
    "workspaceId": "my-workspace",
    "source": "email",
    "email": "john@example.com"
  }
}

Read one member with their identities inlined:

{
  "type": "orbit",
  "parameters": {
    "resource": "member",
    "operation": "get",
    "workspaceId": "my-workspace",
    "memberId": "member_123",
    "resolveIdentities": true
  }
}

List the newest members first:

{
  "type": "orbit",
  "parameters": {
    "resource": "member",
    "operation": "getAll",
    "workspaceId": "my-workspace",
    "returnAll": false,
    "limit": 100,
    "options": {
      "sort": "created_at",
      "direction": "DESC"
    }
  }
}

Update a member profile:

{
  "type": "orbit",
  "parameters": {
    "resource": "member",
    "operation": "update",
    "workspaceId": "my-workspace",
    "memberId": "member_123",
    "updateFields": {
      "bio": "Updated biography",
      "company": "New Company Inc",
      "location": "New York, NY",
      "tagsToAdd": "speaker,mentor"
    }
  }
}

Attach an internal note to a member:

{
  "type": "orbit",
  "parameters": {
    "resource": "note",
    "operation": "create",
    "workspaceId": "my-workspace",
    "memberId": "member_123",
    "note": "Had a great conversation about the new feature roadmap"
  }
}

Revise an existing note:

{
  "type": "orbit",
  "parameters": {
    "resource": "note",
    "operation": "update",
    "workspaceId": "my-workspace",
    "memberId": "member_123",
    "noteId": "note_456",
    "note": "Updated note content with additional details"
  }
}

Track a member’s blog post:

{
  "type": "orbit",
  "parameters": {
    "resource": "post",
    "operation": "create",
    "workspaceId": "my-workspace",
    "memberId": "member_123",
    "url": "https://blog.example.com/my-latest-post",
    "additionalFields": {
      "publishedAt": "2026-01-15T14:00:00Z"
    }
  }
}

List every post by one member:

{
  "type": "orbit",
  "parameters": {
    "resource": "post",
    "operation": "getAll",
    "workspaceId": "my-workspace",
    "returnAll": true,
    "filters": {
      "memberId": "member_123"
    }
  }
}

Remove a post:

{
  "type": "orbit",
  "parameters": {
    "resource": "post",
    "operation": "delete",
    "workspaceId": "my-workspace",
    "memberId": "member_123",
    "postId": "post_789"
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

This tool manages community members, activities, notes, and posts within an Orbit workspace. It is ideal for creating, updating, deleting, and looking up members, creating activities, creating and updating notes, and creating and deleting posts. The tool produces updated Orbit workspace data, including member profiles, activity logs, notes, and posts.

Frequently asked questions

What counts as an activity?

Any interaction you want attributed to a member. Recording them from the systems where your community actually participates is what makes Orbit's analytics meaningful.

What can it manage besides members?

Activities, notes and posts, so both the people and what they did can be maintained from a workflow.

Is this useful for developer relations?

Yes — that is Orbit's core use case, and automating activity capture is usually the difference between a complete picture and a partial one.

Which credential does it need?

An Orbit API credential for the workspace you are managing.

Build with Orbit

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Orbit API credentials first.

Open BusyBot

Last reviewed . Spotted something wrong? Tell us.