1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262
|
# Notifiarr
The Notifiarr service enables sending notifications through the Notifiarr API, which can forward notifications to various platforms including Discord.
Notifiarr acts as a notification relay service, allowing you to send notifications to multiple destinations through a single API endpoint.
It supports routing notifications to Discord channels and other configured services.
## Configuration Options
| Parameter | Description | Required | Default |
|-------------|-----------------------------------------------|----------|----------|
| `apikey` | Your Notifiarr API key for authentication | Yes | - |
| `name` | Name of the app/script for notifications | No | Shoutrrr |
| `channel` | Discord channel ID for Discord notifications | No | - |
| `thumbnail` | Thumbnail image URL for Discord notifications | No | - |
| `image` | Image URL for Discord notifications | No | - |
| `color` | Color for Discord embed (6-digit hex) | No | - |
## URL Format
!!! info ""
notifiarr://**`apikey`**?name=**`name`**&channel=**`channel`**&thumbnail=**`thumbnail`**&image=**`image`**&color=**`color`**
### Complete URL Format
The full URL format supports all configuration parameters:
```uri
notifiarr://[apikey]?name=[app_name]&channel=[channel_id]&thumbnail=[thumbnail_url]&image=[image_url]&color=[color_value]
```
**Parameters:**
- `apikey` (required): Your Notifiarr API key
- `name` (optional): Name of the app/script for notifications (defaults to "Shoutrrr")
- `channel` (optional): Discord channel ID for routing notifications (numeric string)
- `thumbnail` (optional): Thumbnail image URL for Discord notifications
- `image` (optional): Image URL for Discord notifications
- `color` (optional): Color for Discord embed as 6-digit hex code (without # prefix) or color name
--8<-- "docs/services/specialized/notifiarr/config.md"
## Usage Examples
### Basic Notification
Send a simple notification using your Notifiarr API key:
!!! example
```bash title="Send Basic Notification"
shoutrrr send --url "notifiarr://your-api-key-here" --message "Hello from Shoutrrr!"
```
```text title="Expected Output"
Notification sent
```
### Notification with Discord Channel
Send a notification that will be forwarded to a specific Discord channel:
!!! example
```bash title="Send to Discord Channel"
shoutrrr send --url "notifiarr://your-api-key-here?channel=123456789012345678" --message "Alert: System status changed"
```
```text title="Expected Output"
Notification sent
```
### Notification with Thumbnail and Color
Send a notification with custom thumbnail and color:
!!! example
```bash title="Send Notification with Thumbnail and Color"
shoutrrr send --url "notifiarr://your-api-key-here?channel=123456789012345678&thumbnail=https://example.com/alert.png&color=FF0000" --title "Critical Alert" --message "Server is down!"
```
```text title="Expected Output"
Notification sent
```
### Notification with Image
Send a notification with a custom image:
!!! example
```bash title="Send Notification with Image"
shoutrrr send --url "notifiarr://your-api-key-here?channel=123456789012345678&image=https://example.com/chart.png" --title "Sales Report" --message "Monthly sales chart attached"
```
```text title="Expected Output"
Notification sent
```
### Notification with Thumbnail and Image
Send a notification with both thumbnail and image:
!!! example
```bash title="Send Notification with Thumbnail and Image"
shoutrrr send --url "notifiarr://your-api-key-here?channel=123456789012345678&thumbnail=https://example.com/icon.png&image=https://example.com/full-image.png" --title "Product Update" --message "New product launch details"
```
```text title="Expected Output"
Notification sent
```
### Notification with User Mentions
Send a notification that mentions specific Discord users (parsed from message content):
!!! example
```bash title="Send Notification with User Mentions"
shoutrrr send --url "notifiarr://your-api-key-here?channel=123456789012345678" --message "Hey <@123456789> and <@987654321>, the deployment is complete!"
```
```text title="Expected Output"
Notification sent
```
### Notification with Custom App Name
Send a notification with a custom app name:
!!! example
```bash title="Send Notification with Custom App Name"
shoutrrr send --url "notifiarr://your-api-key-here?name=MyApp" --message "Hello from MyApp!"
```
```text title="Expected Output"
Notification sent
```
### Notification with Title
Send a notification with a custom title (appears in Discord embed):
!!! example
```bash title="Send Notification with Title"
shoutrrr send --url "notifiarr://your-api-key-here?channel=123456789012345678" --title "System Alert" --message "Disk space running low on server"
```
```text title="Expected Output"
Notification sent
```
## API Documentation Reference
The Notifiarr service sends notifications to the Notifiarr API endpoint at `https://notifiarr.com/api/v1/notification/passthrough/{apikey}`.
### Request Format
The service sends a POST request with a JSON payload containing the notification data. The payload structure follows the official Notifiarr API specification:
```json
{
"notification": {
"name": "MyApp",
"event": "Optional event ID",
"update": null
},
"discord": {
"ids": {
"channel": 123456789012345678
},
"color": "Optional color (6-digit hex)",
"images": {
"thumbnail": "Optional thumbnail URL",
"image": "Optional image URL"
},
"text": {
"title": "Optional notification title",
"icon": "Optional icon URL",
"content": "Optional content text",
"description": "Your notification message",
"footer": "Optional footer text",
"fields": [
{
"title": "Field title",
"text": "Field content",
"inline": false
}
]
},
"ping": {
"pingUser": [123456789, 987654321],
"pingRole": [111111111, 222222222]
}
}
}
```
#### Payload Structure Details
- **`notification`** (required): Core notification metadata
- `name`: Application identifier (configurable via `name` parameter, defaults to "Shoutrrr")
- `event`: Optional unique event ID from the `id` parameter
- `update`: Boolean flag to update existing messages with the same ID (optional, defaults to null)
- **`discord`** (optional): Discord-specific configuration (only included when channel is configured or other Discord fields are present)
- `ids.channel`: Discord channel ID (required when discord object is present)
- `color`: Optional embed color as 6-digit hex code (without # prefix)
- `images.thumbnail`: Optional thumbnail image URL
- `images.image`: Optional image URL
- `text.title`: Optional notification title from the `title` parameter
- `text.icon`: Optional icon URL for the embed
- `text.content`: Optional content text above the main message
- `text.description`: The notification message content
- `text.footer`: Optional footer text for the embed
- `text.fields`: Optional array of field objects with title, text, and inline properties
- `ping.pingUser`: Array of Discord user IDs to mention (parsed from `<@123>` mentions in message)
- `ping.pingRole`: Array of Discord role IDs to mention (parsed from `<@&123>` mentions in message)
### Response
Successful requests return a 2xx status code. The service logs the server response for debugging purposes.
### Error Handling
The service handles various error conditions:
- **Empty Message**: Returns an error if the message is empty
- **Invalid API Key**: Server returns authentication errors
- **Network Issues**: Connection timeouts or network failures
- **Server Errors**: Unexpected HTTP status codes from the Notifiarr API
## Troubleshooting
### Common Issues
#### Notifications not appearing in Discord
- **Check Channel ID**: Ensure the `channel` parameter contains a valid Discord channel ID (must be numeric)
- **Verify Permissions**: Confirm that Notifiarr has permission to post in the specified channel
- **API Key Validity**: Verify your Notifiarr API key is correct and active
- **Channel Configuration**: Ensure the channel parameter is included in the URL when Discord notifications are desired
#### Invalid color values
- **Color Format**: Colors must be provided as 6-digit hex codes (without # prefix) or valid color names
- **Example**: Use `color=FF0000` for red, not `color=#FF0000` or `color=red`
#### Thumbnail images not displaying
- **Valid URL**: Ensure the thumbnail URL is a valid, publicly accessible HTTPS URL
- **Image Format**: The URL should point directly to an image file (supported formats depend on Discord)
#### Image not displaying
- **Valid URL**: Ensure the image URL is a valid, publicly accessible HTTPS URL
- **Image Format**: The URL should point directly to an image file (supported formats depend on Discord)
- **Image Size**: Large images may be resized or may not display properly in Discord
### Debugging Tips
- Enable verbose logging with `--debug` flag to see detailed request/response information
- Check Notifiarr server logs for additional error details
- Test with minimal configuration first, then add parameters incrementally
For more information about [Notifiarr](https://notifiarr.com/) and its capabilities, visit the [Notifiarr Wiki](https://notifiarr.wiki/).
|