Onesignal rest api

Learn how to use Onesignal rest api with Composio

Overview

SLUG: ONESIGNAL_REST_API

Description

The OneSignal REST API enables developers to programmatically send push notifications, emails, and SMS, manage users and subscriptions, and configure apps.

Authentication Details

generic_api_key
stringRequired

Connecting to Onesignal rest api

Create an auth config

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

1

Select App

Navigate to [Onesignal rest api](https://platform.composio.dev?next_page=/marketplace/Onesignal rest api).

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 Onesignal rest api 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 API Key

1from composio import Composio
2
3# Replace these with your actual values
4onesignal_rest_api_auth_config_id = "ac_YOUR_ONESIGNAL_REST_API_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": {"generic_api_key": user_api_key}}
18 )
19
20 # API Key authentication is immediate - no redirect needed
21 print(f"Successfully connected Onesignal rest api 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, onesignal_rest_api_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 [Onesignal rest api toolkit’s playground](https://app.composio.dev/app/Onesignal rest api)

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=["ONESIGNAL_REST_API"])
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 Notification

Description

Tool to create and send a onesignal push notification. use when you have your message and target audience ready to dispatch notifications.

Action Parameters

android_channel_id
string
android_sound
string
app_id
stringRequired
big_picture
string
buttons
array
contents
objectRequired
data
object
delayed_option
string
extra_params
object
filters
array
headings
object
include_player_ids
array
included_segments
array
ios_attachments
object
ios_sound
string
large_icon
string
send_after
string
subtitle
object
url
string

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Delete Device

Description

Tool to delete a device (player) from a onesignal app. use when you need to remove a specific device by its player id.

Action Parameters

app_id
stringRequired
player_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: Update Device

Description

Tool to update properties of an existing device. use when you need to modify device attributes after registration.

Action Parameters

ad_id
string
amount_spent
string
app_id
stringRequired
badge_count
integer
country
string
created_at
integer
custom_attributes
object
device_model
string
device_os
string
device_type
integer
email_auth_hash
string
external_user_id
string
external_user_id_auth_hash
string
game_version
string
identifier
string
language
string
last_active
integer
latitude
number
longitude
number
notification_types
integer
player_id
stringRequired
playtime
integer
sms_auth_hash
string
tags
object
test_type
integer
timezone
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: View OneSignal App

Description

Tool to retrieve metadata for a single onesignal app. use when you need to fetch app details by its id.

Action Parameters

app_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: View Device

Description

Tool to retrieve details of a specific device (player). use when you have a onesignal player id and need current device info.

Action Parameters

app_id
stringRequired
player_id
stringRequired

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: View Devices

Description

Tool to retrieve a paginated list of devices (players) for a onesignal app. use when you need to list or audit all registered devices for a given app.

Action Parameters

app_id
stringRequired
limit
integer
offset
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: View Notifications

Description

Tool to retrieve details of multiple notifications. use when you need to list notifications for a specific app.

Action Parameters

app_id
stringRequired
limit
integer
offset
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired

Tool Name: View Segments

Description

Tool to view segments for a onesignal app. use when you need to list all segments associated with an app.

Action Parameters

app_id
stringRequired
limit
integer
offset
integer

Action Response

data
objectRequired
error
string
successful
booleanRequired