Help & FAQ
Everything you need to get started with PushingBox.
Getting Started
How do I create a scenario?
Before creating a scenario, you need to add the services you want to notify from. Go to My Services and create at least one service. Once done, go to My Scenarios, create a scenario, then add an action linking it to the service.
What is a DeviceID?
A DeviceID (or devid)
is the unique identifier of a scenario. You use it to trigger the right scenario from the API.
It looks like vXXXXXXXXXXXXXXX.
How do I call the API?
# Simple GET request
GET https://api.pushingbox.com/pushingbox?devid=vYOUR_DEVID
# With custom variables
GET https://api.pushingbox.com/pushingbox?devid=vYOUR_DEVID&temperature=23&room=kitchen
See the full API Documentation for details.
Custom Variables
How do custom variables work?
In your action message templates, use the syntax
$variable_name$.
Then pass the value as a query parameter when calling the API.
PushingBox will substitute every placeholder before sending the notification.
# Message template: "Temperature in $room$ is $temp$°C"
GET /pushingbox?devid=vYOUR_DEVID&room=kitchen&temp=22
# Sends: "Temperature in kitchen is 22°C"
Can I attach a camera snapshot?
Yes! For services that support it (such as Email and Pushbullet, or via attachment with ntfy), fill in the "Picture URL" field with the publicly accessible URL of your IP camera snapshot. The image must be under 2 MB.
Available Notification Services
A Service is a destination where your notifications are sent. You can configure multiple services in My Services and attach one or more of them to any scenario. Here is an overview of the available services:
Discord
Webhooks & Community PushSends instant notifications, rich markdown messages, embeds, and camera snapshots directly to any Discord channel using Incoming Webhooks.
- Best for: Gaming servers, smart home channels, community alerts, and automated alerts with markdown and pictures.
- Key features: Rich embeds, custom bot username & avatar, photo snapshot attachments, Text-to-Speech (TTS), and no bot coding required.
- Setup: Create a Webhook in your Discord channel (Edit Channel → Integrations → Webhooks) and paste the URL. Read the step-by-step Discord guide ↓
Sends formatted messages directly to any email address. Works out of the box on all devices with no app installation needed.
- Best for: Daily summaries, logs, and keeping permanent records in your inbox.
- Key features: Custom subject & body, camera snapshot image attachments, built-in unsubscribe link.
Telegram
Bot Push & ChannelsSends instant alerts, formatted messages, and webcam photos directly to private chats, group conversations, or broadcast channels via Telegram Bot API.
- Best for: Group alerts, home automation bots, and reliable mobile notifications with rich formatting.
- Key features: HTML & Markdown formatting, photo attachments with captions, silent notifications, channels and group support.
- Setup: Create a bot with @BotFather and paste the full token as shown (format
BotID:Token, e.g.123456789:ABCdef...). Read the step-by-step Telegram guide ↓
Pushbullet
Multi-Device Push Android Windows macOS Chrome Firefox WebBroadcasts instant popup notifications across all your phones, tablets, PCs, and browser extensions at once.
- Best for: Real-time home alerts (doorbells, motion sensors) where you want an immediate alert on both phone and computer.
- Key features: Multi-device synchronization, image & photo snapshot delivery.
ntfy
Open Source & Custom Alarms Android iOS WebA simple, free, and open-source push notification service for Android, iOS, and Web. Subscribe to a topic without creating an account.
- Best for: Critical or tiered notifications (e.g. loud emergency alarm vs silent update).
- Key features: 5 priority levels (from silent to persistent ringtone), emojis & tags, clickable URLs, attachments, support for self-hosted servers.
Prowl
Dedicated iOS Push iOSA dedicated native push notification client tailored for Apple devices (iPhone, iPad, Apple Watch).
- Best for: iOS users looking for a clean, distraction-free notification inbox for their smart devices.
- Key features: Fast native delivery, priority levels (-2 to +2), quick setup with an API key.
Custom URL (Webhooks)
Automation & IntegrationsTriggers custom HTTP webhooks (GET or POST) to any external service, web app, or smart home controller.
- Best for: Bridging PushingBox with other systems (e.g. Home Assistant, OpenHAB, custom scripts, external web APIs).
- Key features: Flexible GET/POST requests, dynamic variable substitution in payload parameters.
Google Sheets
Data Logging & SpreadsheetsLogs sensor measurements, events, and metrics directly into a Google Spreadsheet using Google Forms, without complex OAuth tokens.
- Best for: Historical data logging, temperature tracking, IoT dashboards, and automated spreadsheets.
- Key features: Direct append to Google Sheets, dynamic variable substitution, no Google Cloud project needed.
- Setup: Read the step-by-step Google Sheets guide ↓
How to Log Data to Google Sheets
PushingBox allows you to automatically insert rows into a Google Spreadsheet every time a scenario is triggered. Here is the step-by-step setup guide:
1 Create a Google Form
Go to Google Forms and create a blank form. Add a question for each column you want to fill in your spreadsheet (e.g. Temperature, Humidity — these will become the column headers in your sheet), setting each question type to Short answer.
2 Link the Form to a Google Sheet
In your Google Form, click on the Responses tab, click Link to Sheets, and select Create a new spreadsheet. Google Sheets will automatically append a new timestamped row for each submission.
3 Get the Form ID & Add the Service in PushingBox
Click Publish / Send or look at your form URL:
In PushingBox, go to My Services, click Google Sheets, and paste the Form ID (or the full URL) into the configuration.
4 Get Pre-filled Entry IDs
In Google Forms, open the top-right menu (⋮) and click Get pre-filled link. Fill in placeholder variable names (e.g. $temp$, $humidity$), then click Get link and copy the link:
5 Create a Scenario Action & Trigger from API
In PushingBox, open your scenario in My Scenarios, add an action linked to your Google Sheets service, and paste the pre-filled link (or entries) into the Pre-filled Link or Column Entries field.
# Call PushingBox API with custom variables
GET https://api.pushingbox.com/pushingbox?devid=vYOUR_DEVID&temp=23.5&humidity=62
How to Add a Discord Webhook Service
A Discord service allows PushingBox to send notifications, rich embeds, and camera snapshots directly to your Discord channels via Incoming Webhooks.
1 Open Channel Settings in Discord
In Discord, right-click (or click the gear icon ⚙ next to) the text channel where you want notifications posted, and choose Edit Channel.
2 Create a Webhook & Copy URL
Navigate to Integrations → Webhooks, click New Webhook, give it a name (e.g. PushingBox), then click Copy Webhook URL.
3 Add the Service in PushingBox
In PushingBox, go to My Services, select the Discord card, paste your Webhook URL into the Discord Webhook URL field, and optionally customize the bot username and avatar URL.
4 Test the Webhook
Click Create and Test to confirm that PushingBox successfully posts a test notification to your Discord channel.
5 Attach to Scenario Actions
Open My Scenarios, add an action linked to your Discord service, and customize the message content with variables (e.g. $temperature$), optional embed titles, and camera snapshots.
How to Add a Telegram Service
A Telegram service lets PushingBox send instant alerts, messages, and webcam photos to your Telegram chats, groups, or channels through a Telegram Bot.
1 Create a Telegram Bot
Open a chat with @BotFather on Telegram and send /newbot. Follow the prompts to name your bot and copy the token it returns — it has the format BotID:Token.
2 Add the Service in PushingBox
Go to My Services, click the Telegram card, and paste your full token into the Bot Token field.
3 Send Your Bot a Message
Find your bot in Telegram, open a chat with it, and send any message (e.g. Hello) so it knows where to reach you.
4 Get the Chat ID & Finish Setup
Open @userinfobot or a similar bot on Telegram and get your numeric ID. For groups or channels, the ID starts with a negative number (e.g. -1001234567890). Paste it into the Chat ID field — or use the channel username (e.g. @mychannel) — then click Create.
5 Test Your Service
Use Create and Test to send a confirmation message. Now attach this service to any scenario action to receive notifications with HTML/Markdown formatting, photo attachments, and silent alerts.
Troubleshooting
I get a "Too many requests" (429) error on the API
Each scenario (devid) is limited to 10 requests per minute.
If your device calls the API more often, requests beyond that limit are rejected with
RATE_LIMIT_EXCEEDED (HTTP 429)
so a misconfigured sensor polling in a tight loop can never burn your daily quota — or flood your inbox — in seconds.
Add a delay in your device code (e.g. at least 6 seconds between two calls) to stay within the limit.
I get a "Forbidden" error on the API
If you can access pushingbox.com but get a Forbidden error on api.pushingbox.com, your IP address may have been rate-limited due to a large volume of malformed requests. Please contact us and include your public IP address.
My device can't resolve DNS — can I use an IP address?
You can, but it is not recommended. The IP address of the API server may change without notice if we migrate to another provider. Use the hostname when possible.
How can I verify my camera URL is publicly accessible?
Use the Test button on your scenario — it triggers the scenario from our server, so it confirms your URL is reachable from the internet.