Search all guides

Reference · Tools

uProc integration

Data processing, enrichment, and validation platform with 455+ processors across 11 categories

Action Data & Storage v1

The uProc node runs any of more than 455 processors covering email, phone, company, geographic, text and product data — validating, enriching and transforming records. A typical build is cleaning an imported list by validating emails and normalising phone numbers before anything downstream uses them.

Works as
Action
Tool name
uproc
Parameters
26
Outputs
Output, Error
Credentials
uProc API
Official docs
uProc docs docs.uproc.io

What you can build with uProc

  • Validate an email address exists.
  • Get company data by domain.
  • Check if a phone number is valid.
  • Look up geographic coordinates by address.
  • Convert text to uppercase.
  • Check if an IBAN is valid.
  • Get gender by email address.

Overview

uProc is a data processing platform that exposes hundreds of individual processors across 11 resource groups (Audio, Communication, Company, Finance, Geographical, Image, Internet, Personal, Product, Security, Text). Each processor performs one specific operation — validating an email address, verifying a phone number, enriching a company, looking up coordinates, converting a currency, checking a product code, transforming text, and so on. You pick a resource group, pick a processor inside it, fill in the inputs that processor needs, and the node calls uProc once per input item.

Node Type

Action — processes input items and produces output

Input / Output

DirectionPort(s)
InputInput
OutputOutput, Error

Credentials

This tool requires uProc API credentials.

See the Credentials Guide for setup instructions.

Resources

ResourceValue
Audioaudio
Communicationcommunication
Companycompany
Financefinance
Geographicalgeographic
Imageimage
Internetinternet
Personalpersonal
Productproduct
Securitysecurity
Texttext

Each resource is a family of processors: Communication covers email, mobile, phone and LinkedIn; Finance covers cards, IBAN, BIC, SWIFT, currency and VAT; Geographical covers addresses, coordinates, routes and postal data; Company covers domains, tax IDs and decision makers; Text covers string, number and list operations. Choosing a resource is what narrows the Operation dropdown to a workable size.

Parameters

ParameterTypeRequiredDefaultDescription
ResourceoptionsNo(current default)The resource group to use. Each group contains multiple processors.
Options: the resource choices available to your workspace — pick one from the dropdown.
Operation (audioProcessor)optionsNo—The audio processor to execute — text-to-speech synthesis. (shown when Resource is audio)
Options: getAudioAdvancedSpeechByText, getAudioSpeechByText
Operation (communicationProcessor)optionsNo—The communication processor to execute — email, phone, mobile, SMS and LinkedIn checks, lookups and sends. (shown when Resource is communication)
Options: checkDomainCatchall, checkDomainDisposable, checkDomainFree, checkEmailCatchall, checkEmailDisposable, checkEmailExists, checkEmailExistsExtended, checkEmailFormat, checkEmailFree, checkEmailRole, checkEmailSmtp, checkEmailSpamtrap, checkLinkedinProfileIsContact, checkMobileAlive, checkMobileExist, checkMobileFormat, checkMobileFormatEs, checkMobileImei, checkMobileSms, checkMobileValidPrefix, checkMobileValidPrefixEs, checkPhoneFormat, checkPhoneFormatEs, checkPhoneOrMobileValid, checkPhoneValidPrefix, checkRobinsonEmailExist, checkRobinsonPhoneExist, checkSocialDomainExist, checkSocialEmailExist, checkSocialMobileExist, getEmailRecipientByCompanyAndFullname, getEmailRecipientByCompanyFirstnameAndLastname, getEmailRecipientByDomainAndFullname, getEmailRecipientByProfile, getEmailDomain, getEmailFirstReferences, getEmailFix, getEmailListByDomain, getEmailListByEmail, getEmailRecipient, getEmailReferences, getEmailType, getFeedEntriesByDomain, getFeedLastEntryByDomain, getEmailGdprListByDomain, getLinkedinConnections, getLinkedinGroupMembers, getLinkedinInvitations, getLinkedinPostComments, getLinkedinPostLikes, getLinkedinProfile, getLinkedinProfiles, getLinkedinProfilesByCompany, getLinkedinProfilesByContent, getLinkedinSearchContactsUrl, getMobileCountryCode, getMobileCountryPrefix, getMobileFormatted, getMobileHlrLookup, getMobileLookup, getMobileMnpLookup, getMobileNormalized, getMobileOrPhoneLookupEs, getMobileOrPhoneMnpEs, getEmailNormalized, getEmailPersonalRecipientByProfile, getPhoneFixed, getPhoneNormalized, getPhoneParsed, getLinkedinPublicProfileBySalesProfile, getSentimentByText, getSocialDomainLookup, getSocialDomainParsed, getSocialEmailLookup, getSocialMobileLookup, getSocialUriParsed, sendEmailCustom, sendLinkedinInvitation, sendLinkedinInvitationOrMessage, sendLinkedinMessage, sendLinkedinVisit, sendMobileSms
Operation (companyProcessor)optionsNo—The company processor to execute — company enrichment, decision makers, social profiles and financial data. (shown when Resource is company)
Options: checkCifValid, checkCompanyDebtorByTaxid, checkNumberIsin, checkNumberSsEs, getRoleClassified, getCompanyByCif, getCompanyByDomain, getCompanyByDuns, getCompanyByEmail, getCompanyByIp, getCompanyByName, getCompanyByPhone, getCompanyByProfile, getCompanyGeocodedByIp, getCompanyNameByDomain, getCompanyPhoneByDomain, getCompanyPhoneByName, getPersonDecisionMaker, getPersonDecisionMakerBySearch, getPersonEmailsByDomainAndArea, getCompanyDomainByName, getProfileFacebookByCompany, getProfileFacebookByCompanyDomain, getProfileGithubByCompanyDomain, getProfileInstagramByCompanyDomain, getProfileLinkedinByCompany, getProfileLinkedinByCompanyDomain, getPersonMultipleDecisionMakerBySearch, getCifNormalized, getPersonListByParams, getProfilePinterestByCompanyDomain, getCompanyFinancialByDomain, getCompanyFinancialByDuns, getCompanyFinancialByName, getCompanyFinancialByTaxid, getProfileTwitterByCompany, getProfileTwitterByCompanyDomain, getProfileYoutubeByCompanyDomain
Operation (financeProcessor)optionsNo—The finance processor to execute — bank account, IBAN, BIC, card, crypto wallet, currency and VAT operations. (shown when Resource is finance)
Options: checkBankAccountValidEs, checkBankBicValid, checkCreditcardChecksum, checkCryptoWalletAddressValid, checkCurrencyValidIso, checkBankIbanValid, checkVatExist, getCreditcardType, getCurrencyByCountry, getCurrencyByCountryIsocode, getCurrencyByIp, getCurrencyByIsocode, getCurrencyConvertedBetweenIsocodeDate, getCurrencyListByCountry, getCurrencyListByIp, getCurrencyListByIsocode, getBankIbanByAccount, getBankIbanLookup, getSwiftLookup, getVatByAddress, getVatByCoordinates, getVatByIp, getVatByIsocode, getVatByNumber, getVatByPhone, getVatByZipcode
Operation (geographicProcessor)optionsNo—The geographical processor to execute — address, coordinate, city, province, country, zipcode, distance and route operations. (shown when Resource is geographic)
Options: checkCountryValidIso, checkDistanceEq, checkDistanceGt, checkDistanceGe, checkDistanceLt, checkDistanceLe, checkAddressExist, checkAddressNumberExist, checkCoordinateValid, checkZipcodeExist, checkZipcodeFormat, getCoordinateCartesian, getCityListByPhone, getCityListByName, getCityListByZipcode, getCityByIp, getCityByName, getCityByPhone, getCityByZipcode, getCommunityByZipcode, getCoordinateByIp, getCoordinateBySearch, getCountryListByCode, getCountryListByCurrencyCode, getCountryListByName, getCountryByCode, getCountryByCurrencyCode, getCountryByIp, getCountryByName, getCountryByPhone, getCountryCodeByName, getCoordinateDecimal, getDistanceByAddresses, getDistanceByCoordinates, getDistanceByIps, getDistanceByPhones, getDistanceByZipcodes, getAddressBySearch, getLocationExtendedByIp, getLocationGeocodedByIp, getAddressSplittedBest, getLocaleByIp, getLocationByCoordinates, getLocationByIp, getLocationByName, getLocationByParams, getLocationByPhone, getLocationByZipcode, getLocationListByName, getLocationListByParams, getNameByPrefix, getNameListByPrefix, getNetByIp, getAddressNormalized, getCityNormalized, getCountryNormalized, getProvinceNormalized, getZipcodeNormalized, getAddressSplitted, getProvinceByIp, getProvinceByName, getProvinceByPhone, getProvinceByZipcode, getProvinceListByName, getProvinceListByPhone, getProvinceListByZipcode, getReputationByIp, getRouteByAddresses, getRouteByCoordinates, getRouteByIps, getRouteByPhones, getRouteByZipcodes, getTimeByAddress, getTimeByCoordinates, getTimeByIp, getCoordinateUsng, getCoordinateUtm, getZipcodeByIp, getZipcodeByPrefix, getZipcodeListByPrefix
Operation (imageProcessor)optionsNo—The image processor to execute — domain logos, barcodes, QR codes, EXIF, OCR and URL screenshots. (shown when Resource is image)
Options: getDomainLogo, getBarcodeEncoded, getImageExif, getImageOcr, getImageWithText, getQrDecoded, getQrEncoded, getUrlScreenshot
Operation (internetProcessor)optionsNo—The internet processor to execute — domain, DNS, certificate, WHOIS, IP, network and URL operations. (shown when Resource is internet)
Options: checkDomainCertificate, checkDomainExist, checkDomainFormat, checkDomainMx, checkDomainRecord, checkDomainReverse, checkNetHostAlive, checkNetServiceUp, checkUrlContains, checkUrlExist, checkUrlValid, getDeviceByUa, getDomainBlacklists, getDomainByIp, getDomainByUrl, getDomainCertificate, getDomainIsp, getDomainRecord, getDomainRecords, getDomainReverseIp, getDomainTechnologies, getDomainVisits, getDomainWhois, getFileCopiedBetweenUrls, getIpBlacklists, getIpWhois, getNetAton, getNetFixip, getNetNtoa, getNetScan, getUrlAnalysis, getUrlByDomain, getUrlContents, getUrlContentsParsed, getUrlDecode, getUrlEncode, getUrlListContentsParsed, getUrlParsed, getUrlPdf, getUrlShareableLinks, getUrlTables, getUrlTechnologies, getUrlUnshortened
Operation (personalProcessor)optionsNo—The personal processor to execute — name, surname, gender, age, date, Spanish national ID and person enrichment. (shown when Resource is personal)
Options: checkAgeBetw, checkAgeIsAdult, checkAgeIsTwenties, checkAgeIsForties, checkAgeGt, checkAgeGe, checkAgeIsRetired, checkAgeLt, checkAgeLe, checkAgeEq, checkDateBetw, checkDateGt, checkDateGe, checkDateLeap, checkDateLt, checkDateLe, checkDateValid, checkDateEq, checkGenderValid, checkNameExist, checkNameValid, checkNieValid, checkNifValid, checkRobinsonNifExist, checkSurnameExist, checkSurnameValid, checkDniValid, getAgeByDate, getAgeRange, getDateDifference, getPersonFakedData, getGenderByEmail, getGenderByPersonalName, getProfileLinkedinByEmail, getProfileLinkedinByPhone, getNifByDni, getDateNormalized, getDniNormalized, getNameNormalized, getNieNormalized, getNifNormalized, getSurnameNormalized, getDateParsed, getFullnameParsed, getPersonExtendedByEmail, getPersonExtendedByEmailAndCompany, getPersonExtendedByProfile, getPersonByEmail, getPersonByMobile, getPersonByFirstnameLastnameCompanyLocation, getPersonByProfile, getProfileByEmployeeData, getSurnameByPrefix, getSurnameListByPrefix, getProfileXingByEmployeeData, sendPersonEmailToList, sendPersonProfileToList
Operation (productProcessor)optionsNo—The product processor to execute — ASIN, EAN, GTIN, UPC, ISBN, book and VIN validation and lookups. (shown when Resource is product)
Options: checkAsinExist, checkAsinValid, checkEanExist, checkEanValid, checkEan13Valid, checkEan14Valid, checkEan18Valid, checkEan8Valid, checkGtinValid, checkGtin13Valid, checkGtin14Valid, checkGtin8Valid, checkBookIsbnExist, checkBookIsbn, checkBookIsbn10, checkBookIsbn13, checkUpcExist, checkUpcFormat, checkVinFormat, getAsinByEan, getBookAuthorLookup, getBookCategoryLookup, getBookPublisherLookup, getBookIsbnLookup, getBookTitleLookup, getBookListAuthorLookup, getBookListCategoryLookup, getBookListPublisherLookup, getBookListTitleLookup, getEanByAsin, getBookIsbn13ToIsbn10, getBookIsbn10ToIsbn13, getUpcLookup, getVinLookup
Operation (securityProcessor)optionsNo—The security processor to execute — password strength and UUID validation. (shown when Resource is security)
Options: checkPasswordStrong, checkNumberUuid
Operation (textProcessor)optionsNo—The text processor to execute — string, list, number and word-count checks plus text transformation. (shown when Resource is text)
Options: checkListContains, checkListEnds, checkListLengthBetw, checkListLengthEq, checkListLengthGt, checkListLengthGe, checkListLengthLt, checkListLengthLe, checkListMax, checkListMin, checkListSorted, checkListStarts, checkListUnique, checkListValid, checkNumberBetw, checkNumberDecimal, checkNumberEq, checkNumberEven, checkNumberGt, checkNumberGe, checkNumberLt, checkNumberLe, checkNumberLuhn, checkNumberMod, checkNumberNatural, checkNumberOdd, checkNumberPrime, checkStringAlpha, checkStringAlphanumeric, checkStringBlank, checkStringBoolean, checkStringContains, checkStringEnds, checkStringIp, checkStringIp4, checkStringIp6, checkStringLengthBetw, checkStringLengthEq, checkStringLengthGt, checkStringLengthGe, checkStringLengthLt, checkStringLengthLe, checkStringLowercase, checkStringNumeric, checkStringRandom, checkStringRegex, checkStringStarts, checkStringUppercase, checkWordCountBetw, checkWordCountEq, checkWordCountGt, checkWordCountGe, checkWordCountLt, checkWordCountLe, getStringHtmlByMarkdown, getListMax, getListMin, getListSort, getListUnique, getStringMarkdownByHtml, getStringBase64, getStringByFormat, getStringByRegex, getStringFieldName, getStringJoin, getStringLength, getStringLowercase, getStringMd5, getStringNormalized, getStringParsed, getStringReplaceAll, getStringReplaceFirst, getStringSha, getStringSpin, getStringSplit, getStringSplitAndJoin, getStringTranslated, getStringUppercase, getStringVlookup, getStringWithoutHtml, getWordBanned, getWordCleanAbuse, getWordCount
EmailstringNo—Email address parameter for the selected processor.
DomainstringNo—Domain name parameter for the selected processor.
PhonestringNo—Phone number parameter for the selected processor.
MobilestringNo—Mobile phone number parameter.
AddressstringNo—Address parameter for geographic processors.
TextstringNo—Text parameter for text/audio processors.
IPstringNo—IP address parameter.
URLstringNo—URL parameter for internet/company processors.
NamestringNo—Name parameter (person name, company name, location name).
CountrystringNo—Country name or ISO code.
ISO CodestringNo—ISO code parameter (country, currency).
ZipcodestringNo—Zipcode/postal code parameter.
CoordinatesstringNo—Coordinates parameter (lat,lon format).
CompanystringNo—Company name or domain.
ProfilestringNo—Social profile URL.
First NamestringNo—First name parameter.
Last NamestringNo—Last name parameter.
Full NamestringNo—Full name parameter.
DatestringNo—Date parameter (multiple formats allowed).
LinkedIn li_at CookiestringNo—LinkedIn session cookie (li_at) for LinkedIn processors.
LinkedIn JSESSIONID CookiestringNo—LinkedIn JSESSIONID cookie for LinkedIn processors.
Additional Parameters (JSON)jsonNo{}Additional processor-specific parameters as JSON. Any parameters not covered by the fields above can be passed here. Keys should match the processor parameter names.
Additional OptionscollectionNo{}
— Data WebhookstringNo—URL to send tool response when processing completes (async callback).
Max ConcurrencynumberNo10Maximum number of items to process concurrently.

Output Data

One output item per input item, always — this node never fans out and never drops an item.

The processor’s response is merged onto the incoming item’s JSON at the top level, so the item keeps its own fields and gains the result’s. There is no wrapper property to reach through: if the processor returns { "exists": true }, that is {{ $json.exists }} downstream. Binary data on the input item is forwarded unchanged.

Two shapes get special handling:

  • A response that is a list is attached whole to _uprocResult. When that list holds exactly one object, its fields are also merged onto the item, so single-hit lookups behave like single responses.
  • A response that is not an object at all — a bare string or number — is attached to _uprocResult and nothing is merged.

Because the result is merged rather than namespaced, a processor that returns a field your item already has will overwrite it. Rename upstream if that matters.

Setting Data Webhook does not change any of this: uProc also posts the response to that URL when it finishes, but the node’s own output item is the same either way.

Example Configuration

Validate one email address and have uProc call a webhook when it is done:

{
  "type": "uproc",
  "parameters": {
    "group": "communication",
    "communicationProcessor": "checkEmailExists",
    "email": "user@example.com",
    "maxConcurrency": 5,
    "additionalOptions": {
      "dataWebhook": "https://api.myapp.com/callback"
    }
  }
}

Validate a whole list of addresses, one per item, taking the address off each item:

{
  "type": "uproc",
  "parameters": {
    "group": "communication",
    "communicationProcessor": "checkEmailExists",
    "email": "{{ $json.email }}",
    "maxConcurrency": 10
  }
}

Enrich a company from its domain:

{
  "type": "uproc",
  "parameters": {
    "group": "company",
    "companyProcessor": "getCompanyByDomain",
    "domain": "microsoft.com"
  }
}

Find a company by name within a country:

{
  "type": "uproc",
  "parameters": {
    "group": "company",
    "companyProcessor": "getCompanyByName",
    "name": "Acme Corporation",
    "country": "US"
  }
}

Geocode an IP address:

{
  "type": "uproc",
  "parameters": {
    "group": "geographic",
    "geographicProcessor": "getCoordinateByIp",
    "ip": "8.8.8.8"
  }
}

Geocode a written address:

{
  "type": "uproc",
  "parameters": {
    "group": "geographic",
    "geographicProcessor": "getCoordinateBySearch",
    "address": "1600 Amphitheatre Parkway, Mountain View, CA"
  }
}

Check that a string contains only letters:

{
  "type": "uproc",
  "parameters": {
    "group": "text",
    "textProcessor": "checkStringAlpha",
    "text": "HelloWorld"
  }
}

Read a LinkedIn profile with your own session cookies:

{
  "type": "uproc",
  "parameters": {
    "group": "communication",
    "communicationProcessor": "getLinkedinProfile",
    "li_at": "{{ $json.liAt }}",
    "jsessionid": "{{ $json.jsessionId }}",
    "profile": "https://www.linkedin.com/in/example",
    "maxConcurrency": 3
  }
}

Feed a processor an input that has no field of its own — here location, passed through Additional Parameters (JSON):

{
  "type": "uproc",
  "parameters": {
    "group": "personal",
    "personalProcessor": "getPersonByFirstnameLastnameCompanyLocation",
    "firstname": "John",
    "lastname": "Doe",
    "company": "ACME Corp",
    "additionalParams": "{\"location\": \"Barcelona, Spain\"}"
  }
}

Error Handling

ModeBehavior
stopHalts workflow on first error
continueSkips failed items, passes successful ones through
errorPortRoutes failed items to Error output port

Tips

uProc processes, enriches, and validates data using over 455 specialized processors across various categories. This tool is ideal when you need to perform specific data operations like email validation, company enrichment, or text manipulation, rather than broader data storage or retrieval. It produces processed, validated, or enriched data based on the chosen operation.

Notes

  • Pick the Resource first. The Operation dropdown only lists the processors of the selected resource, and the two are saved independently — if you change Resource after choosing a processor, re-open Operation and pick again rather than assuming the old value still applies.
  • An unrecognised Operation fails the item with Unknown uProc processor, not silently. That is the usual symptom of a processor key typed by hand or built from an expression that resolved to something unexpected.
  • Fill in only what the processor asks for. Extra fields are not an error — they are simply not sent — but they make the node harder to read later. One node, one processor, the two or three fields it needs.
  • Additional Parameters (JSON) is the escape hatch, and its keys are literal. They must match the processor’s own input names exactly (iban, isbn, years, location, separator…). A misspelled key is not rejected; the processor just receives an empty value for that input.
  • Keep Additional Options nested. Data Webhook belongs inside the additionalOptions object, not at the top level of the node’s parameters.
  • Cookie-based LinkedIn processors act as you. Anything under Communication that takes li_at and jsessionid runs against LinkedIn with your own session, so treat those cookies as credentials: pull them from an upstream secure source rather than typing them into the node, and keep concurrency low.
  • Concurrency is per node run. Max Concurrency caps how many items call uProc at once; on paid-per-call processors that is also how fast you spend, so start low on a large batch.

Frequently asked questions

Why did my processor selection stop working?

Pick the Resource first. The Operation dropdown only lists the processors of the selected resource, and the two are saved independently — if you change Resource after choosing a processor, re-open Operation and pick again.

What kinds of processor are available?

Email, phone, company, geographic, text and product data processors, spanning validation, enrichment and transformation.

Is it suitable for bulk cleaning?

Yes, that is the common use — running an imported list through validation before it reaches a CRM or a mailing platform.

Which credential does it need?

A uProc API credential.

Build with uProc

Drop it into a workflow, wire it to an agent, or call it on a schedule. You'll need uProc API credentials first.

Open BusyBot

Last reviewed . Spotted something wrong? Tell us.