Funnel · AsyncAPI Specification
Funnel Webhooks
Version
View Spec
View on GitHub
CompanyMarketingMarketing IntelligenceMarketing DataAnalyticsAdvertisingData IntegrationETLData WarehouseAttributionReportingBusiness IntelligenceMCPAI AgentsMarketing Mix ModelingAsyncAPIEvents
AsyncAPI Specification
generated: '2026-08-12'
method: searched
source: >-
https://help.funnel.io/en/articles/8439795-file-import-webhook-api-documentation +
https://help.funnel.io/en/articles/8439483-file-import-webhook-overview
asyncapi_spec: null
asyncapi_note: >-
Funnel publishes no AsyncAPI document. Probes of /asyncapi.yaml and /asyncapi.json on every Funnel
host, and a scan of the funnel-io GitHub organisation (10 public repos), found none.
direction: inbound
direction_note: >-
IMPORTANT — read this before treating Funnel as an event publisher. Funnel's "webhook" is
INBOUND: the consumer POSTs to a Funnel-issued URL to hand Funnel file links to ingest. Funnel
does NOT publish outbound event callbacks to consumer-supplied endpoints, and there is no event
catalogue, no subscription API, no delivery-retry policy and no signature-verification scheme to
document. Funnel's only outbound notification surface is human-facing daily connection emails
(optionally relayed into Slack), not a machine event stream.
webhooks:
- name: File Import Webhook
provider_name: Funnel's webhook / File Import - Webhook API
direction: inbound
url_template: https://fileimport-webhook.funnel.io/{webhook_id}
method: POST
content_type: application/json
authentication:
type: apiKey
in: header
name: x-funnel-fileimport-token
detail: >-
Per-data-source secret token generated inside the Funnel app when a File Import data source is
created with the Webhook transport type. Requests without it are denied with 401.
purpose: >-
Send Funnel LINKS to files to ingest — not file content. Funnel then fetches each link and loads
the file into the File Import data source.
request_body:
shapes:
- form: single link
example: '"https://link-to-file.csv"'
- form: list of links
example: '["https://link-to-file-1.csv","https://link-to-file-2.csv"]'
deprecated_shapes:
- form: object with urls member (single)
example: '{"urls": "https://link-to-file.csv"}'
status: deprecated
detail: Funnel states this form "will be removed in upcoming updates".
- form: object with urls member (list)
example: '{"urls": ["https://link-to-file-1.csv","https://link-to-file-2.csv"]}'
status: deprecated
link_requirements:
- Links must be HTTPS.
- Links must be publicly accessible or pre-signed; password-protected links are rejected.
- The body carries links, never file content.
constraints:
file_types:
- CSV
- TSV
- XLSX
- ZIP (containing one or more of the above)
max_file_size: 1 GB
throttling: >-
Documented but unquantified — "If you send an abnormal number of requests or at a very high
frequency, your requests may be denied." See rate-limits/funnel-rate-limits.yml.
responses:
- status: 200
meaning: Accepted; Funnel will attempt the import. Acceptance is not import success.
- status: 400
meaning: Bad request — missing or invalid links in the POST body.
- status: 401
meaning: Invalid credentials — wrong or missing x-funnel-fileimport-token.
- status: 500
meaning: Internal server error on Funnel's side.
see: errors/funnel-problem-types.yml
common_integrations:
- AWS Lambda
- Google Cloud Functions
- Azure Functions
- Zapier
- Microsoft Power Automate
published_examples:
- curl
- Python (requests)
- Node.js (https)
event_catalog: []
event_catalog_note: >-
Empty by fact, not by omission — Funnel documents no outbound events. This is why no AsyncAPI
artifact is emitted and why the event-surface family is genuinely N/A for this provider rather
than a gap.
notes: >-
Captured verbatim from Funnel's own published webhook documentation, including its stated
deprecation of the {"urls": ...} body form. This is a real, first-party, documented HTTP contract
with published authentication, request shapes and status codes — one of only three programmatic
surfaces Funnel ships.
Work with this as data
Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for asyncapi
4 MCP tools reach this
find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/funnel-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.