SDK & API wishlist: what would help you build better experiences?

Hi everyone,

We’re gathering input from developers to help shape future improvements to the ServiceM8 SDK and API.

If there’s a feature, endpoint, extension point, or improvement you’d like to see, please share:

  • What you’d like
  • Why it would be useful or important
  • How you’d use it in your add-on or integration

We’re especially interested in ideas around billing and payments, logging, debugging, visibility, performance, customer experience, additional places in ServiceM8 where add-ons could extend the product, and expanded API capabilities.

Rough ideas and specific examples are both welcome. Thanks for taking the time to share what would help you build better experiences for ServiceM8 customers.

  • Cody
1 Like

Cody,

Here’s a small quick one — the new email-in-diary functionality is great, but the “opened at {date time}” info the diary shows doesn’t appear to be exposed via the API: the /email.json record has no opened/read field, and there’s no email.opened webhook.

Being able to automate a check for whether an email was opened would be extremely valuable — e.g. confirming a customer actually saw a booking/confirmation email. A field on the email record (opened / first_opened_at) or an email.opened event would do it. Delivered/bounced status would be a nice bonus.

-Chad

Hey Chad, quick update: this is done now. /email.json includes opened, first_opened_at, and bounced for outbound emails.

Docs are here: List job email history

Cody — thanks for the fast turnaround on this! One thing: the docs are live but our account still returns the old record shape from /email.json — no opened / first_opened_at / bounced fields at all, even on a fresh email test I sent a few minutes ago.

Will the roll out take a bit, or does it need per account enabling like the history API did?

Thanks,

-Chad

Something I’d like to see improved regarding simple hosted function logging:

  • currently the logs seam to hit a limit and new entries are no longer visible which makes debugging difficult.

For example an add-on used daily hasn’t updated the log since October 2025 which makes ongoing debugging impossible.

@Cody Tasks used to have a webhook but since these have now changed to checklists assigned to staff would be good to get the webhook on creation / completion for a checklist when assigned to a staff UUID?

Would also love webhooks for email / sms in and out as well if possible.

Hi Chad,

No extra query parameter should be needed for the normal /email.json request: the developer docs list it as the List job email history endpoint, with cursor, limit, and $filter as the documented query params.

Given your account can hit /email.json but the new fields aren’t present, this is something we’ll need to check against your account privately. We’ve had recent API email endpoint rollout cases handled by enabling the endpoint/update on the account, then having the user log out and back in.

Can you email support@servicem8.com with your account details and a sample response showing the missing fields so we can check the rollout state for your account?

Thanks,
Cody

Hi Dan,

Good callout. For Simple Function Add-ons, ServiceM8 manages the infrastructure, so better log retention and clearer visibility in Function Event Logs is useful feedback for debugging hosted functions.

We’ll add this to the SDK/API wishlist, particularly the need for newer entries to remain visible rather than logs appearing capped or stale. ServiceM8 product feedback is read, analysed, and categorised by our team, but we generally won’t comment on if or when a change might be released.

For the add-on that hasn’t shown new logs since October 2025, that’s best checked privately because it may need investigation against the specific add-on. Email support@servicem8.com with the add-on name/ID, approximate timestamps, and any screenshots from the Developer Portal logs view.

Thanks,
Cody

Cody,

Hadn’t checked in a few days so figured I’d try again before contacting support. Looks like my system detected the fields about 7 hours ago so it just took a few days to cycle through for whatever reason. All good now, thanks again!

-Chad

Hi Cody,

It would be great if we were able to mark job as approved using the API.i.e send completed jobs through to Xero (billing tab - awaiting approval).