Skip to content

Generic HTTP

Generic HTTP connector — connect to any REST API with configurable auth.

PropertyValue
Typehttp
Authenticationnone
CategoryGeneric
FieldTypeRequiredDescription
base_urlstringYesBase URL for the API
auth_headerstringNoAuthorization header value (optional)

The Generic HTTP connector has no pre-defined actions. Instead, fyrn’s AI generates the appropriate request configuration dynamically based on the target API’s documentation and your natural-language description.

When you describe an integration that targets an API without a dedicated connector, fyrn selects the Generic HTTP connector and generates the correct HTTP method, path, headers, query parameters, and request body. This makes it possible to integrate with any REST API — internal microservices, partner endpoints, or third-party APIs that don’t yet have a first-class connector.

You can also provide an auth_header value in the connector configuration to handle Bearer tokens, API keys, or any custom authentication scheme.

flows/webhook-to-external-api.yaml
flow: webhook-to-external-api
version: 1
description: Receive a webhook, call an external API, transform the response, and store in a database
source:
connector: generic-webhook
trigger: webhook
event: payment.completed
steps:
- name: enrich-customer
target: generic-http-clearbit
action: http-request
mapping:
method: GET
path: /v2/people/find
query:
email: source.customer_email
headers:
Authorization: "Bearer {{ secrets.CLEARBIT_API_KEY }}"
store_as: enrichment
- name: transform-data
transform:
customer_name: enrichment.name.fullName | default(source.customer_name)
company: enrichment.employment.name | default("Unknown")
title: enrichment.employment.title | default("")
payment_amount: source.amount | decimal(2)
currency: source.currency | uppercase
- name: store-enriched-record
target: postgresql-prod
action: insert
mapping:
table: enriched_payments
row:
customer_email: source.customer_email
customer_name: transform.customer_name
company: transform.company
title: transform.title
amount: transform.payment_amount
currency: transform.currency
paid_at: "" | now
on_error:
retry: 2x exponential(15s)
then: dead-letter