All pages
Powered by GitBook
1 of 10

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Loading...

Integrations

Learn more about our official integrations with Sonoran Radio!

Stream Deck Plugin

Sonoran Radio's official Stream Deck plugin gives you faster, customizable control over channels, volume, presets, and more.

Introduction

Sonoran Radio's MacOS and Windows desktop applications offer direct integration with Stream Deck hardware. By installing our official Stream Deck plugin, users can change channels, toggle preset channel groups, change channel and system volumes, and more - faster than ever before.

Don't have a physical Stream Deck? Download the free Stream Deck Mobile app!

Installation

1. Download and Install the Plugin

2. Configure Actions

Using the Stream Deck desktop application search for Sonoran Radio in the Keys and Dials sections.

Drag-and-drop an action category to the Stream Deck. Select the action to update the sub-type.

Ex: Channel key type > Toggle XMIT Channels > Select Channels

3. Optional: FiveM Integration

Each action can be configured to control the desktop app (default) or .

For clients using the in-game radio in FiveM, simply toggle each action from Desktop to FiveM.

Sonoran Radio then acts as a local bridge between the Stream Deck, the desktop app, and the FiveM radio. The desktop app must be running, but does not have to have any radio community open or selected.

  1. Stream Deck sends the action to Sonoran Radio Desktop on localhost

  2. Sonoran Radio Desktop forwards the command to a localhost WebSocket

  3. your FiveM client script listens to that socket and forwards the event into the radio iframe/NUI

  4. the iframe/NUI sends radio state snapshots back through your FiveM client script to Sonoran Radio Desktop

This means the normal setup for users is:

  • keep Sonoran Radio Desktop running

  • switch the Stream Deck action target to FiveM

  • run a FiveM client script that connects to the desktop socket and forwards the documented messages

4. FiveM Developer Setup

If you are implementing the FiveM side yourself, use the documented developer contract here:

Capabilities

Keys

Channel Category Buttons

Channel actions allow you to do somethin

  • Next Group

  • Previous Group

Toggle Category Buttons
  • Push to Talk

  • Toggle AI Mode

Audio Category Buttons
  • Volume Up

  • Volume Down

Desktop Category Buttons
  • Connected Users Overlay

  • Focus Radio Overlay

Dials

Stream Deck hardware with dials have the following supported actions:

Dial Options
  • Cycle Groups (Prev/Next)

  • Cycle Channels (Prev/Next)

  • Stream Deck reads those snapshots for channel lists, labels, and action state

  • Next Channel

  • Previous Channel

  • Toggle XMIT Channels

    • Select one or more channels

    • Toggling this action will add and remove the selected channel(s) from your transmit list

  • Temporary XMIT Channel

    • Select a channel

    • Pressing this action will temporarily transmit in the selected channel and return to your previous channel(s) after release

  • Toggle Scan Channels

    • Select one or more channels

    • Toggling this action will add and remove the selected channel(s) from your scan list

  • Toggle Tone Board
    SFX Volume Up
  • SFX Volume Down

  • AI Volume Up

  • AI Volume Down

  • Toggle Radio Overlay
    Adjust Volume
    • Optional Press to Mute

  • Adjust SFX Volume

    • Optional Press to Mute

  • Adjust AI Volume

    • Optional Press to Mute

  • Adjust Current Channel Volume

    • Optional Press to Mute

  • Download the official Sonoran Radio Stream Deck plugin from the Elgato Marketplace.
    FiveM in-game resource
    Stream Deck API

    Sonoran CAD Integration

    Integrate the Radio with your Sonoran CAD!

    Sonoran Radio CAD Plugin

    To enable integrations between Sonoran CAD and Radio, simply enable the sonrad (Sonoran Radio) submodule in your CAD resource.

    Integration Features

    Panic Toggle

    CAD Panic Toggle

    Triggering your Sonoran Radio panic (by pressing the yellow button at the top of the radio) will also toggle your panic status in Sonoran CAD.

    Dispatch Call Information

    Dispatch Call Information

    When attached to a Sonoran CAD dispatch call, the radio will display a red call info box and set the top status bar to red. Click the call title to expand and collapse the information.

    Live Map Blips

    Live Map Radio Tower Information

    Sonoran Radio towers will be displayed on the CAD live map.

    Select one of the blips to view it's repeater type and health.

    Display Name Sync

    CAD To Radio Display Name

    Automatically set your radio's display name based on your CAD unit information.

    In the sonorad submodule's configuration file, set config.syncRadioName.enabled to true and customize the formatting in config.syncRadioName.nameFormat.

    FiveM Phone Scripts

    Sonoran Radio integrates with FiveM phone scripts to allow players to call Sonoran Radio emergency service dispatchers right from their phone

    LB Phone

    LB Phone support for Sonoran Radio is as easy as changing a configuration variable.

    Sonoran Radio x CAD Call Information
    Call Information - Expanded
    Sonoran Radio Handheld - Panic Button
    Configuration
    1. In your config.lua, set Config.phoneResource to 'lb-phone'.

    2. Ensure you start the lb-phone resource prior to Sonoran Radio.

    3. Customize the emergency call number and hide the call banner.

    Usage

    In LB Phone, dial 911 (or your customized number) to connect with a Sonoran Radio dispatcher. Press the end call button to hang up.

    Sonoran Radio: LB Phone Emergency Call
    Sonoran Radio: LB Phone Emergency Call

    FiveM Inventories

    Sonoran Radio integrates with FiveM inventory systems for physical radio and scanner items.

    QBCore

    QBCore inventory support for the radio and radio scanner items is automatically detected.

    Configuration

    Inventory Restriction

    To restrict radio and scanner access to users with the radio item in their inventory, set config.enforceRadioItem to true.

    Inventory Item

    Customize your radio and scanner items in your config.lua's Config.RadioItem and Config.ScannerItem objects.

    Config.Lua Properties

    Supported Inventories (QBCore)

    Currently, the following QBCore inventories are supported:

    • QBCore Inventory

    • OX Inventory

    • QS Inventory

    • Core Inventory

    Qbox

    Configuration

    Inventory Restriction

    To restrict radio and scanner access to users with the radio item in their inventory, set config.enforceRadioItem to true.

    Inventory Item

    Qbox requires you to manually add the following to your /ox_inventory/data/items.lua file. The config.lua's Config.RadioItem and Config.ScannerItem can not be used with Qbox.

    Ox Inventory Items File

    Supported Inventories (Qbox)

    Currently, the following Qbox inventories are supported:

    • OX Inventory

    Known Issues and Limitations

    OX Inventory

    OX Inventory Bugs and Limitations

    QBCore Support

    QS Inventory

    QS Inventory Bugs and Limitations

    Official Support

    While QS inventory has not been officially tested with Sonoran Radio, customers have reported it working with full functionality. Report any issues on our .

    Big Daddy Radio Animations

    Sonoran Radio is partnered with Big Daddy Scripts to offer a FREE copy of their radio animations script!

    Sonoran Radio x Big Daddy Scripts

    What is this offer?

    This script requires the pro version of Sonoran Radio standalone.

    Big Daddy's radio animation script enhances your Sonoran Radio experience by adding new in-game animations. As one of the most popular scripts of its kind, it offers versatile options based on where your radio is positioned—whether on your chest, shoulders, or handheld. This provides a more immersive and personalized interaction.

    Download and Installation

    1. Download the Script and Product Key

    Create an account and from Big Daddy Scripts.

    In the account portal, select your recent order and copy the product key.

    2. Install The Script

    A. Extract

    Extract the script to your server's resources folder.

    B. License Key

    In the settings.ini file, paste your license key.

    C. Ensure the Resource

    In your server.cfg file, add the following line after your Sonoran Radio resource lines:

    Sonoran Radio will automatically detect the script named BigDaddy-RadioAnimation, and disable the default Sonoran Radio animation (disableAnimation from the config.lua)

    3. Enjoy!

    Once in-game, you can use the /radioanim command to open up the customization menu.

    This script will automatically detect when you are talking on your Sonoran Radio.

    OX inventory has officially dropped QBCore support in sole favor of the Qbox framework. However, full functionality can still work.
    support website
    -- Located in the Radio's config.lua
    Config.RadioItem = {		 -- Note: Changes to this item will require a server restart to take effect
    	name = 'sonoran_radio',  -- Item name in your inventory | STRING
    	label = 'Sonoran Radio', -- Label for the item in your inventory | STRING
    	weight = 1, 			 -- Weight of the item in your inventory | INT
    	description = 'Communicate with others through the Sonoran Radio', -- Description of the item in your inventory | STRING
    }
    Config.ScannerItem = {
    	name = 'sonoran_radio_scanner', -- Item ID
    	label = 'Sonoran Radio Scanner', -- Label for the item in your inventory
    	weight = 1, -- Weight of the item in your inventory
    	description = 'Listen to radio chatter with the Sonoran Radio Scanner', -- Description of the item in your inventory
    }
    

    This script also makes users talk on their in-game microphone when they talk on the radio.

    To disable this, ensure the Config.talkSync is disabled in the Sonoran Radio config.lua and the TalkSync is set to false in Big Daddy's Animation settings.ini file.

    download the latest script resource
    See the documentation for more information about configuration options and commands.
    Click to learn more about Sonoran Radio standalone!
    Big Daddy - Account Panel
    Big Daddy - License Key
    Big Daddy - Product Key
    ['sonoran_radio_scanner'] = {
            label = 'Sonoran Radio Scanner',
            description = 'Listen to radio chatter with the Sonoran Radio Scanner',
            weight = 1,
            client = {
                image = 'radio.png',
                remove = function(total)
                    if total < 1 then
                        TriggerServerEvent('SonoranRadio::DropItem::Scanner')
                    end
                end
            }
        },
        ['sonoran_radio'] = {
            label = 'Sonoran Radio',
            description = 'Communicate with others through the Sonoran Radio',
            weight = 1,
            client = {
                image = 'radio.png'
            }
        },
    # Start the sonoranradio resource
    ensure sonoranradio
    
    # Permissions for auto-updater (REQUIRED)
    add_ace resource.sonoranradio command allow
    add_ace resource.sonoranradio_updatehelper command allow
    
    # ----------------NEW----------------
    # Big Daddy Radio Animation Script
    ensure BigDaddy-RadioAnimation

    Vehicle Radio Display

    View Sonoran Radio on a working, in-vehicle 3D display!

    Vehicle Radio Display (Video Tutorial)

    The vehicle radio display is a free Tebex script fully compatible with the free version of Sonoran Radio.

    Sonoran Radio - Vehicle Display

    Installation (Written)

    1. Download the Script

    "Purchase" the free .

    Once purchased, see:

    2. Install the script

    A. Extract Folders

    Extract the script's two folders (sonoran-radiodisplay and sonoran-radiodisplay_helper) to a folder in your server's resources folder called [sonoranradio].

    B. Rename Config Files

    Inside of the sonoran-radiodisplay folder:

    • Rename config.changeme.lua to config.lua

      • See more about the here.

    • Rename radios.changeme.json

    C. Start the Resource

    To start the display resource and give the auto-updater permissions to run, paste the following into your server.cfg

    Configuration

    The config.lua file allows you to customize the labels, ACE permissions, and more!

    Default config.lua

    Spawning the Radio Display

    Use the /radiodisplay command while in a vehicle to spawn a new display.

    • Use the keys displayed at the bottom of your screen to move and rotate the display into position.

    • Select Attach to attach the display to your vehicle.

      • See the Config.acePerms.aceObjectUseMenu for permission restrictions.

    radios.json Property Explanation

    Property Name
    Example
    Notes

    Commands

    Command Name
    Command Description
    Required Permissions

    Default Vehicles

    Vehicle Spawncode
    Adds Radio by Default

    Additional Display Resources

    Loving the radio display? Check out our and displays!

    Changelog

    v1.0.1

    • fix: Duplicate radio items when a passenger is in the vehicle

    v1.0.0

    • Initial Release

    to
    radios.json

    Select Apply to all of this vehicle model to have the radio display automatically added whenever the vehicle type is spawned.

    • See the config.lua Config.acePerms.aceObjectAdminUseMenu for permission restrictions.

    This is a table that contains the x, y, and z rotation of the radar

    Vehicle

    POLICE

    This is the vehicles spawn code

    Bone

    -1

    This is the index of the bone you would like to attach the radar to

    yes

    POLICE3

    yes

    POLICE4

    yes

    POLICEOLD1

    no

    POLICEOLD2

    no

    SHERIFF

    yes

    SHERIFF2

    yes

    # Start the Radio Display Resource
    ensure sonoran-radiodisplay
    
    # Grant permissions to the auto-updater
    add_ace resource.sonoran-radiodisplay command allow
    add_ace resource.sonoran-radiodisplay_helper command allow
    Config = {}
    
    Config.debug_mode = false -- Enable debug mode
    Config.configuration_version = 1.0
    Config.auto_update = true -- Enable auto updates
    
    Config.lang = {
        addNewRadioHelp = 'Open the menu to begin spawning a new in-car model model',
        vehNotCompatible = 'This vehicle is not compatible with the in-car model placement system!',
        vehAlrRadio = 'This vehicle already has a valid in-car radio!',
        radioMenuHeader = 'Sonoran In-Car Radio',
        creditsPanel = 'Made by',
        spawningSubMenu = 'In-Car Radio Spawning',
        attachingSubMenu = 'Attaching',
        deletionSubMenu = 'Are you sure?',
        radioAttachMenuButton = 'Attach In-Car Radio',
        deleteMenuButton = 'Delete Current In-Car Radio',
        spawnMenuButton = 'Spawn In-Car Radio',
        deletionConfirmationButton = 'Yes, remove from all of these vehicles',
        deletionCancelButton = 'Cancel',
        deletionCancelled = 'In-Car Radio deletion cancelled',
        noRadioFound = 'No In-Car Radio is in this vehicle!',
        modelComboBox = 'Model:',
        vehAlrRadioNoti = '~r~This vehicle already has an In-Car Radio of this type',
        notInVeh = '~r~You must be in a vehicle!',
        vehicleBone = 'Radio - Vehicle Bone',
        object = "Object:",
        vehicleBoneComboBox = 'Vehicle Bone',
        objectName = 'Sonoran In-Car Radio',
        attachButton = 'Attach',
        detachButton = 'Detach',
        confirmPlacementButton = 'Apply to all of this vehicle model',
        cannotGoFaster = '~r~You cannot go any faster!',
        cannotGoSlower = '~r~You cannot go any slower!',
    }
    
    Config.commands = {
        carRadioMenu = 'radiodisplay',
        restricted = false -- should the radio display menu be restricted?
    }
    
    Config.permissionMode = "ace" -- Available Options: ace, framework, custom
    
    -- Ace Permissions Section --
    Config.acePerms = {
        aceObjectUseMenu = "sonoran.incarradio", -- Select the ace for placing new In-Car radios
        aceObjectAdminUseMenu = "sonoran.incarradio.admin", -- Select the ace for placing new In-Car radios into all vehicles of the same model
    }
    
    -- Framework Related Settings --
    Config.framework = {
        frameworkType = "qb-core", -- This setting controls which framework is in use options are esx or qb-core
        civilianJobNames = {"unemployed"}, -- An array of job names that should be allowed to use the radio menu
        adminJobNames = {"admin"}, -- An array of job names that should be allowed to use the radio menu as an admin
        useCivilianJobListAsBlacklist = false, -- This will treat the civilian job list as a blacklist rather than a whitelist
    }
    
    -- Configuration For Custom Permissions Handling --
    Config.custom = {
        checkPermsServerSide = true, -- If true the permission event will be sent out to the server side resource, this is recommended
        permissionCheck = function(_, type) -- This function will always be called server side.
            if type == 0 then -- Check permission to use the menu
                return true or false -- Return true if they have admin, return false if they don't
            end
        end
    }
    
    Config.general = {
        notificationType = "native", -- Available options: native, pNotify, okokNotify
        useAllowlistAsBlacklist = false, -- If true, the Config.allowlistedCars will be treated as an blacklist
    }
    
    Config.allowlistedCars = {
        "POLICE",
        "POLICE2",
        "POLICE3",
        "POLICE4",
        "FBI",
        "FBI2",
        "SHERIFF",
        "SHERIFF2",
    }
    

    ID

    2

    ID must be unique. No other radar can share this ID

    Position

    This is a table that contains the x, y, and z coords of the radar

    /radiodisplay

    This command will initiate the radar spawning and attaching process

    As configured

    FBI

    yes

    FBI2

    yes

    POLICE

    yes

    vehicle radio display from the Sonoran Store
    How to download the script from your Keymaster account.
    configuration options
    config.lua
    in-vehicle police radar
    radar detector
    Radio Display - Folders
    Sonoran Store: Radar Display
    Sonoran Store: Radar Detector

    Rotation

    POLICE2

    Dispatch AI

    Speak to our AI dispatcher over the radio to manage CAD status, dispatch calls, run record lookups, and more.

    This feature is in a public BETA state.

    Services may be intermittent and unreliable. Some features may experience issues.

    Dispatch AI is not yet approved for full, production use. Utilize dispatch AI at your own risk.

    This feature requires both Sonoran CAD Pro and Sonoran Radio Pro.

    Setup Video

    Setup Documentation

    1. Copy Sonoran CAD API Information

    Copy Sonoran CAD API Information

    Dispatch AI requires a Sonoran CAD community ID, API key, and server ID.

    The community ID and API key are located in the Admin panel > Advanced > In-Game Integration > Web API.

    The server ID can be found in the Admin panel > Customization > Servers. The default server ID is 1.

    2. Create an Open AI API Key (BYOK)

    Open AI API Key

    Currently, dispatch AI runs on a bring-your-own-key (BYOK) system for AI usage billing. This allows communities to maintain granular control of their AI expenses with OpenAI as a third-party. This system is subject to change in the future.

    In the current beta, dispatch AI relies on the following models:

    • gpt-realtime-mini

    3. Link CAD In Radio

    Link CAD In Radio

    In the radio Customization panel > Info > Select a server (or create one) and click on the Sonoran CAD icon. This will open a popup modal to enter in your CAD's community ID, API key, and server ID. Additionally, paste in your AI API key from the previous step.

    4. Prompt Customization

    AI Prompt Phrases

    The AI has a set of tools it can use to take action in the CAD and on the radio—such as running lookups, creating calls, or updating statuses.

    Radio traffic varies by community. One agency might say, “show me out on traffic with a blue sedan,” while another says, “create a traffic stop call with a blue sedan.”

    Prompt phrase customization lets you train the AI to map your agency’s specific radio language to the correct system actions, so it responds appropriately to local lingo.

    Keep your phrases short and direct. Adding too many phrases can eventually overload the AI's context window.

    Invoke the AI

    Via Wake Work

    When pressing your push-to-talk key, a local AI listens to your microphone feed for the customizable wake word. By default, this is Dispatch.

    Users can customize their wake word by pressing the microphone button and speaking their custom wake word.

    Communities can also .

    Via Hotkey (Web and Desktop)

    Web and desktop users can also set a . Pressing this keybind will enable the AI (same as the wake word) for your transmission.

    FiveM: Via Hotkey

    FiveM users can also set a manual keybind in the settings. Pressing this keybind will enable the AI (same as the wake word) for your transmission.

    Enable/Disable the AI

    Manually

    The AI can be manually toggled on or off via the CAD link page.

    Auto Disable w/Human Dispatcher

    The AI can be automatically disabled whenever an active dispatcher is in the CAD.

    When this feature is enabled, the AI will check for a dispatcher once per minute.

    AI Commands & Features

    CAD Functionality

    CAD Status

    The AI can update the status of you and other units to the stated, customizable status code.

    Dispatch, A-10, mark my status as available. &#xNAN;Dispatch, A-10, set B-11 and I to 10-8.

    CAD Lookup

    The AI agent can perform a name or plate lookup, send the results to your CAD, and notify you of brief details.

    Dispatch, A-10, run a lookup on the plate ABC123. &#xNAN;Dispatch, A-10, do a record check on first name John last name Doe.

    CAD Dispatch Calls

    Create Call

    The AI can create a call and assign your unit. If your unit has a location, it will be automatically applied to the call unless otherwise specified. If a license plate is provided, it will automatically run a plate lookup and send the results to your CAD.

    Dispatch, A-10, show me out on traffic with a blue four-door sedan. License plate ABC123.


    Attach to Call

    The AI can attach you and other units to an existing call by mentioning the call ID, location, postal, title, etc.

    CAD Unit Groups

    Group Units

    The AI can add your unit (and others) to a new or existing group.

    Dispatch, A-10, add me to group 'Ladder 12'. &#xNAN;Dispatch, A-10, add myself and B-11 to group 'Ladder 12'.


    Clear Unit Group

    The AI can remove your unit (and others) from a group.

    CAD Panic

    Dispatch, A-10, toggle my panic status.

    The AI agent will enable or disable your panic status.

    FIveM: Emergency Call Readout

    In the Radio Zones menu, you can create custom zones and assign radio channels to each. When a 911 call is generated in CAD, the AI automatically creates a new dispatch call, reads the call over the channels configured for that zone, and removes the 911 call.

    FiveM: GPS Route to Postal

    The AI can draw an in-game GPS route to a postal code on the map.

    Raw Postal:

    Dispatch, A-10, route me to postal 123. &#xNAN;Dispatch, A-10, directions to postal 123.


    Postal on a Dispatch Call

    The AI can find an active dispatch call based on the ID, location, title, etc. &#xNAN;

    FiveM: GPS Route to Unit

    The AI will route you to the coordinates of another active unit by providing their unit name, number, etc.

    Dispatch, A-10, route me unit B-11. &#xNAN;Dispatch, A-10, directions to unit J. Doe.

    FiveM: Auto-Status on GPS Route + Arrival

    When the AI routes a user to a specific or it will automatically set your status as en-route. Upon arrival, the AI will automatically mark your status as on-scene.

    The radio resource's contains Config.autoOnSceneStatus with options to tweak the settings.

    Radio Functionality

    Coming soon!

    Settings

    AI Volume

    The AI's reply volume can be changed in the settings menu.

    Hear AI Replies

    By default, users hear AI replies directed to anyone in their primary or scanned channel. The radio setting allows you to switch from hearing AI replies for all users to hearing only replies addressed to you.

  • gpt-5-nano

  • gpt-4o-mini-transcribe

  • gpt-4o-mini-tts

  • Prompting the AI

    In order to reduce false triggers and conserve local resources, the AI will only listen to the first five seconds of your transmission. This amount can be modified in the Advanced tab of the Audio settings.

    Upon detection of the wake word, an audible beep indicates that the AI has been activated. Users may begin speaking before the beep is heard, as long as the tone occurs at some point during the same transmission.

    Example

    If your wake word is Dispatch, then your transmissions to the AI would be as follows:

    <wake word>, <optional: my unit number>, <action to do> &#xNAN;Dispatch, A-10, mark me as available. &#xNAN;Dispatch, A-10, run a lookup on the license plate ABC123

    Dispatch, A-10, attach me to the robbery in progress call. &#xNAN;Dispatch, A-10, attach B-11 to my call.


    Call Notes

    The AI can add a note to your active dispatch call for other units to see.

    Dispatch, A-10, add a note on the call that I am arriving on-scene now, it's a white vehicle.


    Detach from Call

    The AI can lookup your current dispatch call and remove you from it.

    Dispatch, A-10, clear my call.


    Close Call

    The AI can lookup and close your current dispatch call. &#xNAN;Dispatch, A-10, close my call.

    Dispatch, A-10, clear my unit group. &#xNAN;Dispatch, A-10, remove B-11 and I's unit group.
    Dispatch
    , A-10, route me to call 123.
    &#xNAN;
    Dispatch
    , A-10, route me to the traffic stop call.

    Sonoran Software Systems is not responsible for any unexpected or excess charges incurred from OpenAI or other third-party AI service providers. Communities are strongly encouraged to set spending limits, enable billing alerts, and actively monitor AI usage to ensure costs remain within approved thresholds.

    Because OpenAI and all other AI providers are a third-party, Sonoran Software Systems has no ability to offer refunds or reduced rates for AI costs.

    When first connecting to the radio, if you are the only user in the room, the AI agent may take up to 30 seconds to join.

    When the agent has joined, a brief "Dispatch Online" audio will play.

    In order to route your GPS to a postal code, the Nearest Postal resource is required. Or, another resource that can handle the command /postal <id>.

    This feature requires the Nearest Postal resource version v1.5.4 or newer.

    View the OpenAI API Key process here.
    customize the default wake word for all users
    customizable hotkey in the settings menu
    postal code
    GPS coordinate (unit location)
    config.lua
    Learn more about our paid subscription plans.

    Sonoran CMS

    Automate Sonoran Radio permissions with Sonoran CMS!

    Sonoran CMS makes managing your community's radio easy and automatic!

    • Sync radio permissions and channel access via CMS ranks and Discord Roles

    • Sync radio display names via CMS and Discord names

    Learn more about Sonoran CMS!
    Sonoran CMS x Sonoran Radio

    AI Keys

    Integrate Sonoran Radio with OpenAI.

    Sonoran Radio AI

    Sonoran Radio integrates with OpenAI to add additional features and functionality. Each feature can be easily enabled or disabled and have separate AI keys for optimal billing transparency.

    Generating an Open AI Key

    1. Login to the Open AI Platform

    Navigate to and create an account.

    At the top left, select Create Project for a new category of Sonoran Radio API keys.

    2. Add Billing Information

    OpenAI charges based on usage for each model. You will need to add payment information for AI usage.

    Navigate to Settings > Billing > Add payment details to add a credit or debit card on file. Once added, you can manually add credits and set billing limits.

    3. Generate an API Key

    With the new project selected, navigate to API Keys > Create new secret key

    Give the new API key a name (we recommend a separate key for for optimal billing transparency) and select your Sonoran Radio project.

    You can also restrict each key's model access based on the .

    4. Add your API Key to Sonoran Radio

    In Sonoran Radio, navigate to Customize > AI > toggle on and paste in your new OpenAI API key for the specific feature.

    AI Options

    Dispatch AI offers in-depth integration to manage Sonoran CAD unit statuses, lookups, call creation, emergency calls, and more.

    Model Requirements (OpenAI)

    • gpt-realtime-mini

    • gpt-5-nano

    • gpt-4o-mini-transcribe

    (Speech-To-Text)

    Transmission logs enable dispatchers to review and replay previous transmissions. With AI integration, these logs are enhanced with text transcripts, making it easier to search, reference, and analyze past communications efficiently.

    Model Requirements (OpenAI):

    whisper-1

    gpt-4o-mini-tts

    platform.openai.com
    each AI feature
    specific feature's requirements
    Dispatch AI
    Transmission Log STT
    OpenAI: Create Project
    OpenAI: Name Project
    OpenAI: Payment Details
    OpenAI: Payment Limits
    OpenAI: Generate Key
    OpenAI: Generate Key
    Sonoran Radio: OpenAI API Keys