Support

One person answers these. Here is where to put the question.

Most questions are faster in public: a GitHub issue is tracked, searchable, and gets an answer that helps the next person who hits the same thing. A few genuinely need email, and those are marked below.

There is no support form on this site. A form needs a queue somebody watches, and a form that silently drops a message is worse than no form at all.

Where to ask

Five kinds of question, five places.

GitHub issues
Something is broken

An operation refuses when it should not, a preview disagrees with the write, a rollback does not restore.

Public, tracked, and the fastest route. A reproducible report also qualifies for the contributor programme.

The security policy in the repository
A security problem

Anything that would let a caller get past a capability check, reach code execution, or read what a refusal should never leak.

Please do not open a public issue for these. The policy says how to report privately and what to expect.

[email protected]
Billing, licences and refunds

Invoices, moving a licence between sites, cancelling a renewal, a refund inside 14 days.

Freemius is the merchant of record, so an invoice question may be answered from their side.

The feature request board
A feature you want

An operation that does not exist, or one that exists and does the wrong thing for your case.

Public, votable, and the thing the roadmap is actually built from.

[email protected]
Anything else

Press, partnerships, a question you cannot place, or a sentence about what nearly stopped you buying.

One person reads this. Expect a reply within a couple of working days.

Reporting a bug

Five lines that turn a report into a fix.

None of this is a form. It is what is usually missing from a report that then takes three exchanges to reproduce.

A refusal message is safe to paste anywhere: SiteHelm never puts a stack trace, a filesystem path, a SQL fragment, a database error, an authorization header or a resolved IP address into one.

Open a bug report

A reproducible report also qualifies for the contributor programme.

The operation

Its name, as the agent called it — content-update, media-import, and so on.

What you expected

One sentence. The gap between this and what happened is usually the bug.

What came back

The refusal code and its message. They never contain anything sensitive.

Versions

WordPress, PHP, SiteHelm, and the integration involved — Elementor, ACF, Yoast.

Whether it repeats

Once, every time, or only on one site. This decides where to look first.

Before you ask

Three things that answer most of it.

Refused
Read the code the refusal names

There are eleven, each with the fix it carries. The list is on the safety page and it names the cause and the correction for every one.

Missing
Check the operation exists in your tier

A Pro operation on an unlicensed site refuses with IntegrationUnavailable. Free against Pro lists every operation by area and by tier.

Unclear
Look at the module reference

Every operation is documented with what it does, the capability it needs, its risk, and whether it can be rolled back. The documentation is here.

By email

For the things that should not be public.

Licences, invoices, refunds, and anything about your own site you would rather not post in an issue.

[email protected]

Expect a reply within a couple of working days. If it has been longer than that, send it again — it went missing rather than being ignored.

Please do not send credentials. There is no situation in which support needs your Application Password, your hosting login or your database details, and nobody from SiteHelm will ever ask for one.