The suggestion of the Grandstream GDMS tool is one way. We chose to use the EPM module in FreePBX. You will need the paid licensed version of Endpoint Manager (EPM) module in your FreePBX installation. This will allow you to do firmware management and configuration management of Grandstream devices in the same context as the rest of your devices.
You can read up on EPM here: https://sangomakb.atlassian.net/wiki/spaces/PG/pages/31064118/PBX+GUI±+EndPoint+Manager
Firmware management wiki: https://sangomakb.atlassian.net/wiki/spaces/PG/pages/31097141/PBX+GUI±+EPM-Custom+Firmware+Management
This will still require you to at a minimum to program each Grandstream endpoint device with both the Provisioning Server and Firmware Server address(es) and Protocol.
Check the Grandstream documentation for your device for the details. Your device can use DHCP by default and will then phone home (pun intended) for firmware and configuration updates at both power up/reboot and if configured on a periodic basis. Alternatively, you can also set a static IP and the Server and Protocol settings to the same end.
Beware that your FreePBX server and network infrastructure will have to allow network traffic from the remote device on the protocols you have setup.
Should you choose this EPM path for managing your devices firmware, you will want to also take a look at this previous post for tips on EPM Custom Firmware handling.
https://community.freepbx.org/t/custom-firmware-management/93257