> ## Documentation Index
> Fetch the complete documentation index at: https://docs.frayme.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Nodes: Integration, HTTP Request, Send RFI

> Call a connected data provider, an arbitrary HTTP endpoint, or send an information request from the flow.

export const Shot = ({id, alt, caption}) => <Frame caption={caption}>
    <img className="block dark:hidden rounded-lg" src={`/images/guides/${id}.light.png`} alt={alt} loading="lazy" decoding="async" />
    <img className="hidden dark:block rounded-lg" src={`/images/guides/${id}.dark.png`} alt={alt} loading="lazy" decoding="async" />
  </Frame>;

## Integration — pick a provider

**Data Provider** lists the providers connected in [Data Sources](/guides/engineer/data-sources). **Output Variable** names where the result lands (`vars.<name>.*`).

<Warning>
  Today the provider catalog is served only to the tenant **admin** role: a scoped engineer sees an empty **Data Provider** list and no settings or outputs sections. Until that is lifted, configure Integration nodes with the admin role. The screenshots below were taken that way.
</Warning>

<Shot id="engineer/node-06-integration-provider" alt="Integration node with the provider select" caption="Only connected providers are offered." />

## Node settings

Each provider declares its own inputs: a dataset picker (for example **Risk Score** or **Person Data** on the Frayme provider; **Individual (KYC)** or **Business (KYB)** on Sumsub) and fields such as document number or verification level. Any field can be switched to an expression binding (`input.document_number`) with the **ƒx** button.

<Shot id="engineer/node-07-integration-settings" alt="Node settings for a dataset" caption="Dataset and inputs." />

## Node outputs

The fields the provider returns for the chosen dataset, referenced downstream as `vars.<output variable>.<field>`. The list follows the inputs: pick a different dataset and it changes.

<Shot id="engineer/node-08-integration-outputs" alt="Node outputs list" caption="The Risk Score dataset returns risk_score and risk_level." />

## Keep monitoring

When on, the provider keeps watching the subject after the case is decided and, on a finding, opens a new case on the **Workflow to run on a finding** you choose. The section appears only for providers that emit monitoring signals (Chainalysis today), so it is absent on the Frayme mock provider used in these screenshots.

<Note>**Screenshot pending** until a monitoring-capable provider is connected to the capture tenant.</Note>

## Webhook notify

Posts a notification to a **Webhook config** when the node runs, with the provider's payload type, optional lifecycle events and a kebab-case **Tag**.

<Shot id="engineer/node-10-integration-webhook-notify" alt="Webhook notify settings" caption="Notify your systems from inside the flow." />

## HTTP Request

**Method**, **URL**, **Headers**, **Body** (with `${...}` interpolation), **Output variable**, **Timeout (s)** and **Retry count**. Turn on **Async callback mode** when the remote system answers later: pick the **Webhook config** it will post back through and map callback fields to outputs.

## Send RFI

Sends an information request from the flow using a **Template** from **Settings → Communication**. The request id lands in **Output variable** (default `rfi`). Delivery goes through the communication webhook exactly as when an analyst sends one.
