Skip to content

Conversation

@kyrixdev
Copy link

@kyrixdev kyrixdev commented Feb 1, 2026

Description

<-- short description of the template(s) and/or reason for update -->

Type of change

Please mark options that are relevant.

  • New template
  • Bug fix (non-breaking change which fixes an issue in the template)
  • New feature (non-breaking change which adds functionality to the template)
  • Breaking change (fix or feature that would cause existing template behavior to be not backward compatible)

How Has This Been Tested?

Please mark the following checks done

  • Schema validated using JSON Schema template.schema
  • Template functionality checked using Online Editor
  • Template is checked using template linter
  • Template file name follows the pattern <providerId>.<serviceId>.json
  • resource URL provided with logoUrl is actually served by a webserver

Checklist of common prolems of issues (mark all the checkboxes after conducting the check). Comment on any point which is not fulfilled.

  • digital signatures are used and syncPubKeyDomain specified (yes, warnPhishing is an option, but some providers reject such templates by policy, so signing shall be a default)
  • syncRedirectDomain is specified when intended to use redirect_uri parameter in the synchronous flow
  • no TXT record with SPF content (i.e. "v=spf1 ...") instead of using SPFM record type on APEX
  • txtConflictMatchingMode is set on TXT records which shall be unique on a label (like DMARC)
  • variables are set to the smallest scope needed (i.e. limit possibility to be misused to set any arbitrary record and conflict with other template). Too broad scope example: @ TXT "%verification%". Better usage: @ TXT "foo-verification=%verification%".
  • no variables as a host name to apply template on subdomain instead of standard host parameter
  • no explicit usage of %host% variable in host attribute
  • essential setting is used on records, which the user shall be able to change or remove manually later without dropping the whole template (like DMARC)

Example variable values

<-- to make review process easier please provide example set of variable values for this template -->

<-- Example: -->

var1: aaa
var2: foo.com

<-- Or provide the whole testData object from the Online Editor after testing and using "Add as test" button -->

"testData": {
    "testset": {
      "variables": {
        "domain": "example.com",
        "host": "foo",
        "example": "bar"
      },
      "results": [
        {
          "type": "TXT",
          "name": "foo",
          "ttl": 86400,
          "data": "\"bar\""
        }
      ]
    }
  }

@github-actions
Copy link

github-actions bot commented Feb 1, 2026

Linter OK:

Linter result for hq.coach.forms.json
{"level":"info","template":"hq.coach.forms.json","code":"DCTL1029","dctl_note":"syncPubKeyDomain not defined while syncBlock give impression it should be","time":1769948513}
{"level":"info","template":"hq.coach.forms.json","groupid":"","record":0,"type":"CNAME","invalid":"%host%","code":"DCTL1024","dctl_note":"use of %host% variable name is problematic","time":1769948513}
Linter result for hq.coach.payment.json
{"level":"info","template":"hq.coach.payment.json","code":"DCTL1029","dctl_note":"syncPubKeyDomain not defined while syncBlock give impression it should be","time":1769948513}
{"level":"info","template":"hq.coach.payment.json","groupid":"","record":0,"type":"CNAME","invalid":"%host%","code":"DCTL1024","dctl_note":"use of %host% variable name is problematic","time":1769948513}

@kyrixdev
Copy link
Author

kyrixdev commented Feb 1, 2026

Hi maintainers! 👋

These templates are for HQ Coach (https://hq.coach), a fitness coaching CRM platform that allows coaches and gym owners to manage their clients.

Use Case:
Our users (fitness coaches, gym owners) want to use their own custom domains for:

  • Forms (forms.theirdomain.com) - Client check-in forms, assessments, and intake forms
  • Payments (pay.theirdomain.com) - Payment links and invoices

Currently, users have to manually configure DNS records, which is error-prone and time-consuming for non-technical users. With Domain Connect, we can offer one-click domain setup that works seamlessly with GoDaddy and other supported providers.

Template Details:

  • Both templates create a simple A record pointing to our server IP
  • multiInstance: true allows users to configure multiple subdomains if needed
  • We've tested the flow and it works correctly once the templates are available

Thank you for reviewing! Please let me know if any changes are needed.

Updated the JSON structure for HQ Coach payment service to include host requirement and changed record type from A to CNAME.
@pawel-kow pawel-kow added PR description incomplete The PR description template was not filled in at all, altered or filled in improperly. Checklist of common problems not complete See PR template and mark *all* checkboxes, even if not applicable. Explain any discrepancies. labels Feb 1, 2026
@pawel-kow
Copy link
Member

@kyrixdev Would you mind filling in PR description properly and in fact review and test the template as indicated?

@kerolasa
Copy link
Collaborator

kerolasa commented Feb 2, 2026

Are you expecting this template to be applied using sync (pubkey auth) or async (oauth) flow?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Checklist of common problems not complete See PR template and mark *all* checkboxes, even if not applicable. Explain any discrepancies. PR description incomplete The PR description template was not filled in at all, altered or filled in improperly.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants