Skip to content

Generic

The Generic service can be used for any target that is not explicitly supported by Shoutrrr, as long as it supports receiving the message via a POST request. Usually, this requires customization on the receiving end to interpret the payload that it receives, and might not be a viable approach.

Common examples for use with service providers can be found under examples.

JSON template

By using the built in JSON template (template=json) you can create a generic JSON payload. The keys used for title and message can be overriden by supplying the params/query values titleKey and messageKey.

Example

{
    "title": "Oh no!",
    "message": "The thing happened and now there is stuff all over the area!"
}

Shortcut URL

You can just add generic+ as a prefix to your target URL to use it with the generic service, so

https://example.com/api/v1/postStuff
would become
generic+https://example.com/api/v1/postStuff

Note

Any query variables added to the URL will be escaped so that they can be forwarded to the remote server. That means that you cannot use ?template=json with the generic+https://, just use generic:// instead!

Forwarded query variables

All query variables that are not listed in the Query/Param Props section will be forwarded to the target endpoint. If you need to pass a query variable that is reserved, you can prefix it with an underscore (_).

Example

The URL generic+https://example.com/api/v1/postStuff?contenttype=text/plain would send a POST message to https://example.com/api/v1/postStuff using the Content-Type: text/plain header.

If instead escaped, generic+https://example.com/api/v1/postStuff?_contenttype=text/plain would send a POST message to https://example.com/api/v1/postStuff?contenttype=text/plain using the Content-Type: application/json header (as it's the default).

URL Format

URL Fields

Query/Param Props

Props can be either supplied using the params argument, or through the URL using
?key=value&key=value etc.

  • ContentType - The value of the Content-Type header
    Default: application/json

  • DisableTLS
    Default: ❌ No

  • MessageKey - The key that will be used for the message value
    Default: message

  • RequestMethod
    Default: POST

  • Template - The template used for creating the request payload
    Default: empty

  • Title
    Default: empty

  • TitleKey - The key that will be used for the title value
    Default: title