HTML企业官网

ghl-agency-onboarding — HTML 企业官网模板

作者 Derek-Bearman

面向使用 GoHighLevel 的营销代理机构的新客户入驻模板:单文件 HTML 表单、Cloudflare Worker 中转、GHL 自定义字段与两条工作流,README 给出完整搭建步骤。

看看你的网站会是什么样

浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。

2 个预览视图
桌面端首页1 / 2
桌面端截图首屏预览

由服务器浏览器实际访问页面后截取。

全部页面与视图 2

截图用于了解视觉与布局,交互效果请以实际项目为准。

采集于 2026-10-13查看来源

值得关注的模板亮点

从已有项目资料中,快速了解它的特点。

01

单文件 HTML 表单可粘贴进 GHL 漏斗页面的 Custom Code 块,支持品牌色与机构名称配置

02

Cloudflare Worker 作为中转持有 GHL API 密钥,避免密钥暴露在公开网页

03

支持热路径(已打标签联系人自动预填 25 个字段)与冷路径(无链接访客先建联系人再预填)

04

通过 KV 存储按客户区分的配置,模板文件为 __agency.example.json

05

README 包含两条 GHL 工作流的分步搭建指南和冷路径部署文档

06

仓库不含测试,README 说明仅通过 curl 进行冒烟测试

模板详细介绍

该仓库提供一套可复用的客户入驻方案,用于向新客户收集 25 个以上结构化业务字段,并写入 GoHighLevel(GHL)联系人记录。README 说明其核心由三部分组成:一个可粘贴到 GHL 漏斗页面的单文件 HTML 表单、一个持有 GHL API 密钥并负责读写联系人的 Cloudflare Worker,以及两条在 GHL 界面中手动搭建的工作流(发送入驻链接、提交完成通知)。

流程分为两条路径。已打标签的“热路径”:在 GHL 联系人上打 send-onboarding 标签,工作流发送链接,客户打开表单后经 Worker 拉取联系人数据并预填 25 个字段,提交后 Worker 写回数据并打上 onboarding-complete 标签,第二条工作流向代理机构发送摘要邮件。无链接的“冷路径”:访客直接访问 URL,先看到姓名与邮箱卡片,Worker 在 GHL 中创建或更新联系人并返回 ID,若邮箱匹配已有联系人则同样触发完整预填。

README 明确列出限制:这不是 SaaS,需自行在 Cloudflare 托管;GHL 未开放工作流创建 API,两条工作流仍需在 GHL 界面手动点击搭建;仓库中的 Worker 代码假设你是在已有 Worker 上追加,若从零开始需按 EXISTING_FILES.md 补齐 5 个最小脚手架文件;仓库不包含测试,仅提供 curl 冒烟测试说明。README 称设置时间约 2 小时,Cloudflare Workers 免费额度可处理每月数千次提交,但未提供性能测试或生产环境验证数据。

HTML企业官网

适合你的项目吗?

适用场景

  • 一人或小型营销代理机构需要向新客户收集法律名称、EIN、服务、营业时间、品牌色、社交链接、GMB 状态等 25 个以上字段
  • 希望避免使用 Typeform + Zapier 等按月付费的表单与自动化组合
  • 希望将客户提交的数据直接写入 GoHighLevel 联系人记录并触发后续通知
  • 需要为已有 GHL 联系人发送带预填信息的入驻链接,减少客户重复填写
  • 愿意自行在 Cloudflare 上部署 Worker 并手动在 GHL 界面搭建工作流

适合人群

  • 使用 GoHighLevel 作为 CRM 且拥有可控制子账户的营销代理机构
  • 具备 Cloudflare Workers、wrangler、KV 和基本 JavaScript 部署能力的开发者或技术运营
  • 接受自行托管、不追求开箱即用 SaaS 的团队
  • 需要可 fork 并按自身字段与品牌定制的入驻流程模板的机构

上手与定制指南

结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。

  1. 1

    前置条件:GoHighLevel 子账户、Cloudflare 账户、本地安装 node、npm 和 wrangler,可选自定义域名指向漏斗

  2. 2

    在 GHL 中创建私有集成令牌(需 Contacts.read 与 Contacts.write 权限),记录 locationId,并创建名为 Onboarding 的文件夹及 25 个与 customFieldMapping 匹配的自定义字段

  3. 3

    创建 KV 命名空间,将 __agency.example.json 填入真实值后上传为 __agency 键,并部署 Worker 获得 workers.dev 地址

  4. 4

    在表单 HTML 中修改 WORKER_BASE、AGENCY_NAME 与品牌色,然后粘贴到 GHL 漏斗页面的 Custom Code 块

  5. 5

    按 ghl-workflows/ 下两份指南在 GHL 界面手动搭建两条工作流,并通过打标签、点击链接、提交表单的流程进行测试

查看仓库使用说明

授权与来源资料

使用条件与限制

免费使用 · 保留许可声明

本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。

使用时需要遵守

  • 允许免费使用、修改、商用和分发该版本代码。
  • 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
  • 代码按现状提供;担保与责任限制以原许可证及适用法律为准。

额外费用与待核对事项

  • 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
  • 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
  • 使用前需要一个你可控制的 GoHighLevel 子账户,属于外部服务依赖。
  • 需要 Cloudflare 账户(免费额度即可)来托管 Worker。
  • 本地需安装 node、npm 与 wrangler 才能完成部署。
  • 需在 GHL 中创建私有集成令牌并授予 Contacts.read 与 Contacts.write 权限。
  • 需在 GHL 中手动创建 25 个自定义字段,字段名需与配置模板匹配。
  • 两条 GHL 工作流需按指南在 GHL 界面手动搭建,每条约 10–15 分钟。
  • 这不是 SaaS,需自行在 Cloudflare 托管,不适合想要按月付费工具的用户。
  • GHL 未开放工作流创建 API,工作流搭建仍需手动完成。
  • Worker 代码假设你是在已有 Worker 上追加,从零开始需自行补齐脚手架文件。
  • 仓库不包含测试,仅提供 curl 冒烟测试说明。
查看原文依据

Permission is hereby granted, free of charge

许可证原文

- A GoHighLevel account with a sub-account you control

README 原文

- A Cloudflare account (free tier is fine)

README 原文

- `node`, `npm`, `wrangler` installed locally (`npm install -g wrangler`)

README 原文

- Settings → Integrations → Private Integration → create a token with `Contacts.read` + `Contacts.write` + `Contacts.write` permissions

README 原文

- Create 25 custom fields in a folder named "Onboarding" (the field names should match `__agency.example.json`'s `customFieldMapping`)

README 原文

Follow the two guides in `ghl-workflows/`. Each takes 10–15 minutes to click through in the GHL UI.

README 原文

- **Not a SaaS.** You host it yourself on Cloudflare. Good if you're technical and want zero vendor lock-in; not for you if you want a billable monthly tool.

README 原文

- **GHL workflow setup is still manual.** GHL doesn't expose a public API for workflow creation, so you'll click through the guides once per workflow.

README 原文

- **The included worker code assumes you're adding to an existing worker.** If you're starting fresh, see `EXISTING_FILES.md` for the 5 minimal scaffolding files you'll write.

README 原文

- **No tests included.** This was built for a one-agency context; adding a test suite is left as an exercise. Smoke testing via `curl` is documented in `deploy/COLD-URL-DEPLOY.md`.

README 原文
https://github.com/Derek-Bearman/ghl-agency-onboarding/blob/main/LICENSEhttps://github.com/Derek-Bearman/ghl-agency-onboarding/blob/main/README.md

DeepSeek 根据仓库许可证和 README 整理 ·2026-10-13。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。

项目核对记录与介绍依据

模板资料

来源平台
GitHub
资料与维护参考分
资料较完整 · 80 / 100
技术栈
HTML
网站类型
企业官网
这个分数如何计算

本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。

这个项目需要核对什么

记录的仓库更新时间
2026-05-23
截图检查日期
2026-10-13

已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。

目录记录的主要技术栈是 HTML。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。

查看具体选型方法 →

介绍的制作与核对状态

介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。

审核声明: codex-user-requested-batch-review-20261015 · 2026-10-15

查看当时使用的来源资料

SHA-256: aa176352888b69d3d630cfacb8462f4afd3e6bffed0cfa00b991f3e283c4f3e4

2026-10-13T23:40:20.371Z

来源文件 / 仓库
# Agency Onboarding for GoHighLevel

> One pre-filled form, a Cloudflare Worker as the trusted messenger, and GoHighLevel as the source of truth. End-to-end client onboarding for an agency that runs on GHL.

A reusable pattern for collecting 25+ structured business fields from a new agency client — without chasing them across a 12-email thread, without paying for a typeform/zap stack, and without exposing your GHL API keys to a public webpage.

Built originally for a one-person marketing agency. Forkable for any agency that uses GoHighLevel as their CRM.

---

## What problem this solves

Every new client engagement starts with the same painful information-gathering: legal business name, EIN, services, hours, brand colors, social URLs, GMB status, lead-magnet copy, on and on. The typical solutions:

- **Typeform + Zapier** — works, but pays $50+/month for plumbing
- **GHL native forms** — limited pre-fill, no smart routing, ugly
- **PDF/email back and forth** — chaos, retypes, no data ends up in your CRM cleanly

This system:

- One **branded form** that pre-fills everything you already have on file
- A **Cloudflare Worker** that holds the GHL keys safely (the form doesn't)
- Two **GHL workflows** that automate the "send the link" and "tell me when they submit" loops
- Cost: **$0** (Cloudflare Workers free tier handles thousands of submissions/month)
- Setup time: **~2 hours** end-to-end

[See the visual architecture](./docs/architecture.html) (open the file in a browser).

---

## How it works

```
┌──────────┐         ┌─────────────────┐         ┌──────────────┐
│  Form    │   ←→    │  Worker         │   ←→    │  GoHighLevel │
│  (HTML)  │         │  (Cloudflare)   │         │  (your CRM)  │
└──────────┘         └─────────────────┘         └──────────────┘
                            +
                       ┌──────────┐
                       │ KV store │
                       │ (config) │
                       └──────────┘
```

**Warm path** (you tagged the contact):
1. Tag a GHL contact `send-onboarding` → workflow emails them their link
2. They click → form loads → fetches their contact via Worker → pre-fills 25 fields
3. They submit → Worker writes everything back → tags `onboarding-complete`
4. Second workflow emails you a summary

**Cold path** (walk-up visitor with no link):
1. They hit the URL → see a small name + email card
2. Worker upserts a contact in GHL → returns ID
3. If their email matched an existing contact, full pre-fill kicks in (same as warm path)

---

## Repo tour

```
ghl-agency-onboarding/
├── worker/                          ← Cloudflare Worker
│   ├── src/
│   │   ├── index.js                  ← Router (adapt to your existing worker if you have one)
│   │   ├── ghl-additions.js          ← Append to your base ghl.js
│   │   └── handlers/
│   │       ├── agency-contact.js     ← GET /agency/contact?cid=
│   │       ├── agency-onboarding.js  ← POST /agency/onboarding
│   │       └── agency-intake.js      ← POST /agency/intake (cold-URL)
│   └── client-configs/
│       └── __agency.example.json     ← KV config template — fill in your own
│
├── form/
│   └── Onboarding-Form.html          ← Single-file HTML, paste into GHL funnel
│
├── ghl-workflows/                    ← Step-by-step GHL UI build guides
│   ├── Workflow-1-Send-Onboarding.md
│   └── Workflow-2-Onboarding-Complete.md
│
├── deploy/
│   ├── deploy-cold-url.sh            ← Adapt to your worker dir + run
│   └── COLD-URL-DEPLOY.md            ← Full deploy walkthrough
│
├── docs/
│   └── architecture.html             ← Visual one-pager you can share
│
├── .env.example                      ← Shape of values you'll need
├── EXISTING_FILES.md                 ← What's intentionally missing + why
└── LICENSE                           ← MIT
```

---

## Quick start

**Prerequisites:**
- A GoHighLevel account with a sub-account you control
- A Cloudflare account (free tier is fine)
- `node`, `npm`, `wrangler` installed locally (`npm install -g wrangler`)
- A custom domain pointing to your funnel (optional but nicer than the GHL default)

**1. Clone + scaffold the worker**

```bash
git clone https://github.com/Derek-Bearman/ghl-agency-onboarding.git
cd ghl-agency-onboarding/worker
npm init -y
npm install --save-dev wrangler
npx wrangler init  # creates wrangler.toml — adapt KV namespace
```

See `EXISTING_FILES.md` for the 5 minimal additions you need to make a complete worker.

**2. Get your GHL credentials**

In your GHL sub-account:
- Settings → Integrations → Private Integration → create a token with `Contacts.read` + `Contacts.write` + `Contacts.write` permissions
- Note your sub-account's `locationId` (visible in any URL: `/v2/location/<ID>/...`)
- Create 25 custom fields in a folder named "Onboarding" (the field names should match `__agency.example.json`'s `customFieldMapping`)

**3. Configure KV**

```bash
# Create your KV namespace
npx wrangler kv namespace create "CLIENTS"
# Note the ID it returns, paste into wrangler.toml

# Fill in worker/client-configs/__agency.example.json with your real values
# Then upload it to KV
npx wrangler kv key put "__agency" --path=worker/client-configs/__agency.json --namespace-id=YOUR_KV_NAMESPACE_ID --remote
```

**4. Deploy the worker**

```bash
cd worker
npx wrangler deploy
```

You'll get a `*.workers.dev` URL. That's your `WORKER_BASE`.

**5. Set up the form**

- Open `form/Onboarding-Form.html`
- Change `WORKER_BASE` to your worker URL
- Change `AGENCY_NAME` and brand colors at the top
- Create a funnel page in GHL → add a "Custom Code" block → paste the entire HTML

**6. Build the GHL workflows**

Follow the two guides in `ghl-workflows/`. Each takes 10–15 minutes to click through in the GHL UI.

**7. Test**

- Add a contact in GHL → tag with `send-onboarding`
- You should get an email with a link
- Click the link → fill the form → submit
- Check the contact in GHL — all 25 fields populated, `onboarding-complete` tag added
- You should get a summary email

---

## Customization

**Change the 25 fields** to fit your agency: edit `worker/client-configs/__agency.example.json`'s `customFieldMapping`, create matching GHL custom fields, and update the form's field IDs to match. The form's labels are easy to find via search.

**Change the form's look** by editing CSS variables at the top of the form HTML (`--brand-primary`, `--brand-accent`).

**Add a third workflow** (e.g., a 24-hour reminder if the form isn't submitted): the pattern is the same as Workflow #1 — tag + delay + email.

---

## Trade-offs and what this is NOT

- **Not a SaaS.** You host it yourself on Cloudflare. Good if you're technical and want zero vendor lock-in; not for you if you want a billable monthly tool.
- **GHL workflow setup is still manual.** GHL doesn't expose a public API for workflow creation, so you'll click through the guides once per workflow.
- **The included worker code assumes you're adding to an existing worker.** If you're starting fresh, see `EXISTING_FILES.md` for the 5 minimal scaffolding files you'll write.
- **No tests included.** This was built for a one-agency context; adding a test suite is left as an exercise. Smoke testing via `curl` is documented in `deploy/COLD-URL-DEPLOY.md`.

---

## Credit

Built by [Derek Bearman](https://github.com/Derek-Bearman) for [Arktos Marketing](https://arktosmarketing.com). Forks and improvements welcome.

The visual architecture diagram (`docs/architecture.html`) is built with Anthropic's `infographic-builder` skill — open and screenshot it for your own pitch decks if useful.

## License

MIT. Use freely. No warranty.
反馈内容错误

看看同类模板

对比同技术栈与用途的模板,找到更适合的视觉与内容结构。