Skip to content

Use Factory's webhook secret on make-bot-ui - #21

Merged
caelaxie merged 2 commits into
mainfrom
cursor/make-bot-ui-webhook-9106
Oct 21, 2026
Merged

caelaxie merged 2 commits into
mainfrom
cursor/make-bot-ui-webhook-9106

Conversation

@caelaxie

Copy link
Copy Markdown
Contributor

Closes #19

The user creates a Webhook-trigger automation in the Factory app, pastes the URL in chat, and puts the secret in the server's env file. The server sends X-Webhook-Secret. The "URL is the secret" branch and the droid exec wake path are deleted. "Do not guess the id" stays. One line notes that webhook triggers are in private preview and that a webhook run executes on a Droid Computer or an Environment.

Host, probe, and tailnet steps stay. The wake section does not restore upstream's [routine] turn or <webhook_event> block. Those are Cursor routine fields. Factory's webhook docs say the raw request body is what the run receives.

The guide's /make-bot-ui sentence no longer mentions droid exec.

Open in Web Open in Cursor 

The user creates a Webhook-trigger automation, pastes the URL, and keeps the secret in an env file. The server sends X-Webhook-Secret. The URL-is-the-secret rule and the droid exec wake path are gone.

Co-authored-by: Kaitian Xie <caelaxie@users.noreply.github.com>

@caelaxie caelaxie left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

verdict: changes requested (comment review, same account).

content matches #19's smallest fix: factory webhook automation, url in chat, secret in the env file, X-Webhook-Secret, url-is-the-secret branch and droid exec path gone, "do not guess the id" kept, private-preview line added. host, tailnet, and probe sections untouched. sender key -> secret follows factory's own name, fine.

one thing:

  • skills/make-bot-ui/SKILL.md L9: new blank line between the frontmatter --- and # How to make a bot UI. upstream L8-L9 has none, and neither did the port. drop it.

proof: Validate plugin was still running on bc80165. droid ci does marketplace add + droid plugin install + list, so green ci at the final head is enough for this text-only fix. merge once the blank line is gone and ci is green.

Comment thread skills/make-bot-ui/SKILL.md Outdated
exposing that UI on Tailscale.
disable-model-invocation: true
---

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

stray blank line. upstream goes straight from --- to # How to make a bot UI. drop it.

@cursor

cursor Bot commented Oct 21, 2026

Copy link
Copy Markdown

Harness proof. Command output is unedited.

HOME=/tmp/droid-proof-webhook
which=/tmp/droid-proof-webhook/.local/bin/droid
0.245.0
===== droid plugin marketplace add =====
Successfully added marketplace: droid-pstack@cursor-make-bot-ui-webhook-9106
===== droid plugin install =====
Successfully installed pstack@droid-pstack@cursor-make-bot-ui-webhook-9106 (bc80165)
===== droid plugin list =====
Installed plugins:
Active:
  pstack@droid-pstack@cursor-make-bot-ui-webhook-9106  [user]  bc80165
$ git -C /tmp/droid-proof-webhook/.factory/plugins/cache/droid-pstack@cursor-make-bot-ui-webhook-9106-bffb337fdce9/pstack-7171b73fae68/bc801651d551 rev-parse HEAD
bc801651d55169e1928368fa6da2ee8dc9c39667
(exit 0)
$ echo expected
bc801651d55169e1928368fa6da2ee8dc9c39667
$ git -C /workspace diff --name-status 3a60c3580a01bba100804e6efe3395d9f5dd924e cursor/make-bot-ui-webhook-9106
M	docs/guide/09-make-it-yours.md
M	skills/make-bot-ui/SKILL.md
(exit 0)
MATCH docs/guide/09-make-it-yours.md
MATCH skills/make-bot-ui/SKILL.md
===== droid exec =====
Skill "make-bot-ui" activated
Error during droid execution: Authentication failed. Please log in using /login or set a valid FACTORY_API_KEY environment variable.

Upstream has no blank line between the closing --- and the heading.

Co-authored-by: Kaitian Xie <caelaxie@users.noreply.github.com>

@caelaxie caelaxie left a comment

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

verdict: pass at 300b4a4, merging.

  • blank line after the frontmatter is gone; L8-L9 match upstream again.
  • matches #19's smallest fix. checked against docs.factory.ai automations: https://api.factory.ai/api/webhooks/automations/<webhook-id>, X-Webhook-Secret, secret shown once in the webhook created dialog, private preview, droid computer or environment. all correct.
  • no cursor files or paths. host, tailnet, probe, and wake sections untouched apart from sender key -> secret.
  • validate plugin green at 300b4a4 (marketplace add + install + list). Closes #19, not a draft.

@caelaxie
caelaxie merged commit f941b28 into main Oct 21, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

audit: make-bot-ui invents a webhook secret contract

2 participants