Skip to main content
POST
Create webhook endpoint

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
url
string<uri>
required

The publicly reachable HTTPS URL to deliver events to

Example:

"https://example.com/granola-webhooks"

scopes
enum<string>[]
required

Which notes to receive events for. personal covers notes you own, notes shared directly with you, and notes in private folders shared with you. public covers notes visible to everyone in the workspace. Pass both for both sets of notes. Workspace admins can disable scopes for non-admin members in the workspace's API settings.

Minimum array length: 1
Available options:
personal,
public
Example:
events
enum<string>[]

Event names to subscribe to. Omit to subscribe to all events.

Minimum array length: 1
Available options:
note.access_granted,
note.edited,
note.generated,
note.regenerated
Example:

Response

Webhook endpoint created. The signing secret is only returned here.

id
string
required

The ID of the webhook endpoint

Pattern: ^whe_[a-zA-Z0-9]{14}$
Example:

"whe_2mKr8fQxLp7Ta3"

object
enum<string>
required
Available options:
webhook_endpoint
url
string<uri>
required

The HTTPS URL deliveries are sent to

Example:

"https://example.com/granola-webhooks"

events
enum<string>[]
required

The event names this endpoint is subscribed to

Available options:
note.access_granted,
note.edited,
note.generated,
note.regenerated
Example:
scopes
enum<string>[]
required

Which notes this endpoint receives events for. personal covers notes the creating user owns, notes shared directly with them, and notes in private folders shared with them. public covers notes visible to everyone in the workspace.

Available options:
personal,
public
Example:
created_by
object
required

The user who created this endpoint.

Example:
enabled
boolean
required

Whether deliveries are active

Example:

true

created_at
string<date-time>
required

The creation time of the webhook endpoint

Example:

"2026-01-27T15:30:00Z"

signing_secret
string
required

Secret for verifying delivery signatures (Standard Webhooks HMAC-SHA256). Shown only once, in this response — store it securely.

Example:

"whsec_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"