# Pushinator

> Send push notifications to your phone with Pushinator: create the channels your devices subscribe to, keep their names and descriptions up to date, and push a message to everyone on a channel from a workflow.

App · Notifications · 7 actions. Web page: https://docs.lodol.com/docs/integrations/pushinator

## Actions

### Create Pushinator channel

Create a channel to send notifications to. Devices only start receiving them once someone scans the new channel's QR code in the Pushinator app.

**Inputs**

- Name (`name`, text, required): The channel's name, 1 to 64 characters. This is what the Pushinator app shows above each notification.
- Description (`description`, text): An optional note about what the channel is for, up to 255 characters.

**Outputs**

- `description` (text): The channel's description, or null when it has none -- a channel without one is ordinary, not an error.
- `id` (text): The channel's UUID, which every other Pushinator action takes as its channel.
- `name` (text): The channel's name, as shown in the Pushinator app.

**Example output**

```json
{
  "description": "Production deploys and rollbacks.",
  "id": "3f1c9a52-0b6e-4d7a-9c31-8e5b2a4f6d10",
  "name": "Deploy alerts"
}
```

### Delete Pushinator channel

Delete a Pushinator channel. Every device subscribed to it stops receiving its notifications, and they have to scan a new channel's QR code to start again.

**Inputs**

- Channel ID (`channel_id`, text, required): Which channel to use. Pick one from the list, or pass the channel's UUID from an earlier step.

**Outputs**

- `channel_id` (text): The channel that was deleted.
- `deleted` (true/false): True once Pushinator has deleted it.
- `message` (text): Pushinator's own confirmation text.

**Example output**

```json
{
  "channel_id": "3f1c9a52-0b6e-4d7a-9c31-8e5b2a4f6d10",
  "deleted": true,
  "message": "Channel deleted"
}
```

### Get Pushinator account

Fetch the Pushinator account this connection's API token belongs to. Useful as a cheap check that the token still works before a workflow goes on to send anything.

**Inputs**: None.

**Outputs**

- `user` (object): The account the API token belongs to, exactly as Pushinator returns it. Pushinator publishes no schema for this endpoint, so the fields are whatever your account has rather than a fixed set.

**Example output**

```json
{
  "user": {
    "email": "qa@example.com",
    "id": 4821,
    "name": "QA Account"
  }
}
```

### Get Pushinator channel

Fetch one Pushinator channel's name and description by id.

**Inputs**

- Channel ID (`channel_id`, text, required): Which channel to use. Pick one from the list, or pass the channel's UUID from an earlier step.

**Outputs**

- `description` (text): The channel's description, or null when it has none -- a channel without one is ordinary, not an error.
- `id` (text): The channel's UUID, which every other Pushinator action takes as its channel.
- `name` (text): The channel's name, as shown in the Pushinator app.

**Example output**

```json
{
  "description": "Production deploys and rollbacks.",
  "id": "3f1c9a52-0b6e-4d7a-9c31-8e5b2a4f6d10",
  "name": "Deploy alerts"
}
```

### List Pushinator channels

List every channel on the Pushinator account, with the id each of the other actions takes.

**Inputs**: None.

**Outputs**

- `channels` (list): The account's channels.
- `count` (number): Number of channels returned.

**Example output**

```json
{
  "channels": [
    {
      "description": "Production deploys and rollbacks.",
      "id": "3f1c9a52-0b6e-4d7a-9c31-8e5b2a4f6d10",
      "name": "Deploy alerts"
    }
  ],
  "count": 1
}
```

### Send Pushinator notification

Send a push notification to every device subscribed to a Pushinator channel. Devices subscribe by scanning the channel's QR code in the Pushinator app, so a channel with no subscribers rejects the notification instead of sending it.

**Inputs**

- Channel ID (`channel_id`, text, required): Which channel to use. Pick one from the list, or pass the channel's UUID from an earlier step.
- Content (`content`, text, required): The text of the notification.
- Acknowledgment required (`acknowledgment_required`, true/false): Keep re-sending until someone taps to acknowledge it, retrying up to five times (after 1, 2, 4, 8 and 16 minutes). Paid plans only -- on the Free plan Pushinator accepts this and ignores it.

**Outputs**

- `channel_id` (text): The channel the notification went to.
- `message` (text): Pushinator's own confirmation text.
- `success` (true/false): True once Pushinator has accepted the notification for delivery. It reports acceptance, not that a device has shown it.

**Example output**

```json
{
  "channel_id": "3f1c9a52-0b6e-4d7a-9c31-8e5b2a4f6d10",
  "message": "Notification created and being sent to subscribers",
  "success": true
}
```

### Update Pushinator channel

Replace a Pushinator channel's name and description. This is a full replace, not a merge: leaving the description empty clears whatever was there, so read the channel first if you only mean to change the name.

**Inputs**

- Channel ID (`channel_id`, text, required): Which channel to use. Pick one from the list, or pass the channel's UUID from an earlier step.
- Name (`name`, text, required): The channel's name, 1 to 64 characters. This is what the Pushinator app shows above each notification.
- Description (`description`, text): An optional note about what the channel is for, up to 255 characters.

**Outputs**

- `description` (text): The channel's description, or null when it has none -- a channel without one is ordinary, not an error.
- `id` (text): The channel's UUID, which every other Pushinator action takes as its channel.
- `name` (text): The channel's name, as shown in the Pushinator app.

**Example output**

```json
{
  "description": "Production deploys and rollbacks.",
  "id": "3f1c9a52-0b6e-4d7a-9c31-8e5b2a4f6d10",
  "name": "Deploy alerts"
}
```
