Skip to content

Document webhook custom URLs - #849

Open
elias-ba wants to merge 1 commit into
mainfrom
webhook-custom-urls
Open

elias-ba wants to merge 1 commit into
mainfrom
webhook-custom-urls

Conversation

@elias-ba

@elias-ba elias-ba commented Sep 4, 2026

Copy link
Copy Markdown
Contributor

⚠️ Ready for review, but don't merge yet. This goes out with the Lightning release that carries custom URLs. A merge to main deploys to docs.openfn.org on its own, with no manual step, so it can't land ahead of the release.

Short Description

Documents webhook custom URLs on the Triggers page. A webhook trigger can be given a name, so it answers on /i/<project-id>/<name> as well as on its generated /i/<trigger-id> URL.

Details

The page never said what a webhook's URL looks like or where to find it, so this is the first time it explains them at all. The new section covers both URL shapes, what a name may contain, that names are unique within a project, and that renaming or removing one breaks it with no redirect.

The rules are taken from the implementation rather than from the feature description. Shipped in OpenFn/lightning#5105 and OpenFn/lightning#5111, with the CLI half in OpenFn/kit#1511.

The Kafka trigger docs on this same page are stale for a different reason, and #850 handles that separately.

AI Usage

Please disclose how you've used AI in this work (it's cool, we just want to know!):

  • I have used Claude Code
  • I have used another model
  • I have not used AI

You can read more details in our Responsible AI Policy

The Webhook Event Triggers section never said what a webhook's URL looks like or
where to find it, so there was nothing to extend: a reader had no way to learn
that a trigger can now answer on a name you choose as well as on its id.

Covers both URL shapes, what a name may contain, that names are unique per
project, and that renaming or removing one breaks it with no redirect. That last
one is the trap worth the warning, since the sending system has to be updated
first.
@elias-ba elias-ba mentioned this pull request Sep 4, 2026
3 tasks
@elias-ba
elias-ba marked this pull request as draft September 4, 2026 22:59
@elias-ba
elias-ba marked this pull request as ready for review September 5, 2026 02:25
Comment thread docs/build/triggers.md

### Webhook URLs

Every webhook trigger answers on a URL built from its own id, and that URL never

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

is "answers" the right word here? Is that consistent with our other docs? Strikes me as odd. Useed throughout this section

Comment thread docs/build/triggers.md
can generate the URLs from your list of site names rather than copying them out
of the app one at a time.

To add one, open the trigger and click **Add custom URL**. You type only the

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

You have to do a bit more than that in the app right now:

  • Go into draft mode (if you have experimental features on, but maybe soon for everyone)
  • Click the trigger
  • Hit Edit
  • Hit Next
  • Now you can Add Cyustom URL

Its not intuitive so all this needs documenting fully

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.

Wait this doesn't need experimental mode at all. This feature is accessible to everyone

Comment thread docs/build/triggers.md
To add one, open the trigger and click **Add custom URL**. You type only the
last segment of the address. The rest is fixed, and sits beside the field as
plain text. A name can use lowercase letters, numbers, hyphens and underscores,
up to 255 characters. It can't be a UUID, because OpenFn reads those as trigger

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Is the UUID thing true? The URL already includes the project if you're using a name, so why would a UUID be a problem?

Comment thread docs/build/triggers.md

A name has to be unique within a project, and OpenFn warns you as you type if
another workflow has already taken the one you're entering. A workflow that's
disabled still holds its name. Two different projects can use the same name,

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This last sentence is redundant (We just said a name has to be unique within a project)

Comment thread docs/build/triggers.md
disabled still holds its name. Two different projects can use the same name,
because their URLs differ by project id.

:::warning There's no redirect

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Don't like the title of this. Maybe "There's no redirect on edit" is a bit better?

Comment thread docs/build/triggers.md
:::warning There's no redirect

Renaming or removing a custom URL breaks it. Once you save, requests to the old
address get a `404`, so update the system sending the data first. The

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Add "default": The default /i/ URL is unaffected. (maybe instead of the path?)

This branch has not been deployed

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

Labels

None yet

Projects

Status: No status

Development

Successfully merging this pull request may close these issues.

2 participants