Ravn in Make, with the HTTP module
In a Make scenario, add the HTTP app’s “Make a request” module, POST raw JSON to https://api.askravn.com/v1/tools/<tool> with an Authorization header, and turn on response parsing so the verdict fields are mappable in the next modules.
Configure “Make a request”
- / 01
Add the module
Click the plus after your trigger, search for HTTP and choose Make a request.
- / 02
URL and method
URL
https://api.askravn.com/v1/tools/validate_email, MethodPOST. - / 03
Headers
Add
Authorizationwith valueBearer rw_live_…. Make sets the content type from the body settings. - / 04
Body
Set the body type to Raw, content type JSON (application/json), and paste the request content below, mapping your email field into it.
- / 05
Parse and run once
Enable Parse response, then Run once. The output bundle now has
data.statusanddata.resultsyou can map and filter.
Request content and filters
Map your own fields where the double-brace placeholders are; Make inserts them from earlier modules.
URL: https://api.askravn.com/v1/tools/validate_email
Method: POST
Header: Authorization: Bearer rw_live_…
Body: Raw · JSON (application/json)
Request content:
{ "email": "{{1.email}}" }
Batch variant (up to 1,000 addresses):
URL: https://api.askravn.com/v1/tools/validate_emails
{ "emails": ["jane@acme.com", "sam@acme.com"] }
(build the array with an aggregator before this module)
Filter after the module:
data.status Equal to ok
data.results.status Equal to validScenarios to try
- / 01
Verify a sheet on a schedule
Watch new rows → Make a request (
validate_email) → update the row withresults.statusandresults.risk_score. Bad rows are visible before anyone sends. - / 02
Add a company profile to every new lead
New lead →
scrape_websitewith the lead’s domain → store description, socials and phones. See the website scraper API. - / 03
Clean before a send
Aggregate a list into one array and call
validate_emailsonce, then iterate the results array to keep onlyvalid.
Reading results in later modules
With parsing on, the response appears under data. The top-level data.status is ok or not_found; the answer lives in data.results; and data.metadata shows what the call used. A non-200 status code means an error object instead, with a code you can route on, such as invalid_input or provider_key_required.
For validate_emails, data.results is an array with one verdict per unique address, each carrying its own email, so use an Iterator to process them one by one. Field lists for every tool are in the docs; the verification page explains each verdict.
Can I reuse one Make connection for the key?
The HTTP module takes the header directly, so you set it per module. To avoid copying it around, keep the key in a scenario variable or data store you control and map it into the header.
How should a Make scenario handle 429 from Ravn?
Add an error handler on the HTTP module. A Break handler with retries lets the scenario wait and try again. If you are out of the 5-hour window the Retry-After header says how long; for spend_cap_reached raise the cap with ravn cap, see fair use.
Why does my mapped field come through as text instead of the result?
Usually Parse response is off, so Make treats the body as a string. Turn it on and run once again so Make learns the structure.
Do I need a Ravn app in Make’s catalogue?
No. There is no Ravn app in Make. The HTTP module covers all 25 tools, and new tools work the day they ship without waiting for an app update.
More in integrations
Every page uses the same account, plan and tools. See pricing →