Pushbullet

Learn how to use Pushbullet with Composio

Overview

SLUG: PUSHBULLET

Description

Pushbullet enables seamless sharing of notifications and files across devices.

Authentication Details

client_id
stringRequired
client_secret
stringRequired
oauth_redirect_uri
stringDefaults to https://backend.composio.dev/api/v1/auth-apps/add
scopes
stringDefaults to everything
bearer_token
string
bearer_token
stringRequired

Connecting to Pushbullet

Create an auth config

Use the dashboard to create an auth config for the Pushbullet toolkit. This allows you to connect multiple Pushbullet accounts to Composio for agents to use.

1

Select App

Navigate to Pushbullet.

2

Configure Auth Config Settings

Select among the supported auth schemes of and configure them here.

3

Create and Get auth config ID

Click “Create Pushbullet Auth Config”. After creation, copy the displayed ID starting with ac_. This is your auth config ID. This is not a sensitive ID — you can save it in environment variables or a database. This ID will be used to create connections to the toolkit for a given user.

Connect Your Account

Using OAuth2

1from composio import Composio
2
3# Replace these with your actual values
4pushbullet_auth_config_id = "ac_YOUR_PUSHBULLET_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/application
6
7composio = Composio()
8
9
10def authenticate_toolkit(user_id: str, auth_config_id: str):
11 connection_request = composio.connected_accounts.initiate(
12 user_id=user_id,
13 auth_config_id=auth_config_id,
14 )
15
16 print(
17 f"Visit this URL to authenticate Pushbullet: {connection_request.redirect_url}"
18 )
19
20 # This will wait for the auth flow to be completed
21 connection_request.wait_for_connection(timeout=15)
22 return connection_request.id
23
24
25connection_id = authenticate_toolkit(user_id, pushbullet_auth_config_id)
26
27# You can also verify the connection status using:
28connected_account = composio.connected_accounts.get(connection_id)
29print(f"Connected account: {connected_account}")

Using API Key

1from composio import Composio
2
3# Replace these with your actual values
4pushbullet_auth_config_id = "ac_YOUR_PUSHBULLET_CONFIG_ID" # Auth config ID created above
5user_id = "0000-0000-0000" # UUID from database/app
6
7composio = Composio()
8
9def authenticate_toolkit(user_id: str, auth_config_id: str):
10 # Replace this with a method to retrieve an API key from the user.
11 # Or supply your own.
12 user_api_key = input("[!] Enter API key")
13
14 connection_request = composio.connected_accounts.initiate(
15 user_id=user_id,
16 auth_config_id=auth_config_id,
17 config={"auth_scheme": "API_KEY", "val": user_api_key}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Pushbullet for user {user_id}")
22 print(f"Connection status: {connection_request.status}")
23
24 return connection_request.id
25
26
27connection_id = authenticate_toolkit(user_id, pushbullet_auth_config_id)
28
29# You can verify the connection using:
30connected_account = composio.connected_accounts.get(connection_id)
31print(f"Connected account: {connected_account}")

Tools

Executing tools

To prototype you can execute some tools to see the responses and working on the Pushbullet toolkit’s playground

Python
1from composio import Composio
2from openai import OpenAI
3import json
4
5openai = OpenAI()
6composio = Composio()
7
8# User ID must be a valid UUID format
9user_id = "0000-0000-0000" # Replace with actual user UUID from your database
10
11tools = composio.tools.get(user_id=user_id, toolkits=["PUSHBULLET"])
12
13print("[!] Tools:")
14print(json.dumps(tools))
15
16def invoke_llm(task = "What can you do?"):
17 completion = openai.chat.completions.create(
18 model="gpt-4o",
19 messages=[
20 {
21 "role": "user",
22 "content": task, # Your task here!
23 },
24 ],
25 tools=tools,
26 )
27
28 # Handle Result from tool call
29 result = composio.provider.handle_tool_calls(user_id=user_id, response=completion)
30 print(f"[!] Completion: {completion}")
31 print(f"[!] Tool call result: {result}")
32
33invoke_llm()

Tool List

Tool Name: Create Chat

Description

Tool to create a new chat with the specified email address. use when you need to initiate a conversation thread by email.

Action Parameters

email
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Register Device

Description

Tool to register a new device under the current user's account. use when adding a new hardware or app device to pushbullet.

Action Parameters

app_version
integerRequired
has_sms
boolean
icon
string
manufacturer
stringRequired
model
stringRequired
nickname
stringRequired
push_token
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Create Push

Description

Tool to send a new push (note, link, or file) to a device, user, channel, or client. use when you need to share content to a specific target. example: "send a link to https://example.com to device abc123".

Action Parameters

body
string
channel_tag
string
client_iden
string
device_iden
string
email
Required
file_name
string
file_type
string
file_url
guid
string
source_device_iden
string
title
string
type
stringRequired
url

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete All Pushes

Description

Tool to delete all pushes for the current user asynchronously. use when you need to bulk-clear all existing pushes in one call.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Chat

Description

Tool to delete a chat by its identifier. use when you need to remove a chat from your pushbullet account after confirming its identifier.

Action Parameters

iden
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Pushbullet Device

Description

Tool to remove a device by its identifier. use when you need to delete a device from your pushbullet account after confirming its identifier.

Action Parameters

device_iden
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Push

Description

Tool to delete a specific push by its identifier. use when you need to remove a push after confirming its identifier.

Action Parameters

iden
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Get current user

Description

Tool to retrieve the currently authenticated user's profile. use when you need to verify the access token or display the current user's details.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Chats

Description

Tool to list all chat objects for the current user. use when you need the full set of chat threads before sending or muting messages.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Devices

Description

Tool to list all registered devices for the current user. use after obtaining a valid access token.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: List Pushes

Description

Tool to list pushes with optional filtering and pagination. use when retrieving or syncing pushes after a certain time.

Action Parameters

active
boolean
cursor
string
limit
integer
modified_after
number

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Register Device

Description

Tool to register a new device under the current user’s account. use when adding a new hardware or app device to the user's pushbullet devices.

Action Parameters

app_version
integerRequired
has_sms
boolean
icon
string
manufacturer
stringRequired
model
stringRequired
nickname
stringRequired
push_token
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete All Pushes

Description

Tool to delete all pushes for the current user asynchronously. use when you need to bulk-clear all existing pushes in one call.

Action Parameters

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Push

Description

Tool to delete a specific push by its identifier. use when you need to remove a push you created.

Action Parameters

iden
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Mute or Unmute Chat

Description

Tool to mute or unmute an existing chat. use when adjusting notification settings for a specific chat by its identifier.

Action Parameters

iden
stringRequired
muted
booleanRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Device

Description

Tool to update metadata for a device by its identifier. use when you need to change device settings like nickname, model, or icon.

Action Parameters

app_version
integer
has_sms
boolean
icon
string
iden
stringRequired
manufacturer
string
model
string
nickname
string
push_token
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Device

Description

Tool to update metadata for a device by its identifier. use when changing a device's nickname, model, or other settings.

Action Parameters

app_version
integer
has_sms
boolean
icon
string
iden
stringRequired
manufacturer
string
model
string
nickname
string
push_token
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Push

Description

Tool to update a push (dismiss or modify list items) by its identifier. use when marking a push as dismissed or updating list push items.

Action Parameters

dismissed
boolean
iden
stringRequired
items
array

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Upload Request

Description

Tool to obtain a signed upload url for a file before pushing. use when you need to upload file content via the signed s3 form data.

Action Parameters

file_name
stringRequired
file_type
Required

Action Response

data
objectRequired
error
string
file_name
stringRequired
file_type
stringRequired
file_url
Required
successful
booleanRequired
upload_url
Required