From b891a5a22605a5df1c5b307c097f5c6b56e7d542 Mon Sep 17 00:00:00 2001 From: Gowri Date: Wed, 22 Jul 2026 14:22:59 +0400 Subject: [PATCH 1/3] Add Recruitly SendGrid email-authentication template --- recruitly.io.sendgrid-email-auth.json | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) create mode 100644 recruitly.io.sendgrid-email-auth.json diff --git a/recruitly.io.sendgrid-email-auth.json b/recruitly.io.sendgrid-email-auth.json new file mode 100644 index 00000000..704370df --- /dev/null +++ b/recruitly.io.sendgrid-email-auth.json @@ -0,0 +1,17 @@ +{ + "providerId": "recruitly.io", + "providerName": "Recruitly", + "serviceId": "sendgrid-email-auth", + "serviceName": "Recruitly Email Authentication", + "version": 1, + "description": "Authenticates a sending domain for Recruitly (SendGrid-backed) by adding the three link-branding / DKIM CNAME records. All three are applied together via the synchronous flow.", + "variableDescription": "%mailhost%/%mailtarget%: link-branding (em####) CNAME name + target; %dkim1host%/%dkim1target% and %dkim2host%/%dkim2target%: the two DKIM CNAME names (selector._domainkey) + targets. Values are supplied per-domain from the SendGrid domain-authentication API.", + "syncBlock": false, + "syncPubKeyDomain": "_dcsig.recruitly.io", + "syncRedirectDomain": "dnsconnect.recruitly.app", + "records": [ + { "type": "CNAME", "host": "%mailhost%", "pointsTo": "%mailtarget%", "ttl": 3600 }, + { "type": "CNAME", "host": "%dkim1host%", "pointsTo": "%dkim1target%", "ttl": 3600 }, + { "type": "CNAME", "host": "%dkim2host%", "pointsTo": "%dkim2target%", "ttl": 3600 } + ] +} From 526c32a395d8a716001220214c0ddcb7f21c8d1c Mon Sep 17 00:00:00 2001 From: Gowri Date: Wed, 22 Jul 2026 15:30:02 +0400 Subject: [PATCH 2/3] Use valid hostname for syncPubKeyDomain (dcsig.recruitly.io) --- recruitly.io.sendgrid-email-auth.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/recruitly.io.sendgrid-email-auth.json b/recruitly.io.sendgrid-email-auth.json index 704370df..556fe452 100644 --- a/recruitly.io.sendgrid-email-auth.json +++ b/recruitly.io.sendgrid-email-auth.json @@ -7,7 +7,7 @@ "description": "Authenticates a sending domain for Recruitly (SendGrid-backed) by adding the three link-branding / DKIM CNAME records. All three are applied together via the synchronous flow.", "variableDescription": "%mailhost%/%mailtarget%: link-branding (em####) CNAME name + target; %dkim1host%/%dkim1target% and %dkim2host%/%dkim2target%: the two DKIM CNAME names (selector._domainkey) + targets. Values are supplied per-domain from the SendGrid domain-authentication API.", "syncBlock": false, - "syncPubKeyDomain": "_dcsig.recruitly.io", + "syncPubKeyDomain": "dcsig.recruitly.io", "syncRedirectDomain": "dnsconnect.recruitly.app", "records": [ { "type": "CNAME", "host": "%mailhost%", "pointsTo": "%mailtarget%", "ttl": 3600 }, From f694e63b8ae0cc3067cd87a2be113a4837a28ec3 Mon Sep 17 00:00:00 2001 From: Gary Date: Fri, 24 Jul 2026 16:23:38 +0400 Subject: [PATCH 3/3] Use literal DKIM hosts (rly._domainkey / rly2._domainkey) instead of bare variables Addresses review: SendGrid DKIM host names have a fixed structure for our account (constant custom selector rly/rly2), so the two DKIM CNAME hosts are now literals in the template rather than bare %dkim1host%/%dkim2host% variables. Only the per-domain DKIM targets remain variable. This leaves the link-branding em#### host as the only variable host (its number genuinely varies per domain). --- recruitly.io.sendgrid-email-auth.json | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/recruitly.io.sendgrid-email-auth.json b/recruitly.io.sendgrid-email-auth.json index 556fe452..10904e31 100644 --- a/recruitly.io.sendgrid-email-auth.json +++ b/recruitly.io.sendgrid-email-auth.json @@ -5,13 +5,13 @@ "serviceName": "Recruitly Email Authentication", "version": 1, "description": "Authenticates a sending domain for Recruitly (SendGrid-backed) by adding the three link-branding / DKIM CNAME records. All three are applied together via the synchronous flow.", - "variableDescription": "%mailhost%/%mailtarget%: link-branding (em####) CNAME name + target; %dkim1host%/%dkim1target% and %dkim2host%/%dkim2target%: the two DKIM CNAME names (selector._domainkey) + targets. Values are supplied per-domain from the SendGrid domain-authentication API.", + "variableDescription": "%mailhost%/%mailtarget%: link-branding (em####) CNAME name + target; %dkim1target%/%dkim2target%: the two DKIM CNAME targets. The DKIM host names are fixed (rly._domainkey / rly2._domainkey) — Recruitly's SendGrid account uses a constant custom DKIM selector — so only their targets vary per-domain (supplied from the SendGrid domain-authentication API).", "syncBlock": false, "syncPubKeyDomain": "dcsig.recruitly.io", "syncRedirectDomain": "dnsconnect.recruitly.app", "records": [ { "type": "CNAME", "host": "%mailhost%", "pointsTo": "%mailtarget%", "ttl": 3600 }, - { "type": "CNAME", "host": "%dkim1host%", "pointsTo": "%dkim1target%", "ttl": 3600 }, - { "type": "CNAME", "host": "%dkim2host%", "pointsTo": "%dkim2target%", "ttl": 3600 } + { "type": "CNAME", "host": "rly._domainkey", "pointsTo": "%dkim1target%", "ttl": 3600 }, + { "type": "CNAME", "host": "rly2._domainkey", "pointsTo": "%dkim2target%", "ttl": 3600 } ] }