Reference

Tools

Your AI uses these tools. You don't call them yourself, but knowing them helps you ask for the right thing.

ToolWhat it does
servicem8addons_guideFloConnector's guide to building ServiceM8 add-ons, and ServiceM8's API reference. Your AI reads it before writing an add-on.
servicem8addons_list_addonsEvery add-on in the account, and which ones FloConnector built.
servicem8addons_get_addonOne add-on's status, and for ones FloConnector built, the saved draft and what is live.
servicem8addons_save_draftChecks an add-on and saves it as a draft. Nothing reaches ServiceM8.
servicem8addons_preview_addonOpens the preview of a saved draft.
servicem8addons_deploy_addonPuts the saved draft live, once you've approved it.
servicem8addons_disable_addonSwitches an add-on off, keeping its draft.
servicem8addons_get_logsListens to an add-on's logs for up to 45 seconds while you use it.
servicem8addons_request_secretMakes a one-time link where you enter a key for another service.
servicem8addons_list_secretsLists an add-on's secrets by name. Values are never shown.
servicem8addons_delete_secretDeletes one secret.

Limits

Limit
CodeOne file, up to 256 KB, using only what is built into Node 24. No packages.
SettingsUp to 10, shown in ServiceM8 under Settings, Preferences, Add-ons.
Requests to ServiceM8180 a minute and 20,000 a day, per add-on, per account. Separate from FloConnector's own connection.
Saved memory64 KB per job and 64 KB for the whole account, for each add-on.
Deploys20 to 40 seconds. New buttons and menu entries can take a few minutes more to appear.
Automatic runsAbout 17 seconds after the change. Changes in the first 10 seconds or so after a deploy can be missed.
Watching logsUp to 45 seconds per listen, plus a few seconds before it starts.

What add-ons can't do

Add-ons add things to ServiceM8. They can't change how ServiceM8's own screens work, and they only run when something triggers them.

  • They can't show a person a different ServiceM8. An add-on can't hide a diary item from one staff member while showing it to another, in ServiceM8's own diary. What it can do is move the item out of the diary for everyone, and show it behind its own button to the roles you choose. That keeps the diary tidy, but it isn't a lock: the item is visible until the add-on gets to it, a phone that already synced it may keep a copy, and anything with access to your ServiceM8 data can still read it.
  • They only run when something happens. Someone clicks a button, opens a menu page, or a record the add-on watches changes. There is no "every morning at 8".
  • They react to changes, not events. An automatic add-on watches fields on a record, such as a job's status. That covers events like "job completed" too, because completing a job changes its status and completion date.
  • They can't use outside code libraries. One file, built from what Node already includes.

Fixes for common problems

I deployed it but can't see the button. Wait a couple of minutes and reload ServiceM8. New add-ons can take a few minutes to appear. In the app, give it a moment to sync. Check you're looking in the right place: on a job under More, Addons for a job button, and under Account, Addons for an add-on page.

The button shows an error, or does nothing. Ask your AI to watch the logs while you click it. The log usually says exactly what failed.

The logs show "403" or a permission error. The add-on is calling something its permissions don't cover. Ask your AI to add the permission it needs, then review and deploy again.

An automatic add-on didn't run. It runs about 17 seconds after the change, and only when a field it watches changes. A change made in the first few seconds after a deploy can be missed, so try again.

It forgets things it should remember. Saving its own settings or notes needs the "save its own settings and notes" permission. Without it, saves fail quietly.

The deploy failed with "Manifest processing failed". Most often an icon link that isn't a public https:// image, or that has stopped working. Ask your AI to check the icons.

The preview doesn't appear. Your AI app may not show interactive results. Ask for a summary of the draft instead, and test it in a test account.