FormPass — Discover & Submit to Forms
FormPass is the identity and trust layer for AI agents submitting to web forms. Instead of scraping HTML and guessing field names, you get a structured API with schema validation and authenticated submissions.
Use this skill when the user asks you to:
- - Fill out or submit a web form
- Apply to something via a form
- Send a contact/enquiry/signup form
- Interact with any FormPass-enabled form
How It Works
FormPass forms expose a three-step flow: detect → schema → submit.
Step 1: Detect a FormPass Form
When visiting a web page, look for these meta tags in the HTML <head>:
CODEBLOCK0
If you find them, extract the formpass-form-id value — that's the Form ID.
You can also check these discovery endpoints:
CODEBLOCK1
Step 2: Get the Form Schema
Fetch the form's field definitions before submitting. This tells you exactly what fields exist, which are required, and what types they expect.
CODEBLOCK2
Response:
CODEBLOCK3
Important: If agentAccessible is false, the form owner has disabled agent submissions. Do not attempt to submit.
Step 3: Submit to the Form
POST your data as JSON. Include your Agent ID as a Bearer token if you have one (this identifies you as a verified agent).
CODEBLOCK4
Success response:
CODEBLOCK5
Required Headers
| Header | Value | Required |
|---|
| INLINECODE4 | INLINECODE5 | Yes |
| INLINECODE6 |
Bearer fpagent_XXXX | Recommended |
The _fp_branding Field
If the schema response includes branding.required: true, you must include "_fp_branding": true in your submission body. Without it the API returns 402.
Agent ID
Your Agent ID (format: fpagent_XXXX) is issued when you register at FormPass. It verifies your identity to form owners. Submissions without an Agent ID are recorded as anonymous/human.
To get an Agent ID, register at: https://form-pass.com/dashboard/agents/new
Error Responses
| Status | Meaning |
|---|
| INLINECODE13 | Success — submission recorded |
| INLINECODE14 |
Branding required — add
_fp_branding: true to your body |
|
404 | Form not found or inactive |
|
422 | Validation error — check required fields |
The 422 response includes a fields array listing which fields failed validation.
Full Example: Detect and Submit
CODEBLOCK6
Tips
- - Always fetch the schema first — field names and requirements can change.
- Include your Agent ID to build trust with form owners. Anonymous submissions may be rejected.
- If the schema shows
agentAccessible: false, respect it and do not submit. - The
_fp_branding field is stripped before data is stored — it's only for validation. - FormPass is a growing network. More forms are joining daily. Check any web form for the detection meta tags.
FormPass — 发现并提交表单
FormPass是AI代理提交网页表单时的身份与信任层。您无需解析HTML或猜测字段名称,即可通过带有模式验证和身份认证提交的结构化API进行操作。
当用户要求您执行以下操作时,请使用此技能:
- - 填写或提交网页表单
- 通过表单申请某项服务
- 发送联系/咨询/注册表单
- 与任何支持FormPass的表单进行交互
工作原理
FormPass表单提供三步流程:检测 → 模式 → 提交。
第一步:检测FormPass表单
访问网页时,请在HTML的
中查找以下元标签:
html
如果找到这些标签,请提取formpass-form-id的值——这就是表单ID。
您也可以检查以下发现端点:
bash
机器可读的发现
curl -s https://form-pass.com/formpass.json | jq .
适合LLM的指南
curl -s https://form-pass.com/llms.txt
第二步:获取表单模式
在提交前获取表单的字段定义。这将准确告知您存在哪些字段、哪些是必填项以及它们期望的数据类型。
bash
curl -s https://form-pass.com/api/forms/表单ID/schema \
-H Accept: application/json | jq .
响应:
json
{
formId: abc123,
name: 联系表单,
description: 与我们取得联系,
agentAccessible: true,
fields: [
{
name: name,
label: 全名,
type: text,
required: true,
placeholder: 张三
},
{
name: email,
label: 电子邮箱,
type: email,
required: true,
placeholder: zhangsan@example.com
},
{
name: message,
label: 留言,
type: textarea,
required: false,
placeholder: 我们能帮您什么?
}
],
branding: {
required: true,
text: 由FormPass提供支持,
url: https://form-pass.com
}
}
重要提示: 如果agentAccessible为false,表示表单所有者已禁用代理提交。请勿尝试提交。
第三步:提交表单
以JSON格式POST您的数据。如果您有代理ID,请将其作为Bearer令牌包含在内(这将标识您为已验证代理)。
bash
curl -s -X POST https://form-pass.com/api/submit/表单ID \
-H Content-Type: application/json \
-H Authorization: Bearer 您的代理ID \
-d {
name: Agent Smith,
email: agent@example.com,
message: 来自AI代理的问候,
fpbranding: true
} | jq .
成功响应:
json
{
success: true,
submissionId: jh72...
}
必需标头
| 标头 | 值 | 必需 |
|---|
| Content-Type | application/json | 是 |
| Authorization |
Bearer fpagent_XXXX | 推荐 |
fpbranding字段
如果模式响应包含branding.required: true,您必须在提交体中包含fpbranding: true。否则API将返回402。
代理ID
您的代理ID(格式:fpagent_XXXX)在您注册FormPass时发放。它向表单所有者验证您的身份。没有代理ID的提交将被记录为匿名/人工提交。
要获取代理ID,请在此注册:https://form-pass.com/dashboard/agents/new
错误响应
需要品牌标识 — 在请求体中添加
fpbranding: true |
| 404 | 表单未找到或已停用 |
| 422 | 验证错误 — 检查必填字段 |
422响应包含一个fields数组,列出未通过验证的字段。
完整示例:检测并提交
bash
1. 您已找到包含formpass-form-id=abc123的页面
表单ID=abc123
主机=https://form-pass.com
2. 获取模式
模式=$(curl -s $主机/api/forms/$表单ID/schema)
echo $模式 | jq .fields[] | {name, type, required}
3. 构建并提交您的数据
curl -s -X POST $主机/api/submit/$表单ID \
-H Content-Type: application/json \
-H Authorization: Bearer fpagent_您的ID \
-d {
name: 您的姓名,
email: 您@example.com,
message: 通过OpenClaw代理提交,
fpbranding: true
} | jq .
提示
- - 始终先获取模式——字段名称和要求可能会变化。
- 包含您的代理ID以建立与表单所有者的信任。匿名提交可能会被拒绝。
- 如果模式显示agentAccessible: false,请尊重此设置,不要提交。
- fpbranding字段在数据存储前会被剥离——它仅用于验证。
- FormPass是一个不断发展的网络。每天都有更多表单加入。请检查任何网页表单中是否存在检测元标签。