Browse Docs

Godot Alerts SDK

The API Alerts Godot SDK sends alerts from your Godot 4 games and applications. Drop it into game scripts, server-side game logic, or any Godot project that needs to notify you when something important happens, like a player crossing a milestone, a server hitting an error threshold, or a build needing attention. Minimal setup, fire-and-forget by default, and zero infrastructure.

Installation

Godot Asset Store

Find APIAlerts on the Godot Asset Store, download the addon, and extract addons/apialerts/ into your project’s addons/ directory. In Godot 4.7 and later the Asset Store is built into the editor, so you can search for and install it from the AssetLib tab.

Manual

Copy the addons/apialerts/ folder from the latest release into your project’s addons/ directory.

Enable the plugin

After either method, enable the plugin under Project → Project Settings → Plugins.

Once enabled, APIAlerts is available as an autoloaded singleton throughout your project.

Quick Start

func _ready():
    APIAlerts.configure("your-api-key")
    APIAlerts.send(ApiAlertsEvent.new("Player reached level 10"))

Usage

Fire and forget

APIAlerts.configure("your-api-key")

# Non-blocking. Errors are logged to output, never thrown.
APIAlerts.send(ApiAlertsEvent.new("Deploy complete"))

Wait for response

var result: ApiAlertsSendResult = await APIAlerts.send_async(
    ApiAlertsEvent.new(
        "New user signed up",   # message  (required)
        "revenue",              # channel
        "user.signup",          # event
        "New Signup",           # title
        ["growth", "organic"],  # tags
        "https://dashboard.example.com/users/123",  # link
        {"plan": "pro", "source": "organic"}        # data
    )
)

if result.success:
    print("Sent to %s (%s)" % [result.workspace, result.channel])
else:
    print("Error: ", result.error)

Multiple workspaces

var result: ApiAlertsSendResult = await APIAlerts.send_with_key_async(
    "other-api-key",
    ApiAlertsEvent.new("Cross-workspace event")
)

Debug logging

APIAlerts.configure("your-api-key")
APIAlerts.set_debug(true) # logs sends and errors to Godot output

Event Fields

FieldTypeRequiredDescription
messageStringYesMain notification message
channelStringNoTarget channel name
eventStringNoEvent key for routing
titleStringNoShort title
tagsArray[String]NoCategorisation tags
linkStringNoURL attached to the notification
dataDictionaryNoArbitrary key-value metadata

send_async returns a typed ApiAlertsSendResult:

PropertyTypeDescription
successboolWhether the event was accepted
workspaceStringWorkspace name from the response
channelStringChannel the event was delivered to
warningsArray[String]Any warnings returned by the API
errorStringError message if success is false

Platform support

Alerts go over HTTPS via Godot’s HTTPRequest, so some export targets need network access granted:

  • Android - enable the Internet permission in your Android export preset (Permissions > Internet). Android blocks all network calls without it.
  • macOS - for a sandboxed or App Store build, enable Outgoing Network Connections (Client) in the macOS export options (the com.apple.security.network.client entitlement).
  • iOS - works out of the box. The API is HTTPS, so App Transport Security is satisfied.
  • Web - your API key ships inside the exported build and is visible to anyone who inspects it. Don’t put a production key in a public web export; use a restricted key or send from a trusted backend.
  • Windows / Linux - no extra configuration.