PushingBox
Home Features API Help Login with Google

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 Push

Sends 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 ↓

Email

Universal & Archivable

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 & Channels

Sends 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 Web

Broadcasts 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 Web

A 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 iOS

A 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 & Integrations

Triggers 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 & Spreadsheets

Logs 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:

https://docs.google.com/forms/d/e/1FAIpQLScXrumImmT6uWdXunw5cp7WqQMDg1twGYYvY0UPiFMqM88kww/viewform?usp=publish-editor

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:

https://docs.google.com/forms/d/e/.../viewform?usp=pp_url&entry.1223596728=$temp$&entry.1601173188=$humidity$

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 IntegrationsWebhooks, 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.