Promptwatch Logo

FalBot

fal.ai's webhook service that delivers asynchronous notifications for AI model processing and generation tasks.
FalBot
Webhook

What is FalBot?

FalBot identifies callback traffic from fal.ai's asynchronous model queue. A client supplies a webhook_url when it submits a queued inference request. After the work finishes, fal.ai posts a JSON result to that URL with the request_id, a status of OK or ERROR, and either the model payload or error information.

The receiver acknowledges delivery with a 2xx response. fal.ai does not follow redirects, so the submitted URL must already be the final endpoint. Network failures, timeouts, and 4xx or 5xx responses can be retried while the stored result remains available, up to the documented maximum of 31 retries. Repeated deliveries share the same request_id and need idempotent handling.

Authentic callbacks carry request ID, user ID, timestamp, and signature headers. fal.ai signs a message derived from those values and the SHA-256 hash of the raw body with Ed25519. Receivers verify it against the public keys at fal.ai's JWKS endpoint and reject timestamps more than five minutes from the current time. The FalBot user-agent token is useful for log classification, but it does not prove who sent the request.

A FalBot payload can contain the output of an AI generation job, but the callback only posts that result to the supplied URL. The operation does not feed the receiving site's pages into AI search or training systems. Robots.txt is unrelated because the destination URL was supplied with the queue request.

Not relevant for AI search

Is FalBot relevant for AI search?

No. FalBot is not part of AI search or training, so allowing or blocking it does not change your AI visibility.

FalBot is not a crawler. It delivers webhook notifications to endpoints you registered, so it never fetches public content for an AI product. Robots.txt does not apply, and allowing or blocking it has no effect on AI search or training.

How to handle FalBot

Keep the exact webhook route reachable if your application submits fal.ai queue jobs. Read the body as raw bytes, require all four X-Fal-Webhook-* headers, check the timestamp, and verify the Ed25519 signature with the current keys from https://rest.fal.ai/.well-known/jwks.json. Cache the JWKS for no longer than 24 hours, as fal.ai documents that the keys can change.

Store or deduplicate by request_id before acting on the payload, then return a 2xx response promptly. Do not configure a URL that redirects. If network policy requires an IP allowlist, obtain the current webhook_ip_ranges from https://api.fal.ai/v1/meta and refresh it periodically.

When no fal.ai job should call the application, remove the webhook URL from the queue submission and close or reject the route. Robots.txt and the FalBot user agent are not access controls.

Examples

  • A video generation request finishes after the browser session has closed, and FalBot posts the completed result to the stored callback URL.
  • A webhook handler hashes the untouched request body and validates the Ed25519 signature before saving an image result.
  • The first delivery times out after the application commits the result, so a retry arrives with the same `request_id` and is safely ignored.

Frequently asked questions about FalBot

Learn about AI visibility monitoring and how Promptwatch helps your brand succeed in AI search.

It sends the callback after an asynchronous queue request finishes, provided the submission included a `webhook_url` or `webhookUrl`.

Be the brand AI recommends

Monitor your brand's visibility across ChatGPT, Claude, Perplexity, and Gemini. Get actionable insights and create content that gets cited by AI search engines.

Promptwatch Dashboard