Reference · Tools

Bitly

Shorten, retrieve, and update URLs using the Bitly API

Action Utility v1

The Bitly node lets you create shortened links, fetch details about existing bitlinks, and update link metadata directly from a BusyBot workflow. You can use it to automatically generate branded short URLs whenever a new piece of content is published, complete with tags, custom domains, and deep link routing. It connects via a personal access token or OAuth2.

Node type
Action
Parameters
11
Outputs
Output, Error
Credentials
Bitly API (Access Token) , Bitly OAuth2

Bitly

Shorten, retrieve, and update URLs using Bitly.

Overview

Bitly is a URL shortening and link management platform. This tool supports creating shortened links (bitlinks), retrieving link details, and updating existing links. It supports both API access token and OAuth2 authentication. Features include custom domains, deep links, tags, and group management.

Category: Utility
Tool Name: bitly
Version: 1

Appearance: Icon: si-bitly | Color: #EE6123

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires Bitly API (Access Token) or Bitly OAuth2 credentials — configure the one that matches the Authentication parameter. See the Credentials Guide for setup instructions.

Resources

ResourceValue
Linklink

Operations

OperationValueDescription
CreatecreateCreate a link
GetgetGet a link
UpdateupdateUpdate a link

Parameters

ParameterTypeRequiredDefaultDescription
Long URLstringYesThe long URL to be shortened. Supports expressions like {{ $json.url }}.
Additional FieldscollectionNo{}Optional properties applied to the new bitlink.
— DomainstringNobit.lyCustom short domain. Default: bit.ly.
— GroupstringNoGroup GUID to associate the bitlink with. Find in Bitly app: Profile > Groups.
— TagsstringNoComma-separated tags to categorize the bitlink.
— TitlestringNoA descriptive title for the bitlink.
DeeplinksfixedCollectionNo{}Mobile deep links to attach to the bitlink. Add more than one entry to attach several.
— App IDstringNoThe app identifier.
— App URI PathstringNoThe URI path for the app deep link.
— Install TypestringNoThe install type for the deep link.
— Install URLstringNoThe install URL for the deep link.
ParameterTypeRequiredDefaultDescription
BitlinkstringYesThe bitlink ID (e.g. “bit.ly/22u3ypK”). Supports expressions.
ParameterTypeRequiredDefaultDescription
BitlinkstringYesThe bitlink ID to update (e.g. “bit.ly/22u3ypK”). Supports expressions.
Update FieldscollectionNo{}Properties to change on the existing bitlink. Fields you leave out are untouched.
— ArchivedbooleanNofalseWhether the bitlink is archived.
— GroupstringNoGroup GUID to associate the bitlink with. Find in Bitly app: Profile > Groups.
— Long URLstringNoThe new long URL destination.
— TagsstringNoComma-separated tags. Replaces existing tags.
— TitlestringNoA new descriptive title for the bitlink.
DeeplinksfixedCollectionNo{}Mobile deep links to set on the bitlink. Add more than one entry to attach several.
— App IDstringNoThe app identifier.
— App URI PathstringNoThe URI path for the app deep link.
— Install TypestringNoThe install type for the deep link.
— Install URLstringNoThe install URL for the deep link.

All Operations

ParameterTypeRequiredDefaultDescription
AuthenticationoptionsNoaccessTokenThe authentication method to use. Decides which of the two Bitly credentials the node uses.
Options: accessToken, oAuth2
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

One output item per input item. Bitly’s response for the operation — the bitlink record — is merged into the item JSON at the top level, so the incoming fields stay addressable alongside the link details. Binary data is forwarded.

All three operations return the same kind of record: the bitlink’s identifier, its short and long URLs, and the metadata Bitly holds for it (title, tags, archived state, group, and any deep links). create returns the newly minted link, get returns the link as it stands, and update returns it as it is after the change — so an update can be read back immediately without a follow-up get.

Because the merge happens at the top level, an incoming item field whose name collides with a Bitly response key is overwritten. Rename such fields upstream if you need both.

Usage Examples

  • Shorten a URL using Bitly
  • Create a bitlink with a custom domain
  • Get details of an existing bitlink
  • Update the title of a bitlink
  • Archive a bitlink

Example Configuration

Shorten a URL carried on the item:

{
  "type": "bitly",
  "parameters": {
    "authentication": "accessToken",
    "resource": "link",
    "operation": "create",
    "longUrl": "{{ $json.url }}"
  }
}

Create a branded, tagged campaign link in a specific group:

{
  "type": "bitly",
  "parameters": {
    "authentication": "accessToken",
    "resource": "link",
    "operation": "create",
    "longUrl": "{{ $json.landingPage }}",
    "additionalFields": {
      "domain": "bit.ly",
      "group": "Ba1bc23dE4F",
      "tags": "holiday, email-campaign",
      "title": "{{ $json.campaignName }}"
    }
  }
}

Attach a mobile deep link to a new bitlink:

{
  "type": "bitly",
  "parameters": {
    "resource": "link",
    "operation": "create",
    "longUrl": "{{ $json.url }}",
    "deeplink": {
      "deeplinkUi": [
        {
          "appId": "com.example.mobileapp",
          "appUriPath": "/special-offer",
          "installType": "promote_install",
          "installUrl": "https://apps.apple.com/app/example-app"
        }
      ]
    }
  }
}

Read an existing bitlink back:

{
  "type": "bitly",
  "parameters": {
    "resource": "link",
    "operation": "get",
    "id": "{{ $json.bitlink }}"
  }
}

Retitle a link and point it somewhere new:

{
  "type": "bitly",
  "parameters": {
    "resource": "link",
    "operation": "update",
    "id": "{{ $json.bitlink }}",
    "updateFields": {
      "title": "Extended Holiday Campaign",
      "longUrl": "{{ $json.newDestination }}",
      "archived": false
    }
  }
}

Error Handling

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

Tips

Shorten, retrieve, and update URLs using the Bitly link management API with access token or OAuth2 authentication.

  • The Bitlink parameter is the short link itself, not a numeric ID — bit.ly/22u3ypK or yourdomain.co/holiday24.
  • Tags are written as one comma-separated string and split into individual tags for you. On update they replace the link’s existing tags rather than adding to them.
  • Group expects a GUID, not the group’s display name. Find it in the Bitly app under Profile > Groups.
  • Deeplinks accepts multiple entries, so one bitlink can carry deep links for more than one app.
  • Update only sends what you fill in. Fields left out of Update Fields are not modified.
  • Authentication picks the credential. Set it to accessToken for a personal API token, or oAuth2 to act through a connected Bitly account.

Frequently asked questions

What do I put in the 'Bitlink' field — the short URL or some kind of ID?

You enter the short link itself, such as `bit.ly/22u3ypK` or `yourdomain.co/holiday24`. There is no separate numeric ID. If you're retrieving or updating an existing link, copy the short URL exactly as it appears in Bitly.

When I update a bitlink's tags, will the new tags be added to the existing ones?

No — tags are replaced, not merged. Whatever you supply in the tags field on an Update operation becomes the complete tag set for that link. If you want to keep existing tags, you need to fetch them first and include them along with any new ones in the update.

What happens to fields I leave blank on an Update?

Only the fields you explicitly fill in are sent to Bitly. Any field left empty in the Update Fields section is ignored and the corresponding link property stays unchanged. This means you can safely update just the title or just the tags without touching anything else.

What's the difference between the 'Access Token' and 'OAuth2' credential options?

Setting Authentication to `accessToken` uses a personal Bitly API token tied directly to your account — straightforward for personal automation. Choosing `oAuth2` authenticates through a connected Bitly account using the OAuth2 flow, which is more appropriate when acting on behalf of another user or building a multi-user integration.

Where do I find the Group GUID that the Group field expects?

The Group field requires a GUID (a string like `Ba1bc23dE4F`), not the human-readable group name you see in the Bitly dashboard. You can find it in the Bitly app under Profile > Groups. Using the display name instead of the GUID will cause the request to fail.

Build with the Bitly node

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need Bitly API (Access Token) credentials first.

Open BusyBot

Last updated . Spotted something wrong? Tell us.