Home Action Reference

Action Reference

Vikesh Tiwari
By Vikesh Tiwari
18 articles

LinkedIn and Web Scraping Actions (Apify)

LinkedIn and Web Scraping Actions (Apify) This article covers all Apify-powered actions in TexAu for scraping LinkedIn profiles, companies, jobs, posts, Sales Navigator results, Google Maps places, and website content. Before you begin - A TexAu account on any paid plan - No separate Apify account needed (TexAu handles the connection) LinkedIn Profile Actions Search LinkedIn Profiles (Apify) Credits: 8 | Category: Enrichment Searches LinkedIn for people matching your filters and returns full profile data including work history, education, and skills. Inputs | Field | Required | Notes | |---|---|---| | Search Query | Yes | Person's name or keyword | | Current Company | No | Filter by current employer | | Past Company | No | Filter by previous employer | | Current Job Title | No | e.g., Software Engineer | | Location | No | e.g., United States | Outputs Returns first name, last name, headline, LinkedIn URL, city, country, about section, open-to-work flag, account status flags (verified, premium, influencer), profile photo, follower and connection counts, current companies and titles, full work history, education, and skills. Use case: Search for "VP of Sales" at SaaS companies in New York to build a targeted outreach list. Get LinkedIn Profile Detail (Apify) Credits: 1 | Category: Enrichment Given a LinkedIn profile URL, returns the full profile including experience, education, skills, and email when available. Inputs | Field | Required | Notes | |---|---|---| | LinkedIn Profile URL | Yes | e.g., linkedin.com/in/username | Outputs Returns full name, headline, about section, profile URL, profile picture, city, country, current company, current company URL, top skills, connection and follower counts, status flags (creator, influencer, premium, open to work), and email. Use case: Enrich a list of LinkedIn URLs from a conference attendee sheet to get job titles before outreach. LinkedIn Company Actions Search LinkedIn Companies (Apify) Credits: 8 base + 0.5 per record | Category: Enrichment Searches LinkedIn for companies matching a query and returns detailed company profiles. Inputs | Field | Required | Notes | |---|---|---| | Search Query | Yes | Company name or keyword | | Max Items | No | Default: 5 | | Start Page | No | Pagination start | Outputs Returns company name, ID, LinkedIn URL, website, phone, description, tagline, logo, founded year, employee count and range, follower count, industry names, office locations, and verification status. Use case: Search for competitor companies in your industry to build an account list for ABM campaigns. Scrape LinkedIn Company Employees (Apify) Credits: 8 base + 0.5 per record | Category: Enrichment Fetches employee profiles from a specific LinkedIn company page. Inputs | Field | Required | Notes | |---|---|---| | LinkedIn Company URL | Yes | Company LinkedIn page URL | | Limit | Yes | Number of employees to return | Outputs Returns employee full name, first name, last name, LinkedIn profile URL, headline, city, country, full location, current company, status flags (creator, influencer, premium), and profile picture. Use case: Pull employee lists from target accounts to identify decision-makers for account-based sales. LinkedIn Job Actions Get LinkedIn Job Listings (Apify) Credits: 2 | Category: Jobs Retrieves active job listings from LinkedIn with filters for company, location, and experience level. Inputs | Field | Required | Notes | |---|---|---| | Company Names | Yes | One or more company names | | Job Title | No | Role keyword (e.g., Engineer) | | Job Location | No | Default: United States | | Total Rows | No | Default: 50 | | Published At / Work Type / Contract Type / Experience Level | No | Additional filters | Outputs Returns job title, ID, company name, location, salary, publish date, job URL, apply URL, applications count, experience level, contract type, work type, and sector. Use case: Monitor job postings at target accounts to identify hiring signals and time your outreach. Get LinkedIn Job Postings (Apify) Credits: 2 | Category: Jobs Retrieves job posting data from LinkedIn based on keyword search with salary, skills, and benefits. Inputs | Field | Required | Notes | |---|---|---| | Keywords | Yes | Search keywords for job postings | Outputs Returns job title, company name and LinkedIn URL, full description, location details, base salary (min, max, currency), seniority level, employment type, skills, benefits, education requirements, dates, application status, and apply URL. Use case: Track open roles at competitor companies to understand their hiring priorities. LinkedIn Post Actions Get LinkedIn Posts from Profile (Apify) Credits: 8 | Category: Enrichment Retrieves LinkedIn posts from a profile URL with optional keyword and sort filters. Inputs | Field | Required | Notes | |---|---|---| | LinkedIn Profile URL | Yes | Full profile URL | | Search Keywords | No | Filter by keyword | | Company Name | No | Filter by company | | Sort By | No | date or relevance (default: date) | Outputs Returns post ID, content, post type (post or repost), posted date, author name and profile URL, likes/comments/shares counts, and image URLs. Use case: Analyze a prospect's recent posts to personalize your outreach with a relevant reference. Get LinkedIn Post Data (Apify) Credits: 2 | Category: Scraping Retrieves detailed data for a single LinkedIn post by URL, including engagement metrics and comments. Inputs | Field | Required | Notes | |---|---|---| | LinkedIn Post URL | Yes | Direct URL to the post | Outputs Returns post text, type, URL, URN, author details (name, occupation, profile URL, picture), like/comment/share counts, posted timestamp, comments and reactions arrays, share audience, and images. Use case: Pull engagement data from a viral post to identify active commenters as warm leads. LinkedIn Sales Navigator Actions Search LinkedIn Sales Navigator People (Apify) Credits: 30 base + 0.5 per record | Category: Enrichment Scrapes people search results from Sales Navigator, returning profiles with name, title, company, and location. Inputs | Field | Required | Notes | |---|---|---| | Sales Navigator Search URL | Yes | Full URL from your search results page | | Limit | No | Default: 5 | | Page Number | No | Default: 1 | Outputs Returns full name, first name, last name, job title, company, company ID, location, LinkedIn URL, about text, and profile ID. Use case: Export your Sales Navigator lead search into TexAu for enrichment and CRM sync. Search LinkedIn Sales Navigator Accounts (Apify) Credits: 30 base + 0.5 per record | Category: Enrichment Scrapes company search results from Sales Navigator, returning account details with domain, headcount, and HQ location. Inputs | Field | Required | Notes | |---|---|---| | Sales Navigator Search URL | Yes | Full URL from your account search page | | Limit | No | Default: 5 | | Page Number | No | Default: 1 | Outputs Returns company name, ID, domain, website, LinkedIn URL, description, industry, employee count, HQ city, HQ country, and logo URL. Use case: Pull your Sales Navigator account list into TexAu to enrich with domain data, then waterfall into email finding. Google Maps and Web Actions Get Google Maps Places (Apify) Credits: 0.04 per record | Category: Enrichment Scrapes Google Maps for businesses matching a search string and location. Inputs | Field | Required | Notes | |---|---|---| | Search String | Yes | Business type (e.g., restaurant) | | Location Query | Yes | Area (e.g., New York) | | Max Places Per Search | No | Default: 5 | Outputs Returns business name, full address, phone, website, Google Maps URL, primary category, rating, reviews count, coordinates, main image, and status flags (claimed, closed, advertisement). Use case: Build a list of local businesses in a target city for a regional marketing campaign. Crawl Website Content (Apify) Credits: 2 | Category: Enrichment Crawls a webpage and extracts structured text content and metadata. Inputs | Field | Required | Notes | |---|---|---| | Website URL | Yes | Full URL including https:// | Outputs Returns page text content, page title, meta description, canonical URL, language code, loaded URL, and referrer URL. Use case: Extract homepage copy from prospect websites to feed into an AI column for personalized outreach. Scrape Website to Markdown (Apify) Credits: 2 | Category: Scraping Converts a webpage to structured Markdown format with full metadata. Inputs | Field | Required | Notes | |---|---|---| | Target URL | Yes | Full URL with https:// prefix | Outputs Returns Markdown content, page title, meta description, keywords, language, Open Graph tags (title, description, URL, image), source URL, and canonical URL. Use case: Convert competitor landing pages to Markdown for AI-powered content comparison. Take Webpage Screenshot (Apify) Credits: 1 | Category: Scraping Captures a full-page screenshot of any webpage and returns the image URL. Inputs | Field | Required | Notes | |---|---|---| | Target URL | Yes | URL of the page to capture | Outputs Returns screenshot URL, screenshot key, page URL, and start URL. Use case: Capture screenshots of prospect websites to include as visual context in sales decks. Troubleshooting Action returns empty results for a LinkedIn search. LinkedIn may not surface results for very narrow filter combinations. Broaden your search by removing one filter at a time. Start with only the search query, then add filters until results appear. Sales Navigator actions fail or return no data. The Sales Navigator Search URL must not contain a sessionId parameter. TexAu strips this automatically, but if the URL was truncated or modified, the action may fail. Copy the full URL directly from your browser's address bar. Google Maps returns fewer results than expected. Google Maps limits visible results for some queries. If you set Max Places Per Search to 100 but receive only 20, try broader search terms or a larger geographic area. Website crawler returns empty page text. Some websites load content with JavaScript after the initial page load. Try Scrape Website to Markdown as an alternative, which uses a different rendering approach. Rate limit errors on large runs. Apify actions share a daily request limit. If you run multiple Apify actions in parallel across large datasets, you may hit the combined cap. Spread large runs across multiple days or schedule them during off-peak hours.

Last updated on Apr 06, 2026

Find Data and Manage Contacts with Apollo.io

Find Data and Manage Contacts with Apollo.io This article covers all Apollo.io actions in TexAu: finding work emails by LinkedIn URL or name and company domain, looking up mobile numbers, enriching company records, and updating contact fields in Apollo's CRM. Before you begin - An Apollo.io account with data credits (paid plan required for contact lookups) - Your Apollo API key from Apollo at Settings > Integrations > API under API Keys - Paste the key in TexAu at Settings > Integrations > Apollo Apollo.io Find Email using Linkedin Url (Apollo) Integration: Apollo.io | Credits: 2 | Category: Enrichment Given a LinkedIn profile URL, this action searches Apollo's database for the person's work email address. Apollo runs its internal waterfall pipeline across data sources and returns the first matched email. Along with the email, the action returns the person's full professional profile and their employer's firmographic data. Inputs | Field | Required | Notes | |---|---|---| | LinkedIn URL | Yes | Full LinkedIn profile URL: e.g., linkedin.com/in/username | Outputs | Field | Description | |---|---| | Email | Resolved work email address | | Email Status | Apollo's verification status code (e.g., verified, guessed) | | Person ID | Apollo's internal person identifier | | First Name | | | Last Name | | | Full Name | | | LinkedIn URL | Confirmed LinkedIn profile URL | | Job Title | Current job title | | Headline | LinkedIn headline text | | Photo URL | Profile photo URL | | City | | | State | | | Country | | | Formatted Address | Full location string | | Time Zone | | | Seniority | Seniority level (e.g., senior, c_suite) | | Organization ID | Apollo ID for the employer | | Organization Name | Employer company name | | Organization Website | | | Organization LinkedIn | | | Organization Domain | Primary domain of the employer | | Organization Phone | | | Organization Industry | | | Estimated Employees | Headcount estimate | | Founded Year | | | Organization Description | Short company description | | Organization Logo URL | | | Waterfall Status | Status from Apollo's internal resolution pipeline | | Waterfall Message | Message explaining the waterfall result | | Request ID | Unique request identifier for this lookup | Use cases - Agency: Look up work emails for a client's LinkedIn prospect list in bulk, without manual research for each profile. - Founder-led team: Feed LinkedIn URLs from a scraped list into this action to collect emails before starting an outreach sequence. - RevOps: Batch-enrich CRM contacts who have a LinkedIn URL saved but no email address on record. - GTM engineer: Set this as the first column in a waterfall enrichment setup. If Apollo returns an email, skip downstream providers. Find Email using Name and Domain(Apollo) Integration: Apollo.io | Credits: 2 | Category: Enrichment Finds a work email address by matching first name, last name, and company domain against Apollo's database. Use this when you have a contact's name and their employer's domain but no LinkedIn URL. Inputs | Field | Required | Notes | |---|---|---| | First Name | Yes | | | Last Name | Yes | | | Company Domain | Yes | Domain only: e.g., texau.com (no https:// prefix) | Outputs | Field | Description | |---|---| | Email | Resolved work email address | | Email Status | Verification status code | | Person ID | Apollo internal person identifier | | First Name | | | Last Name | | | Full Name | | | LinkedIn URL | | | Job Title | | | Headline | | | Photo URL | | | City | | | State | | | Country | | | Formatted Address | | | Time Zone | | | Seniority | | | Organization ID | | | Organization Name | | | Organization Website | | | Organization LinkedIn | | | Organization Domain | | | Organization Phone | | | Organization Industry | | | Estimated Employees | | | Founded Year | | | Organization Description | | | Organization Logo URL | | | Waterfall Status | | | Waterfall Message | | | Request ID | | Use cases - Agency: Re-enrich a client's contact list where LinkedIn URLs are missing but names and company names are available. Pair with a domain enrichment action to generate the domain first. - Founder-led team: Match a conference attendee list or event CSV (name + company) against Apollo to get emails before reaching out. - RevOps: Fill in missing emails for CRM contacts whose records have a name and company but no verified email. - GTM engineer: Use as a fallback after LinkedIn URL-based lookup. If the URL-based approach returns no result, retry with name and domain. Find Mobile Number using Linkedin Url (Apollo) Integration: Apollo.io | Credits: 2 | Category: Enrichment Resolves a mobile phone number for a contact from their LinkedIn profile URL. Apollo queries multiple phone data sources and returns the first verified number. The action also returns the person's professional profile alongside the phone result. Inputs | Field | Required | Notes | |---|---|---| | LinkedIn URL | Yes | Full LinkedIn profile URL | Outputs | Field | Description | |---|---| | Mobile Number | Sanitized mobile phone number | | Status | Phone status code (e.g., expected_personal_phone) | | Person ID | Apollo internal person identifier | | First Name | | | Last Name | | | Full Name | | | LinkedIn URL | | | Job Title | | | Headline | | | Photo URL | | | City | | | State | | | Country | | | Formatted Address | | | Time Zone | | | Seniority | | | Organization ID | | | Organization Name | | | Organization Website | | | Organization LinkedIn | | | Organization Domain | | | Organization Phone | | | Organization Industry | | | Estimated Employees | | | Founded Year | | | Organization Description | | | Organization Logo URL | | | Waterfall Status | | | Waterfall Message | | | Request ID | | Use cases - Agency: Run phone enrichment on a prospect list before handing off to a client's sales team for call-based outreach. - Founder-led team: Find direct dials for a shortlist of high-priority accounts before starting phone outreach. - RevOps: Trigger phone enrichment automatically when a deal reaches a specific pipeline stage that requires a phone call. - GTM engineer: Build a multi-provider phone waterfall. Place Apollo first. If a number comes back, suppress calls to BetterEnrich or Datagma for that row to save credits. Enrich Company (Apollo) Integration: Apollo.io | Credits: 2 | Category: Enrichment Returns detailed firmographic data for a company by querying Apollo's organization database with a website domain. Use this to fill in employee count, revenue, funding, industry, technologies, and location fields for any account in your table. Inputs | Field | Required | Notes | |---|---|---| | Domain | Yes | Website domain only: e.g., texau.com. TexAu automatically strips https://, http://, and trailing slashes. | Outputs | Field | Description | |---|---| | Organization ID | Apollo's internal organization identifier | | Organization Name | | | Primary Domain | Clean domain string | | Website | Full website URL | | LinkedIn URL | Company LinkedIn page | | Twitter URL | | | Facebook URL | | | Founded Year | | | Logo URL | | | Industry | Industry category | | Employees Count | Estimated employee headcount | | Address | Raw full address | | Street Address | | | City | Headquarters city | | State | | | Postal Code | | | Country | Headquarters country | | Description | Short company description | | SEO Description | SEO-optimized description | | Annual Revenue | Revenue in numeric format | | Annual Revenue (Printed) | Revenue in formatted string (e.g., $10M) | | Total Funding | Total funding in numeric format | | Total Funding (Printed) | Total funding in formatted string | | Latest Funding Round Date | | | Latest Funding Stage | e.g., Series B, Pre-Seed | | Technology Names | First technology detected on their stack | Use cases - Agency: Enrich an account list before qualifying it for a client. Filter to companies with 50 to 500 employees raising a Series A or later. - Founder-led team: Score inbound signups by funding stage and headcount to decide which accounts to call first. - RevOps: Auto-populate account fields in your CRM when a new domain is added. Keep firmographics current without manual research. - GTM engineer: Build a technographic trigger: if the company uses a competitor technology, route the account to a specific campaign. Update Contact (Apollo.io) Integration: Apollo.io | Credits: 0 | Category: CRM Updates one or more fields on an existing Apollo contact using their Apollo Contact ID. Use this action to write enrichment results back into Apollo, correct stale data, or apply labels and stage changes at scale. Inputs | Field | Required | Notes | |---|---|---| | Contact ID | Yes | Apollo's internal contact ID | | First Name | No | | | Last Name | No | | | Company Name | No | Employer name | | Job Title | No | | | Account ID | No | Apollo account to associate with this contact | | Email | No | | | Website URL | No | Employer website | | Label Names | No | Comma-separated labels; replaces all existing labels | | Contact Stage ID | No | ID of the Apollo contact stage | | Address | No | Location string (e.g., New York, NY, US) | | Direct Phone | No | Primary phone number | | Corporate Phone | No | Work or office phone | | Mobile Phone | No | Mobile number | | Home Phone | No | | | Other Phone | No | | | Typed Custom Fields | No | JSON object mapping custom field IDs to values | Outputs | Field | Description | |---|---| | Contact ID | | | First Name | | | Last Name | | | Full Name | | | Email | | | Email Status | Verification status | | Job Title | | | Company Name | | | Company ID | Apollo organization ID | | Account ID | | | Contact Stage ID | | | Full Address | | | City | | | State/Region | | | Country | | | Time Zone | | | LinkedIn URL | | | Twitter URL | | | Primary Sanitized Phone | | | Phone Numbers (Raw) | All raw phone numbers on the record | | Phone Numbers (Sanitized) | All sanitized phone numbers | | Label IDs | | | Label Names | | | Created At | | | Updated At | | | Owner ID | | | Email From Customer | Boolean: was the email supplied by the user | | Email Verified (Boolean) | | | Source | Where the contact originated | | Source Display Name | | | Show Intent | Boolean: whether intent data is available | | Typed Custom Fields | Current state of all custom fields | Use cases - Agency: After enriching a list of contacts with phone numbers or emails, write the verified data back into Apollo in the same table run. - Founder-led team: Apply a label like high-priority to a segmented subset of contacts to trigger an Apollo sequence. - RevOps: Move contacts from one stage to another in bulk based on CRM activity data pulled from another action. - GTM engineer: After waterfall enrichment resolves a mobile number, update the Apollo contact record immediately so the data is available in Apollo sequences. Troubleshooting Email or phone returns empty even though the person is in Apollo's database. Apollo's waterfall may have exhausted available sources without finding verified data. Check Waterfall Status and Waterfall Message output fields. A status of no_match or no_phone confirms Apollo has no verified data for that record. Try a different provider as a fallback column. "Domain not found" on Enrich Company. Confirm the domain input contains only the base domain (e.g., texau.com), not the full URL. TexAu strips https:// automatically, but inputs like texau.com/about with a path will fail. Use a formula column to extract the root domain before calling this action. Update Contact returns a 404 or contact not found. The Contact ID must be Apollo's internal ID, not a name, email, or external CRM ID. Fetch the Contact ID first using a search or enrichment result, then pass it into this action. Rate limit errors on large runs. Apollo allows 10,000 requests per day and 60 per minute. For enrichment actions that cost 2 credits, also monitor your Apollo credit balance separately from the request count. Runs of more than 1,000 rows should be scheduled off-peak.

Last updated on Apr 06, 2026

Company Enrichment Actions: Full Reference

Company Enrichment Actions: Full Reference This article covers every action that enriches a company record with firmographic data: employee count, revenue, funding, industry, location, tech stack, and social profiles. For contact-level enrichment, see Contact and Person Enrichment Actions. For scraping company websites directly, see Web Scraping and Utility Actions. Enrich Company (Apollo) Pulls firmographic data for a company from Apollo using its website domain. Integration: Apollo Credit cost: 2 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | Domain | Yes | Company website domain (e.g., texau.com). Apollo strips https:// automatically. | Outputs | Field | Description | |-------|-------------| | organization_id | Apollo's internal ID for the company | | company_name | Company name | | company_domain | Primary domain | | website | Full website URL | | linkedin_url | LinkedIn company page | | twitter_url | Twitter/X profile | | facebook_url | Facebook page | | founded_year | Year the company was founded | | logo_url | Company logo URL | | industry | Industry category | | employee_count | Estimated employee count | | address | Full raw address | | headquarter_city | HQ city | | state | HQ state | | postal_code | HQ postal code | | headquarter_country | HQ country | | description | Short company description | | seo_description | SEO meta description | | annual_revenue | Annual revenue (number) | | annual_revenue_printed | Annual revenue (formatted string, e.g., "$5M") | | total_funding | Total funding raised (number) | | total_funding_printed | Total funding (formatted string) | | latest_funding_round_date | Date of the most recent funding round | | latest_funding_stage | Stage of the most recent funding round (Seed, Series A, etc.) | | technology_names | First technology detected on the company's website | Use cases Agencies: Enrich a client's prospect list with company size and industry so you can personalize outreach by segment before handing the list off to a copywriter. Founder-led teams: Pull revenue and employee count on inbound form fills to score by company size before you spend time on a discovery call. RevOps: Populate missing account fields in HubSpot or Salesforce by running domains through this action in bulk. Map company_name, employee_count, and industry to the corresponding CRM properties. GTM engineers: Feed technology_names into a condition column to route leads by tech stack: for example, sending Salesforce users to one sequence and HubSpot users to another. Enrich Company (Hunter.io) Pulls firmographic, financial, and technology data for a company from Hunter.io using its domain. Integration: Hunter.io Credit cost: 2 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | Domain | Yes | Company domain (e.g., hunter.io) | Outputs | Field | Description | |-------|-------------| | company_name | Company name | | legal_name | Legal registered name | | domain | Primary domain | | phone | Company phone number | | description | Company description | | founded_year | Year founded | | city | HQ city | | state | HQ state | | state_code | State abbreviation | | country | HQ country | | country_code | ISO country code | | postal_code | HQ postal code | | latitude / longitude | Geographic coordinates | | logo | Logo URL | | linkedin_handle | LinkedIn handle | | twitter_handle | Twitter/X handle | | facebook_handle | Facebook handle | | instagram_handle | Instagram handle | | crunchbase_handle | Crunchbase handle | | email_provider | Email service the company uses | | company_type | Public, private, non-profit, etc. | | ticker | Stock ticker (public companies) | | us_ein | US Employer Identification Number | | sector | GICS sector | | industry_group | GICS industry group | | industry | GICS industry | | sub_industry | GICS sub-industry | | gics_code | Full GICS code | | sic_code | SIC classification code | | naics_code | NAICS classification code | | employee_range | Employee count range (e.g., "51-200") | | traffic_rank | Global website traffic rank | | annual_revenue | Annual revenue | | estimated_annual_revenue | Estimated annual revenue | | market_cap | Market capitalisation (public companies) | | raised | Total funding raised | | site_phone_numbers | Phone numbers found on the company's website | | site_email_addresses | Email addresses found on the company's website | | tags | Company tags | | tech | Technologies used (array) | | tech_categories | Technology categories | | domain_aliases | Alternate domains for the company | | indexed_at | When Hunter.io last indexed the company | Use cases Agencies: Use sic_code or naics_code to segment prospect lists for regulated-industry clients (e.g., healthcare or financial services) where industry classification matters for compliance messaging. Founder-led teams: Check email_provider to avoid cold emailing addresses hosted on catch-all or generic providers, which increases deliverability risk. RevOps: Use traffic_rank as a proxy signal for company growth stage: fast-growing companies often show improving rank quarter over quarter. GTM engineers: Combine tech (technologies) with a filter to build ICP segments. For example, route companies using Salesforce to a specific playbook and companies using HubSpot to another. Enrich Company (LeadMagic) Pulls firmographic data for a company from LeadMagic using its domain. Optionally accepts a LinkedIn URL for higher match accuracy. Integration: LeadMagic Credit cost: 1 credit per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | Company Domain | Yes | Company website domain (e.g., leadmagic.io) | | Profile URL | No | LinkedIn company page URL or universal name: improves match accuracy | Outputs | Field | Description | |-------|-------------| | organization_id | LeadMagic's internal company ID | | company_name | Company name | | universalName | LinkedIn universal name | | linkedin_url | LinkedIn company page | | website | Website URL | | industry | Industry category | | description | Company description | | tagline | LinkedIn tagline | | specialities | Specialities listed on LinkedIn | | hashtag | LinkedIn hashtag | | employee_count | Employee count (number) | | employee_range | Employee range (string, e.g., "51-200") | | employeeCountRange_start | Employee range lower bound | | employeeCountRange_end | Employee range upper bound | | followerCount | LinkedIn follower count | | founded_year | Year founded | | ownership_status | Public, private, etc. | | revenue | Revenue (number) | | revenue_formatted | Revenue (formatted string) | | total_funding | Total funding raised | | funding_rounds | Number of funding rounds | | last_funding_amount | Most recent funding amount | | latest_funding_round_date | Date of most recent round | | latest_funding_stage | Stage of most recent round | | acquisitions_count | Number of acquisitions | | competitors | Known competitors | | headquarter_city | HQ city | | headquarter_country | HQ country | | headquarter_geographicArea | HQ state or region | | postal_code | HQ postal code | | logo_url | Company logo URL | | twitter_url | Twitter/X company page | | facebook_url | Facebook company page | | stock_ticker | Stock ticker (public companies) | Use cases Agencies: At 1 credit per row, this is the most cost-efficient option for enriching large company lists where you need funding stage, employee count, and LinkedIn follower count in one pass. Founder-led teams: Use competitors to find and reach companies that are currently evaluating alternatives to a direct competitor. RevOps: Map funding_rounds and latest_funding_stage to an account scoring model: recent Series B or C funding often indicates budget availability and active expansion. GTM engineers: Combine followerCount with employee_count to calculate a "LinkedIn engagement ratio" that signals brand awareness relative to company size. Enrich Company from LinkedIn (B2B Enrichment) Extracts company details directly from a LinkedIn company page, including industry, employee count, location, and funding data. Integration: B2B Enrichment Credit cost: 2 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn Company URL | Yes | Full LinkedIn company URL (e.g., https://www.linkedin.com/company/openai) | Outputs | Field | Description | |-------|-------------| | url | LinkedIn company URL | | company_name | Company name | | universal_name | LinkedIn universal name | | company_type | Company type (e.g., Privately Held, Public) | | description | Company description from LinkedIn | | phone | Company phone number | | followers | LinkedIn follower count | | website | Website URL | | logo | Company logo URL | | cover | Cover image URL | | tagline | LinkedIn tagline | | founded_year | Year founded | | employee_total | Total employee count | | employee_range_start | Employee range lower bound | | employee_range_end | Employee range upper bound | | headquarter_country | HQ country | | headquarter_state | HQ state or region | | headquarter_city | HQ city | | headquarter_postal_code | HQ postal code | | num_funding_rounds | Total number of funding rounds | | last_funding_type | Type of most recent round (Seed, Series A, etc.) | | last_funding_amount | Amount raised in most recent round | | last_funding_date | Date of most recent round | | last_funding_num_investors | Number of investors in most recent round | | last_funding_round_url | Crunchbase URL for the most recent round | | organization_url | Crunchbase organization URL | | industries | Industries array | Use cases Agencies: Use when your input list has LinkedIn company URLs but no domains. This action extracts everything from the LinkedIn page directly without needing a separate lookup. Founder-led teams: Pull employee_total and last_funding_type on your inbound leads to qualify them before a call. A Series A company with 30–80 employees is often a target customer profile for early-stage SaaS. RevOps: Combine num_funding_rounds and last_funding_date in a formula column to flag accounts that received funding within the last 90 days: these are warm priority accounts for outreach. GTM engineers: Use industries (array) in a derived formula to cross-reference ICP vertical lists and auto-tag accounts before they enter a sequence. Extract Social Links (TexAu) Extracts all social media profile links from a company website, grouped by platform. Integration: TexAu Credit cost: 1 credit per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | Website URL | Yes | Full website URL of the company (e.g., https://texau.com) | Outputs | Field | Description | |-------|-------------| | linkedin_links | LinkedIn profile or company page URLs found on the site | | twitter_links | Twitter/X profile URLs | | facebook_links | Facebook page URLs | | instagram_links | Instagram profile URLs | | youtube_links | YouTube channel URLs | | github_links | GitHub profile or organisation URLs | Use cases Agencies: Run a prospect's website through this action to find which social channels they are active on before building a LinkedIn or Twitter outreach sequence. Founder-led teams: When building partnerships or investor outreach lists, use this to extract LinkedIn URLs from a list of company websites so you can find the right people on LinkedIn. RevOps: Populate social profile fields in your CRM from a list of account domains. Use linkedin_links to drive LinkedIn Sales Navigator lookups. GTM engineers: Chain this action with Enrich Company from LinkedIn: extract the LinkedIn URL here, then feed it into the LinkedIn enrichment action to get full firmographic data in the same workflow. Troubleshooting The enrichment returns empty or no data for a domain. Verify the domain is formatted correctly: do not include https:// or trailing slashes unless the field instructions say otherwise. Some providers return no data for very new domains or domains with minimal online presence. Try a different provider's enrichment action on the same row. Apollo or Hunter.io return data for the wrong company. This happens with generic or redirecting domains. Pass the domain yourself rather than relying on auto-extraction. Check the company_name output field first before using downstream data. LinkedIn enrichment returns empty for my company URL. Make sure the URL matches the exact company page format (linkedin.com/company/[slug]). Profile URLs (linkedin.com/in/) will not work. Sales Navigator company URLs (linkedin.com/sales/company/) are also accepted. LeadMagic returns a different company than expected. LeadMagic matches primarily on domain. If the domain is a holding company or CDN (e.g., cloudflare.com or amazonaws.com), results will reflect that company, not your target. Provide the optional Profile URL field to improve accuracy. Revenue and funding fields are empty. Not all companies report financial data publicly. Privately held companies with no Crunchbase presence will have empty funding fields. Use employee_range as a fallback signal for company size qualification. Extract Social Links returns links to unrelated companies. Some websites embed social links to platforms or partners rather than their own profiles (e.g., a "Share on LinkedIn" button). Review the output and filter for URLs that contain the company domain or company name fragment if needed.

Last updated on Apr 06, 2026

Contact and Person Enrichment Actions. Full Reference

Contact and Person Enrichment Actions Full Reference This article covers every action in TexAu that enriches a person's professional profile. These actions return job title, company, location, LinkedIn URL, email, phone, career history, and other contact-level data. For actions that only find an email or mobile number, see: - Find Work Email Actions - Find Personal Email Actions - Find Mobile Number Actions Before you begin - Connect each integration at Settings > Integrations before running enrichment actions. - People Data Labs and B2B Enrichment provide the deepest profile data but cost more credits per row. Reserve them for your highest-value contacts. - Enrichment actions do not update your CRM automatically. Use a CRM write action downstream (e.g., Update Contact (HubSpot)) to push results. Enrich Contact (B2B Enrichment) Extracts a full professional profile from a LinkedIn URL including job title, company, location, and employment history. Integration: B2B Enrichment Credit cost: 2 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn Profile URL | Yes | Full LinkedIn profile URL (e.g., https://www.linkedin.com/in/username) | Outputs | Field | Description | |-------|-------------| | First Name | Person's first name | | Last Name | Person's last name | | Headline | LinkedIn headline | | Profile Picture | URL to profile image | | Summary | LinkedIn about section | | Industry | Industry from LinkedIn profile | | Open to Work | Boolean. whether the person has open-to-work enabled | | Premium | Boolean. whether the person has a LinkedIn Premium account | | Country | Country from location field | | City | City from location field | | State | State or region | | Full Location | Combined location string | | Current Company Name | Name of current employer | | Current Company Domain | Domain of current employer | | Current Company Logo | Logo URL | | Current Company LinkedIn URL | Company's LinkedIn page | | Current Job Title | Current job title | | Employment Type | Full-time, contract, etc. | | Current Job Start Date | When they started the current role | | Current Job End Date | End date if role has ended | Use cases Agencies: Run this before writing personalized cold emails. The headline and company name give you enough context to reference something relevant. Founder-led teams: At 2 credits, this is the lowest-cost way to pull a full profile before a LinkedIn outreach or cold call. Use it on your ideal customer profile list. RevOps: Feed the Current Company Domain output directly into CRM fields. Use it to standardize company names across your records ("TexAu Inc" vs "TexAu" vs "texau.com"). GTM engineers: Pull career history from this action and use an AI Column to write personalized openers based on previous companies or job titles. Enrich Person by LinkedIn URL (People Data Labs) Returns a deeply enriched professional profile from a LinkedIn URL via People Data Labs, including career history, education, skills, all emails, phone numbers, and social profiles. Integration: People Data Labs Credit cost: 30 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn URL | Yes | Full LinkedIn profile URL (e.g., linkedin.com/in/seanthorne) | Outputs | Field | Description | |-------|-------------| | Person ID | PDL internal ID for this profile | | Full Name | Full name | | Current Job Title | Job title at current company | | Current Company | Company name | | LinkedIn URL | Confirmed LinkedIn URL | | Work Email | Primary work email address | | All Emails | Array of all known emails (work + personal) | | Phone Numbers | Array of known phone numbers | | Location | Full location string | | Skills | Array of listed skills | | Experience History | Array of previous roles (company, title, dates) | | Education History | Array of education records | | Social Profiles | Array of social media profile URLs | | Match Score | Confidence score (0–10) that the profile matches the input | Use cases Agencies: Use PDL when a client needs a complete ICP profile. not just an email, but job title, tenure, previous companies, and an education match score. The match score tells you how confident the result is before you act on it. RevOps: PDL returns a full experience array. Use a formula or AI Column to extract previous company names and tag contacts who moved from a competitor. This is gold for competitor displacement campaigns. Founder-led teams: At 30 credits, PDL is expensive. Use it only for top-10 or top-50 accounts where full context justifies the cost. GTM engineers: The skills array from PDL is useful for persona segmentation. Filter your list to contacts who list "RevOps" or "HubSpot" in skills before launching a campaign. Enrich Person by Name and Company (People Data Labs) Returns the same full professional profile as above, but uses full name and current company name as the matching inputs instead of a LinkedIn URL. Integration: People Data Labs Credit cost: 30 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | Full Name | Yes | Person's full name (e.g., Sean Thorne) | | Company Name | Yes | Current company name (e.g., People Data Labs) | Outputs Same as Enrich Person by LinkedIn URL (People Data Labs) above. Use cases Agencies: Use when you have a name+company list from an event scan, directory download, or manual research, but no LinkedIn URL. This avoids the LinkedIn URL lookup step. RevOps: Your CRM may have first name, last name, and company but no LinkedIn URLs. Run this on contact records missing LinkedIn to backfill profiles in bulk. GTM engineers: Combine with Find LinkedIn URL by Name if you need the LinkedIn URL for downstream actions. Use PDL here if you need the full profile without the extra credit cost of a separate lookup. Enrich Contact (Snov.io) Enriches a contact record using their email address via Snov.io, returning name, job title, company details, location, and social profiles. Integration: Snov.io Credit cost: 4 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | Email | Yes | Work email address of the contact | Outputs | Field | Description | |-------|-------------| | Profile ID | Snov.io internal ID | | Full Name | Full name | | First Name | First name | | Last Name | Last name | | Profile Photo | URL to profile image | | Industry | Industry | | Country | Country | | Locality | City or locality | | LinkedIn URL | LinkedIn profile URL | | Twitter URL | Twitter profile URL | | Current Company | Company name | | Current Position | Job title | | Current Company Website | Company domain | | Company City | City of company HQ | | Company State | State of company HQ | | Company Country | Country of company HQ | | Company Industry | Industry of company | | Company Size | Employee count range | | Company Type | Public, private, etc. | | Current Job Start Date | Start date at current role | | Last Update Date | When this record was last updated in Snov.io | Use cases Agencies: If you've already found emails with Snov.io, use this to enrich those contacts in the same workflow. You stay within one integration and can enrich in bulk. RevOps: Your CRM has emails but is missing LinkedIn URLs, job titles, and company data. Run Enrich Contact (Snov.io) on all contacts where those fields are empty to fill gaps in bulk. Founder-led teams: At 4 credits, Snov.io is a cost-effective middle ground between B2B Enrichment (2 credits, LinkedIn-only) and PDL (30 credits, full history). Good for volume enrichment where full history is not needed. Enrich IP Address (Versium) Maps an IP address to a company domain and returns company firmographic data including name, industry, employee range, and revenue range. Integration: Versium Credit cost: 4 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | IP Address | Yes | IPv4 address to look up (e.g., 104.18.0.0) | Outputs | Field | Description | |-------|-------------| | IP Usage Type | How the IP is being used (corporate, residential, etc.) | | Is ISP | Whether the IP belongs to an ISP | | Company Name | Name of the company at this IP | | Company Address | Street address | | Company City | City | | Company State | State or province | | Company ZIP | Postal code | | Company Country | Country | | Phone | Company phone number | | Domain | Company domain | | Website | Company website URL | | Industry | Industry | | Employee Range | Employee count band (e.g., 50–99) | | Sales Revenue Range | Revenue band | | Year Founded | Year the company was founded | | SIC | SIC industry code | | NAICS | NAICS industry code | | NAICS Description | Industry description | | Query ID | Versium internal query ID | | Number of Matches | How many companies matched this IP | Use cases GTM engineers: Your product sends IP addresses from web session logs. Run this to identify which company visited your pricing page without signing up. Feed the domain output into Enrich Company from LinkedIn (B2B Enrichment) to get deeper firmographic data. Agencies: Help clients attribute anonymous website traffic to named accounts. Map visitor IPs to company names, then cross-reference against their ICP to find warm leads. RevOps: Enrich form submissions that contain an IP field from your analytics platform. Use Company Name and Domain to match the visitor against existing CRM accounts. Find LinkedIn URL by Name Finds a person's LinkedIn profile URL using their full name and company name. Integration: BetterEnrich (TexAu built-in) Credit cost: 2 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | Full Name | Yes | Person's full name | | Company Name | Yes | Current company name | Outputs | Field | Description | |-------|-------------| | LinkedIn Profile URL | Found LinkedIn URL | | Message | Status or error message | Use cases Agencies: You have a spreadsheet with name+company from an event, a directory, or a client list. Run this first to get LinkedIn URLs before any email or phone enrichment. RevOps: CRM records often have first name, last name, and company but no LinkedIn URL. Run this in bulk to backfill LinkedIn URLs on older records. GTM engineers: Use as the first step in a multi-step enrichment pipeline. Once you have LinkedIn URLs, feed them into Enrich Contact (B2B Enrichment), Find Email using LinkedIn URL (Apollo), or any other LinkedIn-based action. Founder-led teams: The cheapest way to go from a name+company list to a LinkedIn-ready list before running any outreach enrichment. Find LinkedIn URL by Email Finds a person's LinkedIn profile URL using their email address. Integration: BetterEnrich (TexAu built-in) Credit cost: 4 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | Email Address | Yes | Work email address | Outputs | Field | Description | |-------|-------------| | LinkedIn Profile URL | Found LinkedIn URL | Use cases RevOps: Your CRM has emails but no LinkedIn URLs. Use this to reverse-lookup LinkedIn profiles from emails, then feed the URLs into a full profile enrichment action. Agencies: A client sends a contact list with emails from an old database. Use this to get LinkedIn URLs and verify the contacts are still active in their claimed roles. GTM engineers: When email bounce rates are high, LinkedIn URL lookup lets you redirect outreach to LinkedIn InMail without building a new list from scratch. Troubleshooting Enrichment returns empty for a known contact - The contact may have a private LinkedIn profile or a non-standard URL format. Ensure the URL follows https://www.linkedin.com/in/username and does not include query strings or trailing slashes. - PDL uses a likelihood score. A score below 5 indicates low confidence. Verify the input name and company are spelled correctly. Match Score is low on PDL results - This means PDL found a profile but is not confident it is the right person. Common causes: common names (e.g., "John Smith"), or the company name does not exactly match PDL's database. Try passing the LinkedIn URL instead of name+company for a more precise match. Snov.io** returns empty for a valid email** - Snov.io enriches its own contacts database. If the email was sourced outside Snov.io's coverage (e.g., scraped from a niche forum), there may be no matching record. Try Enrich Contact (B2B Enrichment) with a LinkedIn URL instead. Versium returns ISP data instead of a company - The IP belongs to a home office, coworking space, or mobile network. The Is ISP output will be true. Filter these out before running downstream company enrichment. Find LinkedIn URL by Name returns no result - The person may not have a public LinkedIn profile, or the company name spelling does not match LinkedIn's data. Try variations of the company name (short form, without "Inc", etc.).

Last updated on Apr 06, 2026

Find Mobile Number Actions: Full Reference

Find Mobile Number Actions: Full Reference This article covers every action in TexAu that finds mobile and direct-dial phone numbers. It includes inputs, outputs, credit costs, and use cases by team type. Before you begin - Connect each integration at Settings > Integrations before running mobile number actions. - Mobile phone data has lower coverage than email. Expect 20–50% hit rates depending on seniority and country. - TexAu's built-in waterfall action tries multiple providers automatically, giving you higher overall coverage. - Phone numbers are typically returned in international format (e.g., +1 555 555 5555). Use Normalize Phone Number (a free utility action) to standardize formats before pushing to a CRM. Find Mobile Number by LinkedIn URL (B2B Enrichment) Finds a person's mobile phone number using their LinkedIn profile URL via B2B Enrichment. Integration: B2B Enrichment Credit cost: 10 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn URL | Yes | Full LinkedIn profile URL | Outputs | Field | Description | |-------|-------------| | Raw Phone | Mobile phone number in raw format | Use cases Agencies: Use for high-value accounts where calling converts better than email. B2B Enrichment phone data works well for VP and C-suite contacts. Founder-led teams: Direct-dial numbers let you bypass gatekeepers for cold calling. Combine with a verified email for multi-channel outreach. RevOps: Flag rows where phone enrichment costs 10 credits: only run this on your tier-1 accounts to control spend. GTM engineers: Run Normalize Phone Number on the raw output before pushing to Salesforce or HubSpot to ensure consistent format. Find Mobile by LinkedIn URL (Apollo) Finds a direct-dial mobile number from a LinkedIn profile URL via Apollo. Integration: Apollo Credit cost: Check the action details panel Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn URL | Yes | Full LinkedIn profile URL | Outputs | Field | Description | |-------|-------------| | Phone Number | Direct mobile or work number | | Phone Status | Verification status | | First Name | From LinkedIn | | Last Name | From LinkedIn | | Job Title | Current title | | Organization Name | Current employer | Use cases Agencies: Apollo phone coverage is solid for US-based enterprise contacts. Good starting point before trying more expensive providers. RevOps: Apollo's output includes job title and employer name alongside the phone number. A single action can backfill multiple fields in your CRM at once. Find Mobile by Name and Domain (Apollo) Finds a direct-dial phone number using a person's first name, last name, and company domain via Apollo. Integration: Apollo Credit cost: Check the action details panel Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | First Name | Yes | Person's first name | | Last Name | Yes | Person's last name | | Domain | Yes | Company domain | Outputs | Field | Description | |-------|-------------| | Phone Number | Direct mobile or work number | | Phone Status | Verification status | | Email | Also returns work email if found | | Organization Name | Company name | Use cases Agencies: Use when you have a name+company list (e.g., from an event or directory) but no LinkedIn URL. Apollo can often match on name+domain alone. RevOps: This action returns both phone and email in one call, reducing the number of actions and credits needed per row. Find Mobile by LinkedIn URL (FullEnrich) Finds a verified direct-dial phone number from a LinkedIn URL via FullEnrich. Integration: FullEnrich Credit cost: Check the action details panel Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn Profile URL | Yes | Full LinkedIn profile URL | Outputs | Field | Description | |-------|-------------| | Phone Number | Direct-dial mobile number | | Phone Status | Verification status | Use cases Agencies: FullEnrich has strong European phone coverage. If you're running campaigns targeting UK, DACH, or Nordics, FullEnrich often outperforms US-centric providers. GTM engineers: Stack FullEnrich as a phone fallback after Apollo in your waterfall pipeline. Find Mobile by Name and Domain (FullEnrich) Finds a mobile phone number using first name, last name, and company domain via FullEnrich. Integration: FullEnrich Credit cost: Check the action details panel Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | First Name | Yes | Person's first name | | Last Name | Yes | Person's last name | | Domain | Yes | Company domain | Outputs | Field | Description | |-------|-------------| | Phone Number | Direct-dial mobile number | | Phone Status | Verification status | Use cases RevOps: Use when your CRM has name+company but no LinkedIn URL. Good for filling phone gaps in existing records. Find Mobile by LinkedIn URL (Datagma) Finds a mobile phone number from a LinkedIn profile URL via Datagma. Integration: Datagma Credit cost: Check the action details panel Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn URL | Yes | Full LinkedIn profile URL | Outputs | Field | Description | |-------|-------------| | Phone Number | Mobile phone number | Use cases Agencies: Datagma performs well for contacts in Continental Europe and the Middle East, where other providers have gaps. GTM engineers: Use Datagma as a fourth-tier fallback in a waterfall: Apollo → FullEnrich → B2B Enrichment → Datagma. Find Mobile Using Email (Datagma) Finds a mobile phone number for a contact when you already have their email address via Datagma. Integration: Datagma Credit cost: Check the action details panel Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | Email | Yes | Work email address | Outputs | Field | Description | |-------|-------------| | Phone Number | Mobile phone number | Use cases RevOps: Your CRM has emails but is missing phone numbers. Run this on all contacts where phone = empty to fill the gap in bulk. Agencies: When a client hands off a list with emails but no phones, this is the fastest path to phone coverage without needing LinkedIn profiles. Find Mobile by LinkedIn URL (Findymail) Finds a direct-dial mobile number from a LinkedIn profile URL via Findymail. Integration: Findymail Credit cost: Check the action details panel Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn Profile URL | Yes | Full LinkedIn profile URL | Outputs | Field | Description | |-------|-------------| | Phone Number | Direct-dial mobile number | Use cases Agencies: If you're already using Findymail for email finding, using Findymail mobile too avoids managing a second provider key. Find Mobile by LinkedIn URL (Prospeo) Finds a mobile phone number from a LinkedIn profile URL via Prospeo. Integration: Prospeo Credit cost: 2 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn URL | Yes | Full LinkedIn profile URL | Outputs | Field | Description | |-------|-------------| | Phone Number | Mobile phone number | Use cases Agencies: At 2 credits, Prospeo is one of the lower-cost mobile finders. Good for mid-tier accounts where you want phone coverage without paying 10 credits per row. Find Mobile by LinkedIn URL (TexAu Waterfall) Finds a mobile phone number by automatically trying multiple providers in sequence. Returns the first valid result. No individual provider API key required. Integration: TexAu (built-in waterfall) Credit cost: Varies by provider used (check the action details panel) Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn Profile URL | Yes | Full LinkedIn profile URL | Outputs | Field | Description | |-------|-------------| | Phone Number | Direct mobile number | | Source | Which provider returned the result | Use cases Agencies: Fastest path to maximum phone coverage. TexAu tries providers in order and stops when a result is found, billing only for the lookup that worked. Founder-led teams: No API key management needed. Add this action to any table with LinkedIn URLs and get phones automatically. RevOps: Use the Source output to track which provider is filling most of your phone data: useful for evaluating enrichment vendor performance. GTM engineers: Combine with Normalize Phone Number downstream to standardize formats before CRM sync or dialers. Troubleshooting Phone number returns empty - Mobile coverage is lower than email coverage. 20–40% hit rates are normal. - For senior contacts (C-suite, VP), coverage is typically higher because their direct numbers appear in more databases. - Try a different provider if one returns empty. Coverage varies by region and seniority. Phone number format is inconsistent - Use the free Normalize Phone Number utility action after enrichment. It standardizes all numbers to E.164 format, which most CRMs and dialers require. TexAu waterfall charges more credits than expected - The waterfall tries providers in order. If the first provider returns empty, it tries the next, which costs credits. Each provider attempt charges its own credit cost. Check your Credit Usage log at Settings > Billing > Credit History. Numbers are not mobile: they are office switchboards - Some providers return office main lines rather than direct dials. Check the phone type field if the provider returns it. For direct-dial-only results, use B2B Enrichment or FullEnrich, which label their phone types more precisely.

Last updated on Apr 06, 2026

Find Personal Email Actions. Full Reference

Find Personal Email Actions Full Reference This article covers every action in TexAu that finds personal email addresses (Gmail, Yahoo, Hotmail, and other non-corporate email addresses). These are useful for reaching founders, freelancers, and individuals who are not reachable at a work address. For work email finding, see Find Work Email Actions. Before you begin - Connect the relevant integration at Settings > Integrations before running these actions. - Personal email finders operate on LinkedIn profile URLs. You need one LinkedIn URL per row. - Personal email success rates are lower than work email rates. Expect 30–60% hit rates depending on how publicly visible the person's email is. Find Personal Email by LinkedIn URL (BetterEnrich) Finds a personal email address (Gmail, Yahoo, etc.) from a LinkedIn profile URL. This is an async action. it submits and polls for the result. Integration: BetterEnrich Credit cost: 2 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn Profile URL | Yes | Full LinkedIn profile URL | Outputs | Field | Description | |-------|-------------| | Email | Personal email address | | Status | Result status (found, not_found, error) | | Verifier | Which verifier confirmed the email | Use cases Agencies: Reach prospects who don't check their work inboxes. especially founders and early-stage startup employees who read personal email first. Founder-led teams: Personal emails allow direct outreach that bypasses corporate spam filters. A message to a Gmail address from a founder often performs better than a cold work email. RevOps: Add personal email as a secondary contact field in your CRM. Use it as a fallback channel when work email bounces. GTM engineers: Stack personal email alongside work email enrichment. Build a priority logic: try work email first, fall back to personal email if work returns empty. Find Personal Email (LeadMagic) Finds a personal email address from a LinkedIn profile URL via LeadMagic's enrichment database. Integration: LeadMagic Credit cost: 2 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn URL | Yes | Full LinkedIn profile URL | Outputs | Field | Description | |-------|-------------| | First Personal Email | The personal email address | | Name | Full name from LinkedIn | | Message | Status message from LeadMagic | | Profile URL | Confirmed LinkedIn profile URL | Use cases Agencies: LeadMagic's personal email coverage is strong for US-based founders and operators. Good choice for early-stage outreach campaigns. Founder-led teams: Use to reach investors, advisors, and decision-makers who are not actively checking company email. GTM engineers: When running outreach pipelines, map the First Personal Email output to a dedicated column in your table. Use a condition column to route rows to personal email sequences only if work email is empty. Troubleshooting Personal email returns empty for most rows - This is expected. hit rates for personal email are naturally lower than work email. Run both work and personal enrichment and use whichever returns a result. - Not everyone has their personal email tied to their LinkedIn account. Rates above 40% are considered good. BetterEnrich times out - BetterEnrich is async and may take up to 5–10 minutes per row in some cases. Check the row status in your table. If it shows "processing," it is still running. Emails appear to be invalid - Personal email addresses do expire. people change their Gmail over time. Always validate personal emails through an email verification action before adding them to a live campaign.

Last updated on Apr 06, 2026

Find Work Email Actions: Full Reference

Find Work Email Actions: Full Reference This article covers every action in TexAu that finds work (professional) email addresses. It includes exact inputs, outputs, credit cost, and use cases by team type. For personal email finding, see Find Personal Email Actions. To understand how to chain multiple providers with automatic fallback, see Waterfall Enrichment. Before you begin - Connect the relevant integration before running these actions. Go to Settings > Integrations and connect whichever provider you want to use. - Each provider requires a separate API key. You only need to connect the providers you plan to use. - TexAu's built-in Waterfall actions (Find Work Email by LinkedIn URL, Find Work Email by Name and Domain) automatically try multiple providers for you. You do not need to set up each provider individually for waterfall actions: TexAu handles the routing. Find Work Email by LinkedIn URL (Apollo) Looks up a person's verified work email using their LinkedIn profile URL via Apollo. Integration: Apollo Credit cost: 2 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn URL | Yes | Full LinkedIn profile URL (e.g., https://linkedin.com/in/janedoe) | Outputs | Field | Description | |-------|-------------| | Email | Work email address | | Email Status | Verification status | | First Name | Person's first name | | Last Name | Person's last name | | Job Title | Current job title | | Seniority | Seniority level (e.g., senior, director) | | Organization Name | Current employer | | Organization Domain | Company website domain | | Organization Industry | Industry classification | | Estimated Employees | Approximate headcount | | City / State / Country | Location | | Waterfall Status | Status message from Apollo's waterfall | Use cases Agencies: Enrich a client's list of LinkedIn URLs to get verified emails before launching email campaigns. Run in bulk across 100s of rows simultaneously. Founder-led teams: After finding a prospect on LinkedIn, get their work email in one click without leaving TexAu or logging into Apollo separately. RevOps: Backfill missing email fields on CRM contacts that only have a LinkedIn URL. Connect the output directly to Update Contact (HubSpot) to complete records. GTM engineers: Build automated pipelines that take LinkedIn URLs from a scrape and output verified emails ready for sequencing in Instantly or Smartlead. Find Email using Name and Domain (Apollo) Finds a work email address using a person's first name, last name, and company domain via Apollo. Integration: Apollo Credit cost: 2 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | First Name | Yes | Person's first name | | Last Name | Yes | Person's last name | | Domain | Yes | Company domain (e.g., stripe.com) | Outputs | Field | Description | |-------|-------------| | Email | Work email address | | Email Status | Verification status | | Person ID | Apollo internal ID | | Job Title | Current job title | | Organization Name | Company name | | Organization Domain | Company domain | Use cases Agencies: Start from a CSV of contacts with names and company names (but no emails), derive the domain using Find Website from Company Name, then run this action to get emails. Founder-led teams: Use when you know someone's name and where they work but can't find their LinkedIn profile. RevOps: Repair CRM records that have name + company but are missing an email address. GTM engineers: Build a pipeline: List of names + company names → Normalize Company Name → Find Website → Find Email using Name and Domain → push to outreach. Find Work Email Using LinkedIn Profile URL (FullEnrich) Discovers a verified work email by submitting a LinkedIn URL to FullEnrich's enrichment API. This is an async action: it submits the request and polls for results. Integration: FullEnrich Credit cost: 15 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn Profile URL | Yes | Full LinkedIn profile URL | Outputs | Field | Description | |-------|-------------| | Work Email | Verified work email address | | Work Email Status | Status of the email (valid, risky, etc.) | Use cases Agencies: Use when Apollo and Findymail don't return results. FullEnrich often covers contacts in industries or regions with lower Apollo coverage. Founder-led teams: Pay-per-result model. At 15 credits per row, best used as a fallback, not a primary source. RevOps: Queue FullEnrich as a second-pass enrichment for rows that returned empty from lower-cost providers. GTM engineers: Place FullEnrich in a condition column: only run it if the previous email column is blank. This controls spend. Find Email Using LinkedIn URL (Findymail) Finds a work email address from a LinkedIn profile URL using Findymail's verification system. Integration: Findymail Credit cost: 2 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn Profile URL | Yes | Full LinkedIn profile URL | Outputs | Field | Description | |-------|-------------| | Email | Verified work email address | | Accept All | Whether the domain accepts all emails | | First Name | First name from LinkedIn | | Last Name | Last name from LinkedIn | Use cases Agencies: Strong coverage for European and mid-market contacts where Apollo has gaps. Good provider to run alongside Apollo. Founder-led teams: Straightforward input-output: paste a LinkedIn URL, get an email. Low cost at 2 credits. RevOps: Deduplicate against existing CRM emails before writing back to avoid overwriting verified data. GTM engineers: Build a waterfall: Apollo → Findymail → FullEnrich (sorted cheapest first). Use condition columns to skip providers once a valid email is found. Find Email Using Name and Domain (Findymail) Finds a work email address using first name, last name, and company domain via Findymail. Integration: Findymail Credit cost: 2 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | First Name | Yes | Person's first name | | Last Name | Yes | Person's last name | | Domain | Yes | Company domain | Outputs | Field | Description | |-------|-------------| | Email | Found work email | | Accept All | Whether the domain accepts all emails | Use cases Agencies: Use when you have a contact list with names and companies but no LinkedIn URLs. No scraping required. RevOps: Fill email gaps in CRMs where the name+company is known but the email was never captured at point of entry. Find Email Using Name and Company Domain (Hunter.io) Finds a professional email using first name, last name, and company domain via Hunter.io's Email Finder API. Integration: Hunter.io Credit cost: 2 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | Domain | Yes | Company domain (e.g., hubspot.com) | | First Name | Yes | Person's first name | | Last Name | Yes | Person's last name | Outputs | Field | Description | |-------|-------------| | Email Address | Found work email | | Confidence Score | Hunter.io confidence percentage (0–100) | | Position | Job title | | Company | Company name | | Verification Status | Email verification result | Use cases Agencies: Hunter.io consistently returns high-confidence scores alongside the email. Use the Confidence Score output to filter: only accept emails with a score above 70. Founder-led teams: Combine with Enrich Company (Hunter.io) to get both the company domain and a contact email in a single workflow. RevOps: The verification status output lets you update a "verified" field in your CRM at the same time you write the email. GTM engineers: Hunter.io has the highest rate limit of any email finder (10 requests/second). Best suited for high-volume, time-sensitive enrichment runs. Find Work Email Using Name and Company Domain (Datagma) Finds a verified work email address using first name, last name, and company domain via Datagma. Integration: Datagma Credit cost: 4 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | First Name | Yes | Person's first name | | Last Name | Yes | Person's last name | | Domain | Yes | Company domain | | LinkedIn URL | No | Optional: may improve match rate | Outputs | Field | Description | |-------|-------------| | Email | Found work email | | Email Domain | Domain part of the email | | MX Found | Whether the domain has valid mail exchange records | | SMTP Check | Whether SMTP verification passed | | Status | Email status label | Use cases Agencies: Datagma's SMTP check and MX validation are more detailed than most providers. Use when you need high deliverability confidence before importing into an email sequence. RevOps: The smtp_check and mx_found outputs give you real delivery signal: not just pattern matching. Map these to custom fields in HubSpot for data quality tracking. GTM engineers: Optional LinkedIn URL input can increase match accuracy. Chain with a LinkedIn URL find action first. Find Email by LinkedIn URL (Prospeo) Finds a professional email address from a LinkedIn profile URL via Prospeo's enrichment API. Integration: Prospeo Credit cost: 2 credits per row Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn Profile URL | Yes | Full LinkedIn profile URL | Outputs | Field | Description | |-------|-------------| | Email | Found work email address | | Email Status | Verification status (valid, accept_all, etc.) | Use cases Agencies: Prospeo's coverage is strong for LinkedIn-sourced contacts. Good primary provider for outbound agencies doing LinkedIn-first prospecting. Founder-led teams: Simple two-field action (URL in, email out). Run directly after any LinkedIn-based scrape. Find Email by Name and Domain (Icypeas) Finds a verified work email address using a person's name and company domain via Icypeas. Integration: Icypeas Credit cost: Check the action details panel Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | First Name | Yes | Person's first name | | Last Name | Yes | Person's last name | | Domain | Yes | Company domain | Outputs | Field | Description | |-------|-------------| | Email | Found work email address | | Status | Verification status | Use cases Agencies: Icypeas is useful as a tertiary fallback provider in waterfall workflows: when Apollo, Findymail, and Hunter all miss. RevOps: For contacts in Southern Europe and LATAM, Icypeas often returns results where other providers fail. Find Work Email by Name and Domain (TexAu Waterfall) Finds a verified work email by trying multiple providers automatically. TexAu submits the request to multiple email enrichment providers and returns the first valid result. No individual provider account required for this action: TexAu uses its shared pool. Integration: TexAu (built-in waterfall) Credit cost: Varies by provider used (check the action details panel) Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | First Name | Yes | Person's first name | | Last Name | Yes | Person's last name | | Domain | Yes | Company domain | Outputs | Field | Description | |-------|-------------| | Email | Found work email address | | Source | Which provider returned the result | | Status | Verification status | Use cases Agencies: The fastest way to get email coverage without managing 3–5 separate API keys. TexAu rotates through providers and bills only for successful lookups. Founder-led teams: No setup needed beyond your TexAu account. Point it at a column of names + domains and let it run. RevOps: Use as the default email enrichment step before CRM sync. The Source field lets you track which data provider filled your records. GTM engineers: Compare hit rates from this action against single-provider actions to decide whether to self-manage provider keys or rely on TexAu's waterfall. Find Work Email by LinkedIn URL (TexAu Waterfall) Finds a verified work email from a LinkedIn URL by trying multiple providers automatically. Integration: TexAu (built-in waterfall) Credit cost: Varies by provider used (check the action details panel) Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | LinkedIn Profile URL | Yes | Full LinkedIn profile URL | Outputs | Field | Description | |-------|-------------| | Email | Found work email address | | Source | Which provider returned the result | | Status | Verification status | Use cases Agencies: One action covers all LinkedIn-to-email conversion needs. No provider management. GTM engineers: Best starting point for LinkedIn-first enrichment pipelines. If you need more control over provider selection, swap to individual provider actions. Find Email (B2B Enrichment) Finds a work email using first name, last name, and company domain via the B2B Enrichment network. Integration: B2B Enrichment Credit cost: 0 credits (included in your B2B Enrichment subscription) Category: Enrichment Inputs | Field | Required | Description | |-------|----------|-------------| | First Name | Yes | Person's first name | | Last Name | Yes | Person's last name | | Domain | Yes | Company domain | Outputs | Field | Description | |-------|-------------| | Email | Found email address | | Email Status | Validation status (valid, catch-all, etc.) | | Sub Status | Detailed sub-classification | | Domain Type | Type of email domain | | Free Email | Whether this is a free email provider | | Generic Email | Whether this is a role-based address (info@, support@) | Use cases Agencies: Zero credit cost makes this ideal for high-volume client projects when you have a B2B Enrichment subscription. RevOps: The is_generic flag is valuable: filter out role-based emails before loading into your CRM to keep data clean. GTM engineers: The is_free_email flag helps segment personal Gmail/Yahoo addresses from corporate work emails automatically. Troubleshooting Email column returns blank for all rows - Confirm the integration is connected at Settings > Integrations. - Verify the input columns contain valid LinkedIn URLs (they must start with https://linkedin.com/in/). - For name+domain actions, check that the domain column contains just the domain (stripe.com) without https:// or www. Email status shows "catch_all" or "risky" - These addresses exist at the domain but cannot be individually verified because the server accepts all email. You can still send: expect higher bounce rates. Use a dedicated email verification action before importing to sending tools. FullEnrich runs slowly - FullEnrich is an async action. It submits the request, then polls every 2 seconds for up to 2 minutes. This is normal behaviour. Rows process sequentially per your account's rate limit. Results are inconsistent across runs - Email providers update their databases continuously. Running the same list twice may return slightly different results. Always use the latest enrichment data before launching campaigns. Apollo returns an email but status is "likely invalid" - Apollo uses a waterfall internally. When it cannot verify with certainty, it returns a best-guess email with a lower confidence status. Check the Email Status output field and filter rows with invalid status before sending.

Last updated on Apr 06, 2026

LinkedIn Native Actions

LinkedIn Native Actions TexAu provides built-in LinkedIn actions that extract post engagement data and profile activity without requiring a LinkedIn account connection. These actions run through TexAu's own data infrastructure. Before you begin - You need an active TexAu account with available credits. - No LinkedIn login or cookie is required for these actions. - You need the public URL of the LinkedIn post or profile you want to extract data from. Get LinkedIn Post Details Retrieves detailed information about a LinkedIn post including reactions, comments, and author details. Credit cost: 8 credits per execution Use case: Analyze the engagement on a specific LinkedIn post before deciding to target its audience for outreach. Pull reaction counts, comment totals, and author information for competitive research. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | post_url | LinkedIn Post URL | Yes | LinkedIn post URL (e.g., https://www.linkedin.com/posts/...) | Output fields | Field | Display name | Type | |-------|-------------|------| | urn | URN | text | | thread_urn | Thread URN | text | | share_urn | Share URN | text | | commentary | Commentary | text | | num_comments | Number of Comments | number | | num_reactions | Number of Reactions | number | | reaction_type | Reaction Type Breakdown | text | | share_url | Share URL | url | | actor_profile_id | Actor Profile ID | text | | actor_entity_urn | Actor Entity URN | text | | actor_first_name | Actor First Name | text | | actor_last_name | Actor Last Name | text | | actor_headline | Actor Headline | text | | actor_profile_picture | Actor Profile Picture | text | | content | Post Content | text | | sponsored | Sponsored | boolean | Export LinkedIn Post Comments Retrieves all comments and commenter details from a specified LinkedIn post. Credit cost: 8 credits per execution Use case: Build a list of people who commented on a relevant industry post. Use the commenter names, headlines, and LinkedIn profile URLs for targeted outreach or lead qualification. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | post_url | LinkedIn Post URL | Yes | The public URL of the LinkedIn post to export comments from. | Output fields | Field | Display name | Type | |-------|-------------|------| | comment | Comment Text | text | | comment_id | Comment ID | text | | comment_url | Comment URL | url | | commenter_entity_urn | Commenter Entity URN | text | | commenter_first_name | Commenter First Name | text | | commenter_last_name | Commenter Last Name | text | | commenter_full_name | Commenter Full Name | text | | commenter_headline | Commenter Headline | text | | commenter_profile_id | Commenter LinkedIn Profile Url | text | | commenter_profile_picture | Commenter Profile Picture URL | url | | commenter_profile_background | Commenter Profile Background Image URL | url | | commenter_profile_type | Commenter Profile Type | text | This action returns multiple results per execution. Export LinkedIn Post Likers Retrieves a list of LinkedIn users who liked (reacted to) a specific post with their profile details. Credit cost: 8 credits per execution Use case: Identify people who engaged with a competitor's post or a thought leader's content. Extract their profile IDs and headlines to build a prospecting list of warm leads who are already interested in a relevant topic. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | post_url | Post URL | Yes | The LinkedIn post URL. | Output fields | Field | Display name | Type | |-------|-------------|------| | reaction_type | Reaction Type | text | | reactor_entity_urn | Reactor Entity URN | text | | reactor_first_name | Reactor First Name | text | | reactor_last_name | Reactor Last Name | text | | reactor_headline | Reactor Headline | text | | reactor_profile_id | Reactor Profile ID | text | | reactor_profile_picture | Reactor Profile Picture URL | url | | reactor_profile_background | Reactor Profile Background URL | url | | reactor_object_urn | Reactor Object URN | text | | reactor_profile_type | Reactor Profile Type | text | This action returns multiple results per execution. Get LinkedIn Activities Retrieves LinkedIn activity feed items including posts, engagement metrics, and media. Credit cost: 8 credits per execution Use case: Monitor a prospect's or competitor's posting activity over time. Track what topics they post about, how much engagement each post gets, and identify the best time to engage with their content. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | linkedin_url | LinkedIn URL | Yes | LinkedIn profile URL to fetch activities for. | | size | Page Size | No | Number of items per page (default: 100). | | useCache | Use Cache | No | Whether to use cached results for faster response (default: true). | Output fields | Field | Display name | Type | |-------|-------------|------| | activityId | Activity ID | text | | activityUrl | Activity URL | url | | activityHeader | Activity Header | text | | activityCommentary | Activity Commentary | text | | activityTime | Activity Time (Relative) | text | | authorEntityUrn | Author Entity URN | text | | authorFirstName | Author First Name | text | | authorLastName | Author Last Name | text | | authorFullName | Author Full Name | text | | authorHeadline | Author Headline | text | | authorProfileId | Author Profile ID | text | | authorProfileType | Author Profile Type | text | | authorProfilePictureUrl | Author Profile Picture URL | url | | authorProfileBackgroundUrl | Author Profile Background URL | url | | authorActive | Author Active | boolean | | authorFollowerCount | Author Follower Count | number | | authorCompanyName | Author Company Name | text | | authorCompanyUniversalName | Author Company Universal Name | text | | authorCompanyLogoUrl | Author Company Logo URL | url | | contentImages | Content Image URLs | url | | videoThumbnailUrl | Video Thumbnail URL | url | | videoDurationMs | Video Duration (ms) | number | | videoUrls | Video URLs | url | | reactionLike | Likes | number | | reactionInterest | Interest Reactions | number | | reactionAppreciation | Appreciation Reactions | number | | reactionEmpathy | Empathy Reactions | number | | reactionEntertainment | Entertainment Reactions | number | | reactionPraise | Praise Reactions | number | | totalComments | Total Comments | number | | totalReactions | Total Reactions | number | | totalShares | Total Shares | number | | resharedAuthorFirstName | Reshared Author First Name | text | | resharedAuthorLastName | Reshared Author Last Name | text | | resharedAuthorHeadline | Reshared Author Headline | text | | resharedCommentary | Reshared Commentary | text | | resharedUrl | Reshared Activity URL | url | | resharedTotalComments | Reshared Total Comments | number | | resharedTotalReactions | Reshared Total Reactions | number | | resharedTotalShares | Reshared Total Shares | number | | paginationToken | Next Pagination Token | text | This action returns multiple results per execution. Troubleshooting Post URL not accepted Make sure you use the full public LinkedIn post URL starting with https://www.linkedin.com/posts/... or https://www.linkedin.com/feed/update/.... No results returned The post may have been deleted, made private, or the author may have restricted visibility. Only publicly accessible posts return data. LinkedIn profile URL rejected for Get LinkedIn Activities The URL must be a standard LinkedIn profile URL (e.g., https://www.linkedin.com/in/username). Sales Navigator and Recruiter URLs are also accepted. Partial data in output Some fields depend on the post author's privacy settings. Profile pictures, background images, and headlines may be empty if the user has restricted their profile visibility.

Last updated on Apr 06, 2026

Reply.io Actions Reference

Reply.io Actions Reference Reply.io is a sales engagement platform for automating multi-channel outreach. These 11 actions let you manage contacts, check campaign stats, and enroll leads into sequences directly from a TexAu workflow, with no manual work in Reply required. Before you begin - You need a Reply.io account (Starter plan or higher) with API access enabled. - Find your API key at Settings > API in Reply.io. - Add it to TexAu at Settings > Integrations > Reply.io. Contact Management Update Contact (Reply.io) Integration: Reply.io | Credits: 0 | Category: CRM Creates a new contact if the email does not exist, or updates the record if it does. This upsert behavior makes it safe to run on any list without deduplication checks. Inputs | Field | Required | Notes | |---|---|---| | Email Address | Yes | Used to identify or create the contact | | First Name | Yes | Required for creation | | Last Name | No | | | Company | No | | | Job Title | No | | | Phone | No | | | City | No | | | State | No | | | Country | No | | | Time Zone ID | No | Example: US Eastern Standard Time | | LinkedIn Profile | No | Full LinkedIn URL | Outputs | Field | Description | |---|---| | Contact ID | Numeric Reply.io internal ID | | Email | Confirmed email | | First Name | | | Last Name | | | Company | | | Job Title | | | Phone | | | Phone Status | Validation status | | City | | | State | | | Country | | | Time Zone ID | | | LinkedIn Profile | | | Adding Date | Date the contact was first created | | Company Size | | | Industry | | | Sales Navigator URL | | | LinkedIn Recruiter URL | | | Account ID | Associated account in Reply | Use cases - Agency: Sync enriched prospect data from a Clay-style enrichment run directly into Reply without manual CSV export. - Founder-led team: Add new leads found via LinkedIn scraping to Reply in the same workflow that discovers them. - RevOps: Ensure CRM contacts have matching Reply records with updated job titles and company names before a campaign launches. - GTM engineer: Build a pipeline where enriched contacts automatically land in Reply, ready for sequence enrollment. Get Contact by ID (Reply.io) Integration: Reply.io | Credits: 0 | Category: CRM Retrieves a full contact profile using the Reply.io numeric Person ID. Inputs | Field | Required | Notes | |---|---|---| | Contact ID | Yes | Numeric person ID from Reply.io | Outputs | Field | Description | |---|---| | Contact ID | | | Email | | | First Name | | | Last Name | | | Company | | | Job Title | | | Phone | | | Phone Status | | | City | | | State | | | Country | | | Time Zone ID | | | LinkedIn Profile | | | Adding Date | | | Company Size | | | Industry | | | Sales Navigator URL | | | LinkedIn Recruiter URL | | | Account ID | | Use cases - Agency: Look up contact state after a sequence finishes to confirm profile completeness before handing off to a client. - Founder-led team: Pull contact data into a reporting table by ID to track who is in active sequences. - RevOps: Validate that contact records in Reply are complete before triggering CRM sync. - GTM engineer: Use Contact ID from a downstream Reply webhook event to fetch the full record and route it to another tool. Get Contact by Email (Reply.io) Integration: Reply.io | Credits: 0 | Category: CRM Retrieves the same 19-field contact profile as Get Contact by ID, but searches by email address. The email field shows a dynamic dropdown populated from your Reply contacts. Inputs | Field | Required | Notes | |---|---|---| | Email Address | Yes | Dynamic dropdown from Reply contacts | Outputs Same 19 fields as Get Contact by ID. Use cases - Agency: Check whether a prospect is already in Reply before adding them, to avoid duplicates. - Founder-led team: Look up a contact's Reply status directly from an email address captured in a form or spreadsheet. - RevOps: Confirm contact exists in Reply when cross-referencing with HubSpot or Salesforce records. - GTM engineer: Use as a pre-step before "Push to Campaign" to confirm the contact record is populated correctly. Delete Contact by Email (Reply.io) Integration: Reply.io | Credits: 0 | Category: CRM Permanently removes a contact from Reply.io using their email address. Inputs | Field | Required | Notes | |---|---|---| | Email Address | Yes | Must exactly match the stored email | Outputs | Field | Description | |---|---| | Status | Success or error message | Use cases - Agency: Remove contacts who opted out of outreach across client accounts in bulk. - Founder-led team: Clean up test contacts or bounced emails from Reply after a campaign ends. - RevOps: Process unsubscribe or GDPR deletion requests automatically when triggered by a CRM event. - GTM engineer: Build a suppression workflow that removes people from Reply when they are marked as churned or DNC in the source system. Delete Contact By ID (Reply.io) Integration: Reply.io | Credits: 0 | Category: CRM Removes a contact using their numeric Person ID instead of email. Useful when the email address is unknown or has changed. Inputs | Field | Required | Notes | |---|---|---| | Person ID | Yes | Numeric Reply.io contact ID | Outputs | Field | Description | |---|---| | Status | Success or error message | Use cases - Agency: Remove outdated records when you have the Reply ID from a prior export but the email is no longer valid. - Founder-led team: Delete contacts by ID when running cleanup from a Reply export report. - RevOps: Purge contacts that were flagged in a bad-data audit, using IDs from a Reply data export. - GTM engineer: Trigger deletion when an upstream event fires a Person ID (for example, from a Reply webhook). Get All Contacts (Reply.io) Integration: Reply.io | Credits: 0 | Category: CRM Retrieves a paginated list of all contacts from your Reply.io account with metadata and contact details. Auto-paginates up to 10,000 records at 50 per page. No input parameters are required. Inputs None required. Outputs | Field | Description | |---|---| | Total Contacts | Total count across all pages | | Current Page | Page being returned | | Total Pages | Number of pages | | Person ID | Reply.io internal ID | | Email | | | First Name | | | Last Name | | | Company | | | Job Title | | | Phone | | | Phone Status | Validation status | | City | | | State | | | Country | | | LinkedIn Profile | | | Adding Date | Date added to Reply | | Next Page URL | Pagination link | | Previous Page URL | Pagination link | Use cases - Agency: Export every contact in a Reply account to audit data quality before a client campaign launch. Identify records missing email or company name for enrichment. - Founder-led team: Pull a full contact snapshot into a TexAu table to cross-reference against your CRM and find contacts that exist in Reply but not in your primary system. - RevOps: Schedule a weekly export of all Reply contacts to a reporting table and track contact growth, completeness, and duplication over time. - GTM engineer: Use as the starting dataset for a bulk enrichment pipeline. Feed Person IDs or emails into downstream actions like Get Contact by ID or email verification. Contact Lists Get Contacts by List Name (Reply.io) Integration: Reply.io | Credits: 0 | Category: Integration Retrieves all contacts in a named list from your Reply account. Auto-paginates up to 10,000 records at 50 per page. Inputs | Field | Required | Notes | |---|---|---| | List Name | Yes | Exact name of the list in Reply.io | Outputs | Field | Description | |---|---| | Total Contacts | Total count in the list | | Current Page | Page being returned | | Total Pages | Number of pages | | Person ID | Reply.io internal ID | | Email | | | First Name | | | Last Name | | | Company | | | Job Title | | | Phone | | | City | | | State | | | Country | | | LinkedIn Profile | | | Adding Date | Date added to Reply | | Next Page URL | Pagination link | | Previous Page URL | Pagination link | Use cases - Agency: Pull all contacts from a named list to audit completeness before a campaign launch. - Founder-led team: Export a list for re-enrichment. feed Person IDs into Get Contact by ID to get the latest data. - RevOps: Sync a Reply list to a reporting table to track list growth over time. - GTM engineer: Use a list as the input dataset for a bulk "Push to Campaign" run by feeding emails into the campaign enrollment action. Campaign Information Get All Campaigns (Reply.io) Integration: Reply.io | Credits: 0 | Category: Integration Returns every campaign in your Reply account. Paginates automatically up to 10,000 campaigns at 50 per page. Use this as a prerequisite action. the Campaign ID it outputs is required by the campaign enrollment actions below. Inputs None required. Outputs | Field | Description | |---|---| | Campaign ID | Numeric campaign ID | | Campaign Name | Display name | | Campaign Status | Active, paused, or finished | | Campaign Created At | Creation date | | Campaign Is Archived | Boolean | | Campaign Email Account | Sending email account | Use cases - Agency: List all active campaigns to populate a campaign selector column in a workflow. - Founder-led team: Audit which campaigns are active, archived, or paused before starting a new outreach cycle. - RevOps: Pull campaign IDs for use in enrollment pipelines or reporting dashboards. - GTM engineer: Combine with Get Campaign Details to build a campaign health monitoring table. Get Campaign Details (Reply.io) Integration: Reply.io | Credits: 0 | Category: Integration Returns performance stats for a single campaign: deliveries, opens, replies, bounces, and active people count. Inputs | Field | Required | Notes | |---|---|---| | Campaign ID | Yes | Numeric ID (use Get All Campaigns to find it) | Outputs | Field | Description | |---|---| | Campaign ID | | | Campaign Name | | | Created Date | | | Status Code | Numeric status | | Owner Email | Email of the campaign owner | | Deliveries Count | Total emails delivered | | Opens Count | Total opens | | Replies Count | Total replies | | Bounces Count | Total bounces | | Active People | Contacts currently in the sequence | Use cases - Agency: Pull weekly campaign stats into a reporting workbook to share with clients. - Founder-led team: Monitor reply rate and bounce rate across multiple campaigns to identify which sequences are working. - RevOps: Alert the team when bounce count crosses a threshold, to protect sender reputation. - GTM engineer: Feed open and reply rates into a scoring model to prioritize follow-up outreach. Campaign Enrollment Push Existing Contact to Campaign (Reply.io) Integration: Reply.io | Credits: 0 | Category: Integration Moves an existing Reply contact into a selected campaign. The contact must not already be in an active campaign. if they are, the action does nothing. Inputs | Field | Required | Notes | |---|---|---| | Campaign ID | Yes | Dynamic dropdown from Get All Campaigns | | Email Address | Yes | Must already exist as a Reply contact | Outputs | Field | Description | |---|---| | Response Status | Success or error | Use cases - Agency: After enriching a list, move qualified contacts into the right sequence based on industry or job title segments. - Founder-led team: Trigger campaign enrollment when a Calendly no-show is detected. automatically re-enroll the contact in a follow-up sequence. - RevOps: Route contacts from a deal stage change in HubSpot into a nurture sequence in Reply. - GTM engineer: Build a conditional enrollment workflow: enrich → score → push high-score contacts to a premium campaign. Create Contact and Push to Campaign (Reply.io) Integration: Reply.io | Credits: 0 | Category: Integration Creates a new contact and enrolls them in a campaign in a single step. Use this when the contact does not already exist in Reply. Inputs | Field | Required | Notes | |---|---|---| | Campaign ID | Yes | Dynamic dropdown from Get All Campaigns | | Email Address | Yes | New contact's email | | First Name | Yes | Required for creation | Outputs | Field | Description | |---|---| | Response Status | Success or error | Use cases - Agency: Take a freshly scraped LinkedIn lead, create them in Reply, and drop them into a campaign in one workflow. no intermediate CSV step. - Founder-led team: Add a cold lead found from a job board or community and start outreach within minutes. - RevOps: When a new MQL is created in the CRM, automatically create them in Reply and enroll in the appropriate SDR campaign. - GTM engineer: Wire the output of a LinkedIn scraper or email finder directly into this action to build a zero-touch prospect-to-sequence pipeline. Troubleshooting Contact was not pushed to campaign. action returned no error but nothing happened. The contact is already enrolled in an active campaign. Reply does not enroll a contact who is mid-sequence. Check their status in Reply.io and remove them from the current campaign first, then retry. "Delete Contact by Email" succeeded but the contact still appears in Reply. Email matching is case-sensitive. Check for extra spaces or a different email variant in Reply. Use "Get Contact by Email" first to confirm the exact stored email. "Get Contacts by List Name" returns no results. The list name must exactly match the name in Reply.io. including capitalization and spacing. Open Reply, copy the list name, and paste it directly into the field. "Get Campaign Details" shows zero deliveries for an active campaign. The campaign may have just started or have no contacts enrolled yet. Confirm contacts are in the sequence by checking Active People count. If that is also zero, use "Push Existing Contact to Campaign" or "Create Contact and Push to Campaign" to add contacts. Credit cost shows 0 but no result was returned. These actions have success_only: false for most operations, meaning credits are charged on attempt rather than success. For enrollment actions (Push/Create and Push), the action uses success_only: true. meaning it only counts if the API response is positive. If the contact has a duplicate issue or is already in a campaign, the call will silently do nothing.

Last updated on Apr 06, 2026

Web Scraping and Utility Actions

Web Scraping and Utility Actions TexAu includes a set of built-in actions for extracting data from websites, discovering technology stacks, finding emails, and pulling structured metadata. These actions do not require third-party API keys. Before you begin - You need an active TexAu account with available credits. - All actions in this reference accept a website URL as the primary input. Full Page Scrape Scrapes a URL and returns its content in HTML, Markdown, or as a list of extracted links. Credit cost: 1 credit per execution Use case: Pull the full content of a landing page or blog post for analysis, content repurposing, or competitive research. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | url | Page URL | Yes | The target URL to scrape. | Output fields | Field | Display name | Type | |-------|-------------|------| | title | Page Title | text | | markdown | Markdown Content | text | | html | HTML Content | text | | links | Extracted Links | text | Extract Web Emails Crawls a website and extracts all email addresses found across multiple pages. Credit cost: 2 credits per execution Use case: Find contact emails from a company website for outreach. The crawler visits up to 10 pages to collect all emails it finds. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | url | Website URL | Yes | The target URL to crawl for emails. | Output fields | Field | Display name | Type | |-------|-------------|------| | email | Email Address | email | | email_source | Source Page | text | | email_type | Email Type | text | | email_confidence | Confidence Level | text | This action returns multiple results per execution. Extract Social Links Extracts all social media profile links from a website URL, grouped by platform. Credit cost: 1 credit per execution Use case: Quickly find a company's LinkedIn, Twitter, Facebook, Instagram, YouTube, and GitHub profiles from their website. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | url | Website URL | Yes | The target URL to extract social links from. | Output fields | Field | Display name | Type | |-------|-------------|------| | linkedin_links | LinkedIn Links | text | | twitter_links | Twitter / X Links | text | | facebook_links | Facebook Links | text | | instagram_links | Instagram Links | text | | youtube_links | YouTube Links | text | | github_links | GitHub Links | text | Get Web Meta Tags Fetches SEO, Open Graph, Twitter, and other meta tags for a given web page URL. Credit cost: 1 credit per execution Use case: Audit a page's SEO setup, check Open Graph tags before sharing on social media, or compare meta tag strategies across competitor pages. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | url | Page URL | Yes | The URL of the web page to extract meta tags from. | Output fields | Field | Display name | Type | |-------|-------------|------| | favicon | Favicon Path | url | | hreflang_lang | Hreflang lang | text | | hreflang_url | Hreflang Url | text | | og_title | Open Graph Title | text | | og_description | Open Graph Description | text | | og_image | Open Graph Image URL/Path | url | | og_url | Open Graph URL | url | | og_type | Open Graph Type | text | | og_site_name | Open Graph Site Name | text | | og_locale | Open Graph Locale | text | | seo_title | SEO Title | text | | seo_description | SEO Description | text | | seo_canonical | Canonical URL | url | | seo_charset | Charset | text | | seo_language | Language | text | | seo_robots | Robots Directive | text | | seo_author | SEO Author | text | | seo_keywords | SEO Keywords | text | | seo_viewport | Viewport | text | | twitter_card | Twitter Card Type | text | | twitter_title | Twitter Title | text | | twitter_description | Twitter Description | text | | twitter_image | Twitter Image URL/Path | url | | twitter_site | Twitter Site Handle | text | | twitter_creator | Twitter Creator Handle | text | Get Web JSON-LD Fetches and parses JSON-LD structured data (Schema.org) from a given web page URL. Credit cost: 1 credit per execution Use case: Extract product pricing, ratings, FAQ content, or organization details from a page's structured data for competitive intelligence or data enrichment. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | url | Page URL | Yes | The URL of the web page to extract JSON-LD data from. | Output fields | Field | Display name | Type | |-------|-------------|------| | item_context | Schema Context | url | | item_type | Schema Type (@type) | text | | item_name | Item Name | text | | item_description | Description | text | | item_url | URL | url | | item_image | Image URL | url | | item_logo | Logo URL | url | | item_brand | Brand | text | | item_founding_date | Founding Date | text | | item_keywords | Keywords | text | | item_aggregate_rating_value | Rating Value | number | | item_aggregate_rating_count | Rating Count | number | | item_offers_price | Offer Price | number | | item_offers_currency | Offer Currency | text | | item_offers_availability | Offer Availability | text | | item_offers_url | Offer URL | url | | item_same_as | Same As (Social Links) | text | | item_significant_link | Significant Links | text | | item_list_element | Breadcrumb List Elements | text | | item_main_entity | Main Entity (FAQ Items) | text | | item_raw | Raw JSON-LD Item Object | text | | total_count | Total Items Found | number | This action returns multiple results per execution. Website Intelligence Comprehensive website report covering performance, SEO, tech stack, security headers, DNS, SSL, social links, emails, and JSON-LD data in a single call. Credit cost: 3 credits per execution Use case: Run a full audit of a prospect's website before a sales call. Get their tech stack, estimated tech spend, SEO score, security posture, and social media links in one action. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | url | Website URL | Yes | The target URL to run the comprehensive intelligence report on. | Output fields (key fields) | Field | Display name | Type | |-------|-------------|------| | url | Original URL | url | | final_url | Final Resolved URL | url | | http_status | HTTP Status Code | number | | page_load_time_ms | Page Load Time (ms) | number | | seo_score | Overall SEO Score | number | | seo_issues | SEO Issues | text | | og_title | OG Title | text | | og_description | OG Description | text | | seo_title | SEO Title | text | | seo_description | SEO Description | text | | tech_stack_technologies | Detected Technologies | text | | tech_stack_categories | Tech Categories | text | | gtm_company_stage | Company Stage | text | | gtm_estimated_spend | Est. Monthly Tech Spend | number | | gtm_buying_signals | Buying Signals | text | | pixels | Tracking Pixels | text | | total_pixels_found | Total Pixels Found | number | | social_facebook | Facebook Links | text | | social_twitter | Twitter Links | text | | social_linkedin | LinkedIn Links | text | | emails | Emails Found | text | | json_ld_items | JSON-LD Schema Items | text | | headers_security_score | Header Security Score | number | | ssl_issuer | SSL Issuer | text | | ssl_grade | SSL Grade | text | | ssl_days_until_expiry | SSL Days Until Expiry | number | | dns_email_provider | Email Provider | text | Get Website Tech Stack Identifies the technologies, tools, and GTM signals used by a website. Credit cost: 1 credit per execution Use case: Check what CRM, analytics, or marketing tools a prospect uses. Use this data to personalize outreach or qualify leads based on their technology choices. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | url | Website URL | Yes | The target URL to detect technologies on. | Output fields | Field | Display name | Type | |-------|-------------|------| | tech_name | Technology Name | text | | tech_category | Technology Category | text | | tech_confidence | Detection Confidence | number | | tech_summary | Tech Stack Summary | text | This action returns multiple results per execution. Note: Get Website Tech Stack returns basic technology categories. Find Website Tech Stack (Utility) provides a more detailed breakdown with version numbers and confidence scores. Find URL Redirect Destination Resolves a URL to its final destination and returns the full redirect chain with HTTP status codes. Credit cost: 1 credit per execution Use case: Check where shortened URLs or affiliate links actually point. Verify redirect chains for SEO audits or link validation. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | url | URL | Yes | The original URL to resolve and check for redirects. | Output fields | Field | Display name | Type | |-------|-------------|------| | final_status_code | Final Status Code | number | | is_redirected | Is Redirected | boolean | | original_link | Original Link | url | | redirect_count | Redirect Count | number | | redirect_link | Final Redirect Link | url | | resolved_successfully | Resolved Successfully | boolean | Extract Sitemap URLs Discovers and extracts URLs from a website's sitemap via sitemap.xml, robots.txt, or crawl discovery. Credit cost: 1 credit per execution Use case: Get a complete list of pages on a website for SEO analysis, content auditing, or building a list of pages to scrape individually. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | url | Website URL | Yes | The target website URL to discover sitemaps for. | Output fields | Field | Display name | Type | |-------|-------------|------| | extracted_url | Discovered URL | url | | total_count | Total URLs Found | number | | source | Discovery Source | text | This action returns multiple results per execution. Find Website Tech Stack (Utility) Identifies technologies used on a website including analytics tools, CMS, and JavaScript frameworks. This is the utility version that returns categorized results. Credit cost: 2 credits per execution Use case: Run a technology audit on a prospect's website. Identify their programming languages, frameworks, analytics tools, CRM, and live chat solutions. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | site_url | Site URL | Yes | Website URL or domain (e.g., texau.com). | Output fields | Field | Display name | Type | |-------|-------------|------| | programming_languages | Programming Languages | text | | paas | Platform as a Service | text | | javascript_frameworks | JavaScript Frameworks | text | | web_frameworks | Web Frameworks | text | | web_servers | Web Servers | text | | static_site_generator | Static Site Generator | text | | security | Security | text | | tag_managers | Tag Managers | text | | cdn | CDN | text | | analytics | Analytics | text | | live_chat | Live Chat | text | | crm | CRM | text | | font_scripts | Font Scripts | text | | webmail | Webmail | text | | email | Email | text | | miscellaneous | Miscellaneous | text | Get Slack Channel Members Retrieves the member list and their profile details from a public Slack channel using workspace credentials. Credit cost: 2 credits per execution Use case: Extract member lists from public Slack communities for lead generation. Get names, emails, titles, and timezone data for each member. Input parameters | Parameter | Display name | Required | Description | |-----------|-------------|----------|-------------| | workspace | Workspace | Yes | The Slack workspace slug (e.g., 'texauhq'). | | channel_id | Channel ID | Yes | The Slack Channel ID. | | cookie | Slack Auth Cookie | Yes | Your Slack authentication cookie (starts with 'xoxd-'). | | token | Slack API Token | Yes | Your Slack API token (starts with 'xoxc-'). | Output fields | Field | Display name | Type | |-------|-------------|------| | workspace | Workspace | text | | channel_id | Channel ID | text | | total_members | Total Members Extracted | number | | user_ids | User IDs | text | | real_names | Real Names | text | | display_names | Display Names | text | | emails | Emails | text | | titles | Titles | text | | phones | Phone Numbers | text | | status_texts | Status Texts | text | | timezones | Timezones | text | | is_admins | Is Admin Status | text | | is_owners | Is Owner Status | text | | avatar_urls | Avatar URLs | url | This action returns multiple results per execution. Troubleshooting Action returns empty results Verify that the URL is publicly accessible. Pages behind login walls, paywalls, or CAPTCHAs cannot be scraped. Slow response times Website Intelligence and Extract Web Emails crawl multiple pages, so they take longer than single-page actions. Allow up to 30 seconds for results. No emails found on a website Some websites do not display email addresses in their HTML. Try the Website Intelligence action, which checks multiple sources including DNS MX records. Tech stack returns few results Websites that use server-side rendering or have minimal client-side JavaScript may show fewer detected technologies. This is expected behavior. Sitemap returns zero URLs Not all websites have a sitemap.xml file. The action also checks robots.txt and attempts crawl discovery, but some sites may have no discoverable sitemap.

Last updated on Apr 06, 2026

Read and Search CRM Records

Read and Search CRM Records Pull contact, company, lead, and deal data from HubSpot, Pipedrive, Zoho CRM, LeadConnector, Instantly, and Reply.io without writing back to any system. Before you begin Connect each integration before running these actions: - HubSpot: Go to Settings > Integrations > HubSpot and paste your Private App access token. The token needs CRM scopes for contacts, companies, deals, and associations. - Pipedrive: Go to Settings > Integrations > Pipedrive and paste your API key. Find it in Pipedrive under Personal preferences > API. - Zoho CRM: Go to Settings > Integrations > Zoho CRM and complete the OAuth connection. Zoho uses OAuth, not a static API key. - LeadConnector: Go to Settings > Integrations > LeadConnector and paste your API key. - Instantly: Go to Settings > Integrations > Instantly and paste your Instantly API key from your Instantly account settings. - Reply.io: Go to Settings > Integrations > Reply.io and paste your API key from your Reply.io account settings. All actions in this article cost 0 credits per row. Search Contacts (HubSpot) Filter your HubSpot contacts by any contact property using a comparison operator. | | | |---|---| | Integration | HubSpot | | Credits | 0 per row | | Returns | Multiple results | Inputs: - Filter Property Name (Required): Internal HubSpot property name, e.g., email, jobtitle, lifecyclestage - Filter Operator (Required): EQ, NEQ, LT, LTE, GT, GTE, BETWEEN, IN, NOT_IN, HAS_PROPERTY, NOT_HAS_PROPERTY, CONTAINS_TOKEN, NOT_CONTAINS_TOKEN. Default: EQ - Filter Value (Required): Value to compare against - Filter High Value (Required): Upper bound when operator is BETWEEN - Query String (Required): Free-text search across properties - Sort Property Name (Required): Property name to sort results by - Sort Direction (Required): ASCENDING or DESCENDING - Limit (Required): Records per page. Default: 10 - After Cursor (Required): Pagination token from previous run Outputs: id, email, firstname, lastname, phone, jobtitle, company, lifecyclestage, hubspot_owner_id, createdAt, updatedAt Use case: - Agency: Pull all contacts with lifecyclestage equal to customer from a client's HubSpot to build a reference list before a cross-sell campaign. Inputs: - Contact ID (Required): HubSpot internal contact ID Outputs: id, firstname / lastname, email, phone / mobilephone, jobtitle, company, lifecyclestage, city / state / zip / country, website, annualrevenue, numberofemployees, archived, created_at / updated_at Use case: - Agency: Fetch a contact record after a form fill to verify all fields are populated before syncing to an outreach tool. Inputs: - Company ID (Required): Unique HubSpot company ID Outputs: company_id, name, domain, hs_object_id, createdate, hs_lastmodifieddate, url, archived, created_at / updated_at Use case: - Agency: Pull company domain and name to cross-reference against a prospect list before uploading contacts to a sequence. Inputs: - Limit (Required): Records per page. Default: 10 - After (Required): Cursor for next page - Name (Required): Filter by company name - Domain (Required): Filter by company domain - Website (Required): Filter by company website - Phone (Required): Filter by phone number - Industry (Required): Filter by industry - City (Required): Filter by city - State (Required): Filter by state - Country (Required): Filter by country - Description (Required): Filter by company description Outputs: company_id, company_name, company_domain, industry, created_date / created_at, next_page_cursor Use case: - Agency: Audit all companies in a client's HubSpot within a specific industry to find accounts with no recent activity. Inputs: - Limit (Required): Records per page. Default: 10 - After Cursor (Required): Pagination token from previous run - Include Archived (Required): Set to true to include archived leads. Default: false - Properties (Required): Comma-separated list of HubSpot properties to return - Associations (Required): Comma-separated list of object types to return associated IDs for - Properties with History (Required): Properties to return along with their full value history Outputs: lead_ids, lead_created_at, lead_updated_at, lead_archived, lead_archived_at, lead_properties, lead_associations, lead_properties_with_history, paging_next_after, paging_next_link Use case: - Agency: Pull all active leads for a client and compare against the leads created this week to calculate net-new lead volume. Inputs: - Search Query (Required): Free-text string. Up to 3000 characters - Limit (Required): Records per page. Default: 100, max: 200 Outputs: deal_id, dealname, amount, dealstage, pipeline, closedate, dealtype, description, hubspot_owner_id, total, created_at / updated_at, next_after Use case: - Agency: Search for deals tied to a specific company name to build a quick pipeline overview for a client review. Inputs: - Object ID (Required): The ID of the record whose associations to look up - Association Type (Required): The relationship to traverse. Common types: Contact to Company (1), Company to Contact (2), Deal to Contact (3), Contact to Deal (4), Deal to Company (5), Company to Deal (6), Contact to Engagement (9), Contact to Ticket (15), Ticket to Contact (16), Deal to Line Item (19). Full list includes 24 types. - Limit (Required): Default: 100 - Offset (Required): Pagination offset Outputs: associated_id, has_more, next_offset Use case: - Agency: For each contact in a client's CRM, retrieve their associated company IDs to verify that company relationships are properly linked rather than just filled in as text. Inputs: - Person ID (Required): Numeric Pipedrive person ID Outputs: id, name / first_name / last_name, primary_email, organization_name, org_id / company_id, owner_name, last_activity_date, image_url, created_at / updated_at Use case: - Agency: Look up a person record before updating it to confirm you have the right record and its current owner. Inputs: - Limit (Required): Max: 500. Default: 100 - Cursor (Required): Pagination token for next page Outputs: field_name, field_code, field_type, is_custom_field, show_in_add_deal_dialog Use case: - Agency: Audit a client's Pipedrive setup to retrieve all field codes before building a data migration or import template. Inputs: - Person ID (Required): Numeric Pipedrive person ID - Limit (Required): Max: 500. Default: 100 - Cursor (Required): Pagination token for next page Outputs: id, title, value / currency, status, stage_id / pipeline_id, owner_id, add_time / update_time, probability, won_time / lost_time, lost_reason, acv / arr / mrr, is_archived, next_cursor Use case: - Agency: For each contact on a client's outreach list, check existing deal history before pitching to avoid interrupting an active negotiation. Inputs: - Search Term (Required): Min 2 characters - Fields to Search (Required): Comma-separated: custom_fields, notes, title. Searches all by default - Exact Match (Required): true or false - Person ID (Required): Filter by associated person - Organization ID (Required): Filter by associated organization - Status (Required): open, won, or lost - Include Fields (Required): Additional fields to include, e.g., deal.cc_email - Limit (Required): Max: 500. Default: 100 - Cursor (Required): Pagination token Outputs: id, title, value / currency, status, result_score, stage_id / stage_name, pipeline_id, person_id / person_name, organization_id / organization_name / organization_address, owner_id, is_archived Use case: - Agency: Search all won deals for a client vertical by keyword to assemble a case study reference list. Inputs: - Organization ID (Required): Numeric Pipedrive organization ID - Include Fields (Required): Additional fields to return. Default: open_deals_count Outputs: id / name, address, annual_revenue, employee_count, industry, linkedin, website, open_deals_count, owner_id, visible_to, add_time / update_time, is_deleted, custom_fields Use case: - Agency: Pull open_deals_count for all accounts on a client's target list to prioritize accounts already in pipeline. Inputs: - Lead ID (Required): Unique 19-digit Zoho Record ID Outputs: lead_id, full_name / first_name / last_name, email / secondary_email, phone / mobile, company / designation, website, lead_source, lead_status, industry, no_of_employees / annual_revenue, city / state / zip_code / country, email_opt_out, is_converted, converted_account / converted_contact / converted_deal, converted_date_time, owner_name, created_time / modified_time / last_activity_time, record_status / is_locked Use case: - Agency: Fetch a lead record immediately after a form submission to verify source and status before adding to a campaign. Inputs: - Limit / Per Page (Required): Must be a multiple of 25 (e.g., 25, 50, 75). Default: 25 - Sort By Field (Required): id, Created_Time, or Modified_Time - Sort Order (Required): asc or desc Outputs: lead_id, first_name / last_name, company / title, email / secondary_email, phone / mobile, website, lead_source / lead_status, industry, no_of_employees / annual_revenue, city / state / zip / country, email_opt_out / is_converted_flag, owner_id / owner_name, created_time / modified_time, total_count Use case: - Agency: Pull all leads sorted by creation date to reconcile incoming form leads against a client's paid ad campaign attribution. Inputs: - Deal ID (Required): Unique 19-digit Zoho Record ID Outputs: deal_id, deal_name, account_id / account_name, contact_id / contact_name, stage, amount / expected_revenue, probability, closing_date, type / lead_source / campaign_source, next_step, owner_name / owner_email, created_time / modified_time, stage_modified_time, last_activity_time, overall_sales_duration / sales_cycle_duration, reason_for_loss, record_status / is_locked Use case: - Agency: Look up deal stage and closing date for each account in a review list to build a pipeline report for a client. Inputs: - Contact ID (Required): LeadConnector contact ID Outputs: contact_id / location_id, first_name / last_name / full_name_lower_case, email / email_lower_case / additional_email, phone / additional_phone, city / state / country / postal_code, website, source / company_name, timezone, gender / date_of_birth, tag, custom_field_id / custom_field_value, dnd / dnd_call_status, created_by_source / created_by_channel, date_added / date_updated Use case: - Agency: Pull a contact's DND status and tags before triggering a call or message sequence to avoid contacting opted-out leads. Inputs: - Limit (Required): 1 to 100 per page - Starting After (Required): Cursor for next page - Search (Required): Filter by first name, last name, or email - Filter (Required): Status-based filter, e.g., FILTER_VAL_CONTACTED, FILTER_LEAD_INTERESTED - Campaign (Required): Filter by campaign ID - List ID (Required): Filter by list - In Campaign (Required): Only leads enrolled in a campaign - In List (Required): Only leads in a list - Is Website Visitor (Required): Only website visitors - Distinct Contacts (Required): Deduplicate by contact - Enrichment Status (Required): 1 = Enrichment success, 11 = Pending, -1 = N/A - Smart View ID (Required): Filter by saved smart view - IDs (Required): Filter by specific lead IDs - Excluded IDs (Required): Exclude specific lead IDs - Organization User IDs (Required): Filter by user within the organization Outputs: lead_id, lead_email, lead_first_name / lead_last_name, company_name / company_domain, phone / website, email_click_count / email_open_count / email_reply_count, esp_code, lt_interest_status, status, organization_id, timestamp_created / timestamp_updated, timestamp_last_interest_change, next_starting_after Use case: - Agency: Pull all leads with FILTER_LEAD_INTERESTED from a client campaign to send their names and emails to the sales team for manual follow-up. Inputs: - Contact ID (Required): Numeric Reply.io contact ID Outputs: id, email, firstName / lastName, company, title, phone / phoneStatus, city / state / country, timeZoneId, linkedInProfile, salesNavigatorUrl / linkedInRecruiterUrl, addingDate, companySize, industry, accountId Use case: - Agency: Retrieve a contact's timezone before scheduling follow-up calls to ensure outreach happens at the right local time. Inputs: - Email Address (Required): The contact's email address Outputs: id, email, firstName / lastName, company, title, phone / phoneStatus, city / state / country, timeZoneId, linkedInProfile, salesNavigatorUrl / linkedInRecruiterUrl, addingDate, companySize, industry, accountId Use case: - Agency: Check whether an email address already exists in Reply.io before adding it to avoid duplicate contact records across campaigns. Troubleshooting HubSpot Search Contacts returns no results. The Filter Property Name field is case-sensitive and must match the internal HubSpot property key exactly. Use email, not Email. Find the correct internal name in HubSpot under Settings > Properties. Zoho CRM returns a 401 Unauthorized error. Zoho OAuth tokens expire. Reconnect the Zoho CRM integration under Settings > Integrations > Zoho CRM to generate a fresh access token. Get CRM Associations returns an empty list. The object has no associations of the selected type. Confirm the relationship exists in HubSpot before running. Also check that you selected the correct Association Type. Contact to Company (1) and Company to Contact (2) are separate types. List Leads (Zoho CRM) returns a validation error. The Limit field must be a multiple of 25. Values like 30 or 100 are not valid. Use 25, 50, or 75. Pipedrive Search Deals returns zero results. Search Term requires at least 2 characters. Single-character terms are not supported. Use at least 2 characters, or enable Exact Match for a precise single-term lookup. Reply.io Get Contact by Email returns empty. The contact does not exist in Reply.io under that email address. Confirm the email is in your Reply.io contacts list. The action returns no result rather than an error when there is no match. List Leads (Instantly) returns fewer records than expected. The distinct_contacts flag deduplicates by email when set to true. If a contact appears in multiple campaigns, it returns only once. Set it to false to see all instances.

Last updated on Jun 03, 2026

Push Contacts, Leads, and Deals to Your CRM

Push Contacts, Leads, and Deals to Your CRM This article covers every action that writes data to a CRM or outreach tool, including exact inputs, outputs, and use cases by team type. All actions in this article cost 0 credits per row. Before you begin Connect each integration before using its actions. 1. Go to Settings > Integrations. 2. Select the platform you want to connect. 3. Enter your API key or complete the OAuth flow. You need credentials for every platform you plan to use: - HubSpot: Private app token (requires CRM read/write scopes) - Pipedrive: API key from Settings > Personal Preferences > API - Zoho CRM: OAuth access token (generated in Zoho Developer Console) - LeadConnector: API key from your sub-account settings - Reply.io: API key from Settings > API - Instantly: API key from Settings > Integrations > API - Smartlead: API key from Settings > API - HeyReach: API key from Settings > Integrations HubSpot Create Contact (HubSpot) Credits: 0Inputs | Field | Required | Notes | |-------|----------|-------| | Email | Yes | Primary identifier | | First Name | No | | | Last Name | No | | | Phone | No | Main phone | | Mobile Phone | No | Mobile number | | Job Title | No | | | Company | No | Company name text | | Website | No | | | Lifecycle Stage | No | Select: subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer, evangelist, other | | City | No | | | State | No | | | Zip | No | | | Country | No | | | Address | No | Street address | Outputs contact_id, created_resource_id, created_at, updated_at, archived, firstname, lastname, email, phone, lifecyclestage, website Use cases - Agencies: Sync enriched prospect lists from TexAu waterfall runs into a client's HubSpot portal row by row. - Founder-led teams: Add anyone who replies to an outreach campaign into HubSpot automatically so no conversation goes untracked. - RevOps: Gate CRM entry on lifecycle stage: only create contacts that reach salesqualifiedlead or above. - GTM engineers: Pair with enrichment columns to land complete contact records (email + title + company) in a single workflow run. Update Contact (HubSpot) Credits: 0Inputs: Contact ID (required) + same optional fields as Create Contact above. Outputs id, created_at, updated_at, firstname, lastname, email, phone, mobilephone, jobtitle, company, lifecyclestage, city, state, zip, country, website, annualrevenue, numberofemployees Use cases: Run on existing contacts after company enrichment to backfill annualrevenue and numberofemployees from Apollo or Hunter.io data. Create Company (HubSpot) Credits: 0Inputs | Field | Required | Notes | |-------|----------|-------| | Company Name | Yes | | | Domain | No | e.g. acme.com | | Industry | No | Free text | | Phone | No | | | City | No | | | State | No | | | Country | No | | | Website | No | | Outputs company_id, created_at, updated_at, archived, name, domain, city, state, industry, phone, website, country Use cases - RevOps: Auto-create company records after a prospect books a meeting. Prevents manual data entry. - GTM engineers: Pipe Enrich Company (Apollo) output directly into Company Name, Domain, Industry, and City columns, then write to HubSpot in the same workflow. Update Company (HubSpot) Credits: 0Inputs: Company ID (required) + same optional fields as Create Company. Outputs: Same as Create Company outputs. Create Deal (HubSpot) Credits: 0Inputs | Field | Required | Notes | |-------|----------|-------| | Deal Name | Yes | | | Deal Stage | No | Select: appointmentscheduled, qualifiedtobuy, presentationscheduled, decisionmakerboughtin, contractsent, closedwon, closedlost. Default: appointmentscheduled | | Pipeline | No | Default: default | | Amount | No | Numeric value | | Close Date | No | ISO 8601 format | | Deal Type | No | Select: newbusiness, existingbusiness | | Description | No | | Outputs deal_id, created_at, updated_at, archived, dealname, pipeline, dealstage, amount, closedate, createdate, hs_lastmodifieddate, hubspot_owner_id Use cases - Agencies: Create deals with stage qualifiedtobuy immediately when an account completes enrichment and meets ICP criteria: no manual entry from SDR. - RevOps: Auto-create newbusiness deals with a standard close date 30 days out for every high-intent inbound contact. Delete and Merge Records (HubSpot) Credits: 0 | Action | Required Inputs | Output | |--------|----------------|--------| | Delete Contact (HubSpot) | Contact ID | status (boolean) | | Merge Contacts (HubSpot) | Primary Object ID, Object ID to Merge | Merged contact record | | Merge Companies (HubSpot) | Primary Object ID, Object ID to Merge | Merged company record | | Merge Deals (HubSpot) | Primary Object ID, Object ID to Merge | Merged deal record | Pipedrive Create Person (Pipedrive) Credits: 0Inputs | Field | Required | Notes | |-------|----------|-------| | Name | Yes | Full name | | Email | No | | | Phone | No | | | Owner ID | No | Pipedrive user ID | | Organization ID | No | Links person to an org | | Visible To | No | Visibility setting | | Marketing Status | No | Opt-in/out status | | Add Time | No | YYYY-MM-DD HH:MM:SS | Outputs id (person_id), name, first_name, last_name, primary_email, emails (array), phones (array), owner_id, owner_name, org_id, org_name, active_flag, visible_to, marketing_status, add_time, update_time, open_deals_count, closed_deals_count, label_ids Use cases - Agencies: Push enriched LinkedIn contacts into Pipedrive persons with org associations in bulk after a scraping or enrichment run. - Founder-led teams: Log every new warm intro immediately into Pipedrive without leaving your enrichment workflow. - GTM engineers: Capture open_deals_count and closed_deals_count in output columns to flag accounts already in motion. Create Organization (Pipedrive) Credits: 0Inputs: Name (required), Owner ID, Visible To, Address fields. Outputs: org_id, name, add_time, address fields, annual_revenue, employee_count, industry, linkedin_url, website Create Deal (Pipedrive) Credits: 0Inputs | Field | Required | Notes | |-------|----------|-------| | Title | Yes | | | Value | No | Numeric | | Currency | No | Default: USD | | Expected Close Date | No | YYYY-MM-DD | | Person ID | No | Links to existing person | | Organization ID | No | Links to existing org | | Pipeline ID | No | | | Stage ID | No | | | Status | No | open, won, lost. Default: open | | Visible To | No | 1=Owner, 2=Followers, 3=All | Outputs deal_id, deal_title, deal_value, deal_currency, deal_status, expected_close_date, person_id, person_name, person_email, person_phone, pipeline_id, stage_id, pipeline_name, stage_name, owner_id, owner_name, owner_email, cc_email, formatted_value, weighted_value, add_time, update_time, success Use cases - RevOps: Auto-create open deals linked to person and org records immediately after a contact meets qualification criteria in your enrichment table. - GTM engineers: Pass person_id from a prior Create Person step into this action to link deal and contact in a single workflow run. Update Person, Update Organization, Update Deal (Pipedrive) Each Update action mirrors its Create action. The record ID field becomes required. All other fields are optional. | Action | Required Input | Key Outputs | |--------|---------------|-------------| | Update Person (Pipedrive) | Person ID | id, name, emails, phones, update_time | | Update Organization (Pipedrive) | Organization ID | org_id, name, address fields, update_time | | Update Deal (Pipedrive) | Deal ID | deal_id, deal_status, deal_value, update_time | Delete and Merge Records (Pipedrive) Credits: 0 | Action | Required Inputs | Output | |--------|----------------|--------| | Delete Person (Pipedrive) | Person ID | status (success boolean) | | Merge Persons (Pipedrive) | Person ID, Merge With ID | Merged person data | | Merge Organizations (Pipedrive) | Organization ID, Merge With ID | success (boolean) | | Merge Deals (Pipedrive) | Deal ID, Merge With ID | Merged deal data | Zoho CRM Create Lead (Zoho CRM) Credits: 0Inputs | Field | Required | Notes | |-------|----------|-------| | Company | Yes | Company name | | Last Name | Yes | | | First Name | No | | | Email | No | Primary email | | Secondary Email | No | | | Phone | No | | | Mobile | No | | | Website | No | | | Lead Source | No | Select: Advertisement, Cold Call, Trade Show, Web Research, Facebook, X (Twitter), etc. | | Lead Status | No | Select: Not Contacted, Attempted to Contact, Contacted, Pre-Qualified, Not Qualified, Junk Lead, Lost Lead | | Industry | No | Select: 18 options including Large Enterprise, MSP, Systems Integrator, Wireless Industry | | No. of Employees | No | Number | | Annual Revenue | No | Number | | Rating | No | Select: Acquired, Active, Market Failed, Project Cancelled, Shut Down | | Street, City, State, Zip, Country | No | Address fields | | Description | No | Free text notes | Outputs lead_id, status, message, created_time Use cases - Agencies: Import enriched prospect CSVs into Zoho leads with pre-set lead source and status for triage. - RevOps: Log inbound form fills as leads with Lead_Status: Pre-Qualified automatically after scoring. - GTM engineers: Route leads from specific verticals into campaigns by setting Industry and Lead_Source from enrichment output columns. Create Contact, Update Lead, Update Contact (Zoho CRM) Credits: 0 Create Contact (Zoho CRM) - Required: Last Name - Optional: First Name, Email, Phone, address fields, Job Title - Outputs: contact_id, status, created_time, message Update Lead (Zoho CRM) - Required: Record ID - Optional: All fields from Create Lead - Outputs: status, message, modified_time, record_id Update Contact (Zoho CRM) - Required: Record ID - Optional: All fields from Create Contact - Outputs: status, message, modified_time, record_id LeadConnector Create Contact (LeadConnector) Integration: LeadConnector (GoHighLevel) | Credits: 0Inputs | Field | Required | Notes | |-------|----------|-------| | Location ID | Yes | Sub-account ID | | First Name | Yes | | | Last Name | No | | | Email | No | | | Phone | No | E.164 format | | Contact Type | No | Select: lead, customer | | Company Name | No | | | Address, City, State, Postal Code, Country | No | | | Website | No | | | Timezone | No | Select from dropdown | | Source | No | Attribution source | | Tag | No | Single tag string | | Global DND | No | Boolean | | DND Call/Email/SMS/WhatsApp/GMB/FB Status | No | Select: active, inactive per channel | Outputs contact_id, date_added, date_updated, type, location_id, first_name, last_name, email, valid_email, bounce_email, unsubscribe_email, dnd, phone, city, state, country, postal_code, website, source, company_name + DND status per channel Upsert Contact (LeadConnector) Credits: 0 Same inputs as Create Contact, plus Create New If Duplicate Allowed (boolean). The action checks email or phone against the Location's duplicate settings before deciding whether to create or update. Additional outputs: is_new (boolean: true if a new record was created), succeeded (boolean) Use cases - Agencies: Use Upsert Contact for client sub-accounts where leads flow from multiple sources. Prevents duplicate records without needing to pre-check. - GTM engineers: Set is_new as a condition column to trigger follow-up actions only for net-new contacts. - RevOps: Set channel-level DND flags at creation time so contacts land with correct communication preferences from day one. Reply.io Create Contact (Reply.io) Integration: Reply.io | Credits: 0.io, this action updates the existing contact. Inputs | Field | Required | Notes | |-------|----------|-------| | Email | Yes | | | First Name | Yes | | | Last Name | No | | | Company | No | | | Job Title | No | | | Phone | No | | | City, State, Country | No | | | Time Zone ID | No | | | LinkedIn Profile URL | No | | Outputs id, email, firstName, lastName, company, city, state, country, timeZoneId, title, phone, phoneStatus, linkedInProfile, addingDate, companySize, industry, salesNavigatorUrl, linkedInRecruiterUrl, accountId Create Contact and Push to Campaign (Reply.io) Integration: Reply.io | Credits: 0 Creates a contact and immediately enrols them in a sequence. Use this when you want one-step contact creation and campaign activation. | Input | Required | |-------|----------| | Campaign ID | Yes: select from dropdown | | Email | Yes | | First Name | Yes | Output: status (response code) Update Contact (Reply.io) Integration: Reply.io | Credits: 0 Same inputs as Create Contact. Acts as an upsert: if the email is found, the contact is updated; if not, a new contact is created. Use cases - Agencies: Use Create Contact and Push to Campaign to move enriched leads directly into cold email sequences in one row-level action. - Founder-led teams: Create Contact updates existing records as new data comes in, so your sequences always use the latest job title and company. - GTM engineers: Link the id output from Create Contact into a follow-up Update Contact column to backfill LinkedIn URLs after a separate enrichment run. Instantly Create Lead (Instantly) Credits: 0Inputs | Field | Required | Notes | |-------|----------|-------| | Email | Yes | | | Campaign ID | No | Required if creating within a campaign | | List ID | No | | | First Name | No | | | Last Name | No | | | Company Name | No | | | Company Domain | No | e.g. acme.com | | Phone | No | | | Website | No | | | Personalization | No | Custom note for email personalization | | Assigned To (User ID) | No | | | Lead Value | No | High, Medium, Low | | Interest Status Code | No | 1=Interested, -1=Not Interested | | Skip if in Workspace/Campaign/List | No | Boolean: prevents duplicates | | Verify on Import | No | Boolean | Outputs id (lead_id), campaign, list_id, email, first_name, last_name, company_name, company_domain, phone, website, personalization, status, enrichment_status, verification_status, email_open_count, email_click_count, email_reply_count, timestamp_created, timestamp_updated Add Lead To Sequence (Instantly) Credits: 0 Adds a lead directly to an active campaign sequence. Use this when the lead already exists and you want to enrol them in a new sequence. | Field | Required | |-------|----------| | Campaign ID | Yes | | Email | Yes | | First Name, Last Name, Company Name, Phone, Website | No | | Personalization | No | | PL Value Lead | No | Outputs: email, first_name, last_name, company_name, phone, personalization, campaign_id, id (lead_id) Use cases - Agencies: Set Skip if in Campaign: true on Create Lead to prevent re-enrolling contacts already in sequences for a client campaign. - GTM engineers: Pass AI Column output into the Personalization field to give each lead a custom first line without manual writing. - Founder-led teams: Use Add Lead To Sequence to move a list of warm contacts from a previous campaign into a new follow-up sequence automatically. Smartlead Add Leads to Campaign (Smartlead) Credits: 0Inputs | Field | Required | |-------|----------| | Campaign ID | Yes | | Email | Yes | | First Name, Last Name, Company Name | No | | Job Title | No | | Phone Number | No | | Website | No | | Location | No | | LinkedIn Profile | No | Outputs ok (boolean), upload_count, already_added_to_campaign, total_leads, duplicate_count, block_count, invalid_email_count, bounce_count, lead_import_stopped_count, is_lead_limit_exhausted (boolean) Use cases - Agencies: Check invalid_email_count and bounce_count outputs to validate data quality before billing clients for enrichment runs. - RevOps: Set a condition rule to stop workflow execution if is_lead_limit_exhausted returns true, preventing wasted rows post-quota. - GTM engineers: Route leads from separate enrichment columns (email, company, title, LinkedIn) into Smartlead in a single action at the end of the workflow. HeyReach Add Leads to Campaign (HeyReach) Credits: 0(LinkedIn) HeyReach sends LinkedIn outreach from connected LinkedIn accounts. You must pass a LinkedIn Account ID: this is the ID of the sending LinkedIn account in HeyReach, not the lead's LinkedIn account. Inputs | Field | Required | Notes | |-------|----------|-------| | Campaign ID | Yes | Select from dropdown | | LinkedIn Account ID | Yes | The HeyReach sender account ID | | First Name, Last Name | No | | | Email Address | No | | | LinkedIn Profile URL | No | | | Location | No | City or region | | Summary | No | Headline or summary text | | Company Name | No | | | Position | No | Job title | | About | No | Bio text | Outputs: rawResponse: returns "success" or "failed" Use cases - Agencies: Build LinkedIn outreach campaigns from enriched lead lists. Pipe LinkedIn Profile URL from B2B Enrichment into HeyReach without manual import. - GTM engineers: Check the rawResponse output with a condition rule to flag any failed adds and re-run them in a separate pass. Troubleshooting Contact was not created: no error returned HubSpot, Zoho, and Reply.io deduplicate on email. If the email already exists, the action may silently update instead of create. Check the contact_id in the output: if it matches a known ID, the record was updated. LeadConnector action fails with "Location not found" The Location ID is the sub-account ID, not the agency-level account ID. Copy it from the sub-account URL in your LeadConnector dashboard. **HeyReach output shows failed for all row Push Contacts, Leads, and Deals to Your CRM (Part 2) Continued from Part 1. s** The LinkedIn Account ID field requires the sender account ID from HeyReach, not a LinkedIn URL or contact ID. Go to HeyReach > Accounts to find the correct ID for the sending account. Instantly leads not appearing in campaign If Skip if in Campaign is set to true and the lead was already added, no record is created and no error is returned. Check the existing campaign lead list first or set Skip if in Campaign to false to force re-addition. Smartlead is_lead_limit_exhausted returns true Your Smartlead plan has reached its active lead limit. Either upgrade your plan or archive completed leads from finished campaigns to free up quota. Zoho CRM returns a 401 error Zoho uses OAuth tokens that expire. Reconnect the Zoho integration under Settings > Integrations to refresh the access token.

Last updated on Jun 03, 2026

HubSpot Extended Actions Reference

HubSpot Extended Actions This article covers HubSpot actions for association management, pipeline and deal inspection, lead creation, user and owner lookups, property management, engagement tracking, and sequence enrollment. For basic contact, company, and deal read/write/search operations, see the CRM read and search actions guide and the CRM write actions guide. Before you begin - Connect HubSpot at Settings > Integrations > HubSpot with a Private App access token. The token needs CRM scopes for contacts, companies, deals, engagements, and associations. - Pipeline and stage IDs are internal HubSpot identifiers. Run Get All Pipelines first to retrieve valid IDs before using them in other actions. - Association Type IDs follow HubSpot's standard numbering (1 = Contact to Company, 2 = Company to Contact, etc.). The full list is available in the Create CRM Association action's dropdown. All actions in this article cost 0 credits per row. Association Management Create CRM Association Returns: Single result Link two CRM objects together in HubSpot, such as a contact to a company or a deal to a contact. Inputs: - From Object ID (Required): The ID of the record being associated (e.g., a Contact ID) - To Object ID (Required): The ID of the record you are associating to (e.g., a Company ID) - Association Type (Required): 24 options including Contact to Company (1), Deal to Contact (3), Deal to Company (5), Contact to Engagement (9), Contact to Ticket (15), Deal to Line Item (19), and more #Use case: - Agency: After creating a contact and a company in separate workflow steps, link them together automatically so the CRM relationship is complete. Delete CRM Association Returns: Single result Remove an existing relationship between two CRM objects in HubSpot. Inputs: - From Object ID (Required): The ID of the primary object in the association - To Object ID (Required): The ID of the object to unlink - Association Type (Required): Same 24 types as Create CRM Association #Use case: - Agency: Unlink a contact from a company when they change employers, then re-associate them with the new company record. Get Association Labels Returns: Multiple results Retrieve all labels that describe the relationships between two specified CRM object types using the v4 Associations API. Inputs: - From Object Type (Required): contact, companies, deals, tickets, line_items, quotes, calls, emails, meetings, notes, tasks - To Object Type (Required): Same options as From Object Type #Use case: - Agency: Look up all available association labels between contacts and deals before building a multi-step linking workflow. Get All Pipelines Returns: Multiple results Retrieve all pipelines for deals or tickets, including their stages, display orders, and probability metadata. Inputs: - Object Type (Required): Deals or Tickets #Use case: - Agency: Pull all deal pipelines for a client's HubSpot to map stage names before building automation rules. Get Pipeline Stages Returns: Multiple results Retrieve all stages for a specific pipeline. Use this when you already know the pipeline ID and need its stage details. Inputs: - Object Type (Required): Deals or Tickets - Pipeline ID (Required): The internal pipeline identifier #Use case: - Agency: Retrieve stage labels for a specific pipeline before building conditional routing rules in a workflow. Get Deal by ID Returns: Single result Retrieve a single deal record by its internal ID with standard properties. Inputs: - Deal ID (Required): HubSpot internal deal ID #Use case: - Agency: Look up deal stage and amount before a client call to confirm pipeline status. Get Deal Properties Returns: Multiple results Retrieve all deal properties from your HubSpot account, including internal names, labels, descriptions, and data types. No inputs required. Inputs None. Outputs: Internal Name, Label, Description, Group Name, Data Type, Field Type, Is HubSpot Defined, Is Calculated, Is Hidden, Created At / Updated At #Use case: - Agency: Audit a client's custom deal properties before building a data migration template. Create Lead Returns: Single result Create a new lead record in HubSpot and associate it with an existing contact or company. Inputs | Field | Type | Required | Notes | |---|---|---|---| | Lead Name | text | Yes | Display name for the lead (e.g., "Jane Doe") | | Associated Object ID | text | Yes | The ID of the Contact or Company to associate this lead with | | Association Type ID | number | Yes | Numeric ID of the association type (e.g., 2 for Contact) | | Association Category | text | Yes | Default: HUBSPOT_DEFINED | | Lead Type | text | No | e.g., NEW_BUSINESS. Default: NEW_BUSINESS | | Lead Label | text | No | e.g., WARM, COLD, HOT. Default: WARM | Outputs: Created Resource ID, Lead ID, Lead Name, Lead Type, Lead Label #Use case: - Agency: Create HOT leads automatically when enrichment data shows a contact at a high-fit company with recent buying signals. List Users Returns: Multiple results Retrieve a paginated list of HubSpot users with their email, role, team assignments, and admin status. Inputs: - After Cursor (Required): Pagination token for next page - Limit (Required): Max 100 per page #Use case: - Agency: Pull all users from a client's portal to build a user-to-owner mapping before configuring lead routing. Get Owners Returns: Multiple results Retrieve a paginated list of owners available in the HubSpot account. Owners are users who can be assigned to CRM records. Inputs: - Email Filter (Required): Filter results by a specific owner's email - Limit (Required): Default: 100 - After (Pagination Cursor) (Required): Cursor for next page - Return Archived Only (Required): Set to true to return only archived owners #Use case: - Agency: Retrieve all owners from a client's HubSpot to populate a dropdown for lead assignment rules. Create Property Returns: Single result Create a new custom property for any CRM object type in HubSpot. Inputs | Field | Type | Required | Notes | |---|---|---|---| | Object Type | select | Yes | contact, companies, deals, tickets, line_items, quotes, calls, emails, meetings, notes, tasks | | Internal Name | text | Yes | The API key for the property | | Label | text | Yes | Human-readable name shown in HubSpot | | Data Type | select | Yes | String, Number, Date, Date Time, Enumeration, Boolean, Phone Number | | Field Type | select | Yes | Text, Textarea, Number, Select, Radio, Checkbox, Boolean Checkbox, Date, File, Phone Number, Calculation Equation, HTML | | Group Name | text | Yes | Internal name of the property group (e.g., "contactinformation") | | Description | text | No | Help text shown in HubSpot | | Data Sensitivity | select | No | Non Sensitive, Sensitive, Highly Sensitive | | Display Order | number | No | Sort position | | Is Form Field | boolean | No | Whether the property can be used in forms | | Has Unique Value | boolean | No | Enforce uniqueness (cannot be changed once set) | | Hidden | boolean | No | Hide the property from the HubSpot UI | | Options (JSON Array) | array | No | Required for Enumeration type properties | | Calculation Formula | text | No | Formula for calculated properties | | External Options | boolean | No | Set to true when using OWNER as referenced object type | | Referenced Object Type | text | No | Set to OWNER when External Options is true | Outputs: Property Name, Property Label, Data Type / Field Type, Group Name, Options (Raw Array), Has Unique Value / Is Hidden / Is Form Field, Display Order #Use case: - Agency: Create custom contact properties for a client to store enrichment data from TexAu workflows, such as "enrichment_source" or "texau_score". Get All Properties Returns: Multiple results Read all existing properties for a specified CRM object type. Inputs: - Object Type (Required): contact, companies, deals, tickets, line_items, quotes, calls, emails, meetings, notes, tasks - Archived (Required): Return only archived properties - Data Sensitivity (Required): Filter by sensitivity level - Locale (Required): Language locale for property names #Use case: - Agency: Audit all contact properties in a client's HubSpot to find where enriched data should be stored. Get All Property Groups Returns: Multiple results Retrieve all property groups for a specified object type. Use this to find valid group names before creating new properties. Inputs: - Object Type (Required): contact, companies, deals, tickets, line_items, quotes, calls, emails, meetings, notes, tasks - Locale (Required): Language locale for group names #Use case: - Agency: Retrieve group names before running Create Property to place custom properties in the correct group. Create Engagement Returns: Single result Create a new engagement record (email, call, meeting, note, or task) with optional associations to other CRM objects. Inputs | Field | Type | Required | Notes | |---|---|---|---| | Engagement Type | select | Yes | Emails, Calls, Meetings, Notes, Tasks, Communications, Postal Mail | | Timestamp | text | No | UTC datetime when the engagement occurred | | Owner ID | text | No | HubSpot user who owns the engagement | | Email Subject (For Emails) | text | No | Subject line | | Email Text Body (For Emails) | text | No | Plain text body | | Email Direction (For Emails) | select | No | Inbound or Outbound | | Note Body (For Notes) | text | No | HTML content | | Task Subject (For Tasks) | text | No | Task title | | Task Body (For Tasks) | text | No | Task description | | Task Status (For Tasks) | select | No | NOT_STARTED, IN_PROGRESS, WAITING, COMPLETED, DEFERRED | | Task Priority (For Tasks) | select | No | LOW, MEDIUM, HIGH | | Call Title (For Calls) | text | No | Call title | | Call Body (For Calls) | text | No | Call notes | | Meeting Title (For Meetings) | text | No | Meeting title | | Meeting Body (For Meetings) | text | No | Meeting agenda | | Associations (JSON Array) | text | No | JSON array linking this engagement to contacts, deals, or other objects | Outputs: Engagement ID, Field, ---, Engagement ID, Created At / Updated At, Is Archived, Properties (Raw JSON), Object Write Trace ID, HubSpot UI URL #Use case: - Agency: Log call notes after discovery calls by creating Call engagements linked to the contact and deal. Get Engagements Returns: Multiple results Retrieve a paginated list of engagements (emails, calls, meetings, notes, tasks) from HubSpot. Inputs | Field | Type | Required | Notes | |---|---|---|---| | Engagement Type | select | Yes | Emails, Calls, Meetings, Notes, Tasks, Communications, Postal Mail | | Limit | number | No | Records per page. Default: 10 | | After (Pagination Cursor) | text | No | Cursor for next page | | Properties to Retrieve | text | No | Comma-separated list of properties | | Associations | text | No | Comma-separated list of object types to return associated IDs for | | Properties with History | text | No | Properties to return with their value history | | Return Archived Only | boolean | No | Set to true for archived engagements only | Outputs: Engagement IDs, Created At / Updated At, Is Archived, Properties (Raw JSON), Associations (Raw JSON), Properties With History, HubSpot UI URLs, Next Page Cursor / Next Page Link #Use case: - Agency: Pull all Call engagements for the past week to build a client activity report. Enrol Contact in Sequence Returns: Single result Enrol a contact into a specific HubSpot sales or marketing sequence. Inputs | Field | Type | Required | Notes | |---|---|---|---| | User ID | text | Yes | The ID of the HubSpot user enrolling the contact | | Contact ID | text | Yes | The internal contact ID to enrol | | Sender Email | email | Yes | Email address of the sender | | Sequence ID | text | Yes | The internal sequence identifier | | Sender Alias Email | email | No | Alias email address for the sender | Outputs: Enrolled At, Enrollment ID, To Email, Updated At #Use case: - Agency: After enriching and qualifying a batch of contacts, enrol the qualified ones into a client's HubSpot sequence automatically. Troubleshooting Create CRM Association returns an error Verify that both object IDs exist and that the Association Type matches the object pair. For example, use type 1 for Contact to Company, not Company to Contact (which is type 2). Get All Pipelines returns empty results Confirm the Object Type is set correctly. HubSpot only supports pipelines for Deals and Tickets. Create Lead fails with "association error" The Associated Object ID must be a valid Contact or Company ID. Run Get Contact or Search Contacts first to retrieve the correct ID. The Association Type ID must match the object type (e.g., 2 for Contact). Create Engagement returns no engagement ID Check that the Engagement Type matches the property fields you populated. For example, if you set Engagement Type to "Emails" but only filled in Note Body, the engagement will not be created correctly. Enrol Contact in Sequence fails with "user not found" The User ID must belong to a HubSpot user with sequence access. Run List Users to find valid user IDs. The Sequence ID must also be a valid, active sequence in the account. Get Deal Properties returns a large result set This action returns all deal properties in the account, including HubSpot-defined and custom properties. Filter the output in your workflow by checking the Is HubSpot Defined or Group Name fields.

Last updated on Jun 03, 2026

LeadConnector (GoHighLevel) Actions Reference

LeadConnector (GoHighLevel) Actions Reference This article covers all 41 LeadConnector actions available in TexAu. Use these actions to manage contacts, opportunities, businesses, calendars, conversations, tags, workflows, and locations in your GoHighLevel account. Before you begin - TexAu account on any paid plan - LeadConnector (GoHighLevel) account with API access - API key added at Settings > Integrations Contact Management Create Contact Creates a new contact record in your GoHighLevel CRM. Inputs: - Location ID (Required): Location to create the contact in - First Name (Required): First name of the contact - Last Name: Last name of the contact - Email: Email address - Phone: Phone number - Company Name: Associated company - Contact Type: Lead or Customer - Address / City / State / Postal Code / Country: Address fields - Website URL: Contact's website - Timezone: Select from list - Date of Birth: Format: YYYY-MM-DD - Gender: Gender of the contact - Source: Acquisition source label - Tag: Single tag to apply - Global DND: Do Not Disturb flag - DND Channel Settings: Per-channel DND (Call, Email, SMS, WhatsApp, GMB, FB) Get Contact Returns full details for one contact by ID. Inputs: - Contact ID (Required): ID of the contact to retrieve Outputs Returns all fields listed in Create Contact outputs, plus email validation status, additional emails, additional phones, business ID, assigned user, and session activity timestamps. Use case: Pull a contact's current tags and DND status before deciding whether to include them in an outreach campaign. Search Contacts Search and filter contacts with advanced criteria, sorting, and pagination. Inputs: - Location ID (Required): Location to search within - Search Query: General keyword search (max 75 characters) - Limit: Results per page (default: 25) - Filter Field: Field to filter on (e.g., email, phone, company_name, date_added) - Filter Operator: eq, not_eq, contains, not_contains, exists, not_exists, range - Filter Value: Value to match - Sort Field / Direction: Sort by date_added, date_updated, first_name, last_name, email Outputs Returns contact records with all standard fields, plus total count for pagination. Use case: Find all contacts tagged "MQL" in a location and export them for enrichment in a multi-step workflow. Update Contact Update an existing contact's details. Inputs: - Contact ID (Required): ID of the contact to update - First Name / Last Name / Email / Phone: Fields to update - Company Name / Address / City / State / Country: Location fields - Website URL / Timezone / Source / Tag: Additional fields - DND Settings: Per-channel DND controls Outputs Returns the updated contact record with all standard fields. Use case: After enriching a contact's company data, write the company name and website back to their GoHighLevel record. Upsert Contact Creates a new contact or updates an existing one based on the location's duplicate contact settings. Inputs: - Create New If Duplicate Allowed: If true, creates a new record even when a duplicate exists Outputs Returns all Create Contact outputs, plus Is New Contact (boolean indicating whether a new record was created). Use case: Import a CSV of leads and let the upsert logic handle deduplication automatically based on email or phone. Delete Contact Permanently delete a contact by ID. Inputs: - Contact ID (Required): ID of the contact to delete Opportunity / Deal Management Create Opportunity Create a new opportunity in a specific pipeline. Inputs: - Location ID (Required): Location for the opportunity - Contact ID (Required): Contact to associate - Pipeline ID (Required): Target pipeline - Opportunity Name (Required): Display name - Status (Required): open, won, lost, or abandoned - Pipeline Stage ID: Specific stage within the pipeline - Monetary Value: Deal value Get Opportunity Retrieve full details of one opportunity by ID. Inputs: - Opportunity ID (Required): ID of the opportunity Outputs Returns all Create Opportunity outputs, plus source, last action date, notes, tasks, calendar events, lost reason ID, and follower IDs. Use case: Check an opportunity's current stage and monetary value before triggering a conditional follow-up sequence. Search Opportunities Search and filter opportunities with sorting and pagination. Inputs: - Location ID (Required): Location to search - Search Query: Keyword search (max 75 characters) - Limit: Results per page (default: 20) - Filter Field: Filter by status, pipeline_id, monetary_value, contact_name, email, and more - Filter Operator: eq, not_eq, contains, range, exists - Filter Value: Value to match - Sort Field / Direction: Sort by date_added, monetary_value, name, or status change dates Outputs Returns opportunity records with contact details, notes, tasks, and calendar events. Includes total count. Use case: Pull all open opportunities over $10,000 to build a weekly forecast report. Update Opportunity Update an existing opportunity's fields. Inputs: - Opportunity ID (Required): ID of the opportunity - Opportunity Name / Pipeline ID / Pipeline Stage ID / Status / Monetary Value: Fields to update Outputs Returns the full updated opportunity record with contact details, notes, tasks, and timestamps. Use case: Move an opportunity to the next pipeline stage after a contact completes a qualifying action. Update Opportunity Status Change only the status of an opportunity (open, won, lost, abandoned). Inputs: - Opportunity ID (Required): ID of the opportunity - Status (Required): New status value - Lost Reason ID: Required only when status is "lost" Upsert Opportunity Create a new opportunity or update an existing one. Inputs: - Pipeline ID (Required): Target pipeline - Location ID (Required): Location for the opportunity - Followers Action Type (Required): "add" or "remove" - Remove All Followers (Required): Boolean flag - Follower (Contact ID) (Required): Follower contact IDs - Opportunity ID: Provide to update; leave blank to create - Name / Pipeline Stage ID / Status / Monetary Value / Lost Reason ID: Additional fields Outputs Returns the opportunity record plus Is New Opportunity (boolean). Use case: Sync opportunity data from an external CRM and let upsert handle create-vs-update logic. Delete Opportunity Delete an opportunity by ID. Inputs: - Opportunity ID (Required): ID to delete Business / Company Management Create Business/Company Create a standalone business record in GoHighLevel. Inputs: - Location ID (Required): Location for the business - Name (Required): Business name - Email / Phone / Website: Contact details - Address / City / State / Postal Code / Country: Address fields - Description: Business description Outputs Returns the new business record with ID, name, contact details, address, and timestamps. Use case: Create company records from enriched domain data so you can associate contacts to businesses. Get Business/Company Retrieve details of one business by ID. Inputs: - Business ID (Required): ID of the business Outputs Returns business name, email, phone, website, full address, description, location ID, and timestamps. Use case: Look up a business record to verify company details before creating a linked opportunity. Get Businesses by Location List all businesses in a location with pagination. Inputs: - Location ID (Required): Location to query - Limit: Results per page - Skip: Number of records to skip Outputs Returns a list of business records with name, contact details, address, and timestamps. Use case: Export all businesses from a client's sub-account for a quarterly account review. Update Business/Company Update an existing business record. Inputs: - Business ID (Required): ID to update - Name / Email / Phone / Website / Address fields / Description: Fields to update Outputs Returns the updated business record. Use case: Write enriched company data (phone, website, address) back to GoHighLevel after running a company enrichment action. Delete Business/Company Delete a business record by ID. Inputs: - Business ID (Required): ID to delete Calendar and Appointments Get Calendars List all calendars in a location. Inputs: - Location ID (Required): Location to fetch calendars for - Group ID: Filter by calendar group - Show Drafted Calendars: Include drafts (default: true) Outputs Returns calendar records including ID, name, description, type, slug, slot duration/interval settings, booking rules, auto-confirm settings, team members, and recurring configuration. Use case: Retrieve calendar IDs at the start of a workflow so downstream appointment-creation steps can reference the correct calendar. Create Calendar Create a new calendar in a location. Inputs: - Location ID (Required): Location for the calendar - Calendar Name (Required): Display name - Description / Slug / Widget Slug: Identification fields - Calendar Type: round_robin, event, class_booking, collective, service_booking, personal - Slot Duration / Interval / Buffer: Scheduling parameters - Appointments Per Slot / Per Day: Capacity limits - Auto Confirm / Allow Reschedule / Allow Cancellation: Booking rules Outputs Returns the new calendar's ID, name, type, slot settings, and location configurations. Use case: Programmatically create a demo calendar for each new client sub-account during onboarding. Get Calendar Events List calendar events filtered by time range and user/calendar/group. Inputs: - Location ID (Required): Location to query - Start Time (ms) (Required): Start of range in milliseconds - End Time (ms) (Required): End of range in milliseconds - User ID / Calendar ID / Group ID: At least one is required to filter events Outputs Returns event records with ID, title, address/URL, appointment status, assigned user, notes, description, recurrence info, and timestamps. Use case: Pull this week's appointments to identify contacts who have upcoming meetings and exclude them from cold outreach. Create Appointment Schedule a new appointment on a calendar. Inputs: - Calendar ID (Required): Target calendar - Location ID (Required): Location for the appointment - Contact ID (Required): Contact to associate - Start Time (Required): ISO string with timezone offset - End Time: ISO string with timezone offset - Title / Description / Address: Appointment details - Meeting Location Type: custom, zoom, gmeet, phone, address, ms_teams - Appointment Status: new, confirmed, cancelled, showed, noshow, completed - Assigned User ID: Team member assignment - Recurrence Rule (RRule): iCalendar recurrence pattern Outputs Returns appointment ID, calendar ID, contact ID, start/end times, status, meeting location type, and recurrence info. Use case: Automatically book a follow-up call when a contact fills out a qualifying form. Get Appointment Retrieve details of one appointment by event ID. Inputs: - Event ID (Required): ID of the appointment Outputs Returns the full appointment record with title, status, times, calendar and location IDs, contact ID, recurrence, and assigned resources. Use case: Check an appointment's status before sending a reminder message to the contact. Conversations and Messaging Send Message Send an outbound message (SMS, Email, WhatsApp, or others) or add an internal comment. Inputs: - Contact ID (Required): Recipient contact - Message Type (Required): SMS, Email, WhatsApp, IG, FB, Custom, Live_Chat, InternalComment - Status (Required): pending, delivered, read, or failed - Message Body: Text content - Email Subject / HTML Content: For email messages - From Email / To Email / From Number / To Number: Sender and recipient overrides - Attachments: Array of attachment URLs - Template ID / Thread ID / Scheduled Timestamp: Advanced options Add Inbound Message Log an inbound message to a conversation or contact record. Inputs: - Message Type (Required): SMS, Email, WhatsApp, GMB, IG, FB, Custom, WebChat, Live_Chat, Call - Conversation Provider ID (Required): Provider identifier - Conversation ID or Contact ID (Required): Target for the message - Message Body / HTML / Subject: Content fields - From Email / To Email: Email routing - Direction: inbound or outbound - Date: Message date Update Message Status Update the delivery or read status of a message. Inputs: - Message ID (Required): ID of the message - Status (Required): delivered, failed, pending, or read - Email Message ID: For email-specific updates Get Conversation Retrieve details of a single conversation by ID. Inputs: - Conversation ID (Required): ID of the conversation Outputs Returns conversation ID, contact ID, location ID, last message details, unread count, and status flags. Use case: Check whether a conversation is still open before adding a new outbound message. Search Conversations Search conversations in a location with filters and pagination. Inputs: - Location ID (Required): Location to search - Query: Keyword search - Contact ID / Assigned To / Status: Filter parameters - Limit / Sort / Sort By: Pagination and ordering Outputs Returns conversation records with contact details, last message info, and status. Use case: Find all unread conversations assigned to a specific team member for a daily digest report. Get Conversation Messages Fetch all messages in a specific conversation. Inputs: - Conversation ID (Required): Target conversation - Limit: Messages per page - Message Type: Filter by type (SMS, Email, etc.) - Message Type: Filter by type (SMS, Email, etc.) - Last Message ID: Cursor for pagination Outputs Returns message records with ID, body, type, direction, status, sender/recipient details, and timestamps. Use case: Export a full conversation thread to analyze response times and message sentiment. Tags and Custom Fields Add Tag Add a tag to a contact. Inputs: - Contact ID (Required): Contact to tag - Tag (Required): Tag label to add Remove Tag Remove a specific tag from a contact. Inputs: - Contact ID (Required): Contact to update - Tag (Required): Tag label to remove Get Tags List all tags defined in a location. Inputs: - Location ID (Required): Location to query Outputs Returns tag IDs and names for the location. Use case: Pull all available tags at the start of a workflow to validate tag names before applying them. Get Custom Fields List all custom fields for a location. Inputs: - Location ID (Required): Location to query - Model: Filter by object type (e.g., contact, opportunity) Outputs Returns custom field IDs, names, field keys, data types, placeholder text, and position order. Use case: Retrieve custom field IDs so you can write enrichment data to the correct fields when updating contacts. Get Custom Values List all custom values for a location. Inputs: - Location ID (Required): Location to query Outputs Returns custom value IDs, names, and values. Use case: Look up reusable custom values (e.g., company address snippets) to reference in outbound messages. Workflows, Tasks, Notes, and Pipelines Get Workflows List all workflows in a location. Inputs: - Location ID (Required): Location to query Get All Tasks List all tasks associated with a contact. Inputs: - Contact ID (Required): Contact to query Outputs Returns task records with ID, title, body, assignee, status, due date, and completion status. Use case: Check for overdue tasks on a contact before scheduling a new follow-up action. Get All Notes List all notes on a contact record. Inputs: - Contact ID (Required): Contact to query Outputs Returns note records with ID, body, user ID, and timestamps. Use case: Pull existing notes before appending enrichment findings as a new note on the contact. Get Pipelines List all pipelines in a location. Inputs: - Location ID (Required): Location to query Outputs Returns pipeline records with ID, name, stages (each with stage ID, name, and position), and location ID. Use case: Retrieve pipeline and stage IDs before creating or moving opportunities in a multi-step workflow. Location / Sub-Account Management Get Sub-Account / Location Retrieve full details of one sub-account by Location ID. Inputs: - Location ID (Required): ID of the sub-account Outputs Returns location name, company ID, domain, full address, contact details (first name, last name, email, phone), website, timezone, logo URL, business details, social media URLs, and duplicate settings. Use case: Pull a client sub-account's contact info and social URLs for a campaign setup checklist. Search Locations Search and list sub-accounts within a company/agency. Inputs: - Company/Agency ID: Agency to search within - Email: Filter by email - Skip: Pagination offset (default: 0) - Limit: Results per page (default: 10) - Order: asc or desc Outputs Returns location records with ID, name, contact details, full address, website, timezone, social URLs, and duplicate/contact settings. Use case: List all sub-accounts in your agency to build a location inventory report. Troubleshooting "Unauthorized" or "Invalid API Key" error on all actions Your API key has expired or lacks the required scopes. Go to Settings > Integrations in TexAu and re-enter a valid LeadConnector API key. Create Contact fails with "duplicate contact" error The location's duplicate contact settings block creation when a matching email or phone exists. Use the Upsert Contact action instead, or set Create New If Duplicate Allowed to true. Search Contacts or Search Opportunities returns no results Confirm the Location ID is correct. The search query is limited to 75 characters. If using filters, verify the field name and operator match the expected values. Create Appointment fails with "slot not available" The requested time slot is already booked or outside the calendar's availability window. Set Ignore Free Slot Validation to true to bypass slot checks, or choose a different time. Opportunity actions return "pipeline not found" The Pipeline ID or Pipeline Stage ID is invalid. Run Get Pipelines first to retrieve valid IDs for the location.

Last updated on Jun 03, 2026

Manage Outreach Campaigns and Sequences

Manage Outreach Campaigns and Sequences This article covers every action for adding leads to email and LinkedIn outreach sequences, managing campaigns, and retrieving campaign performance data across Instantly, Smartlead, HeyReach, and HubSpot. All actions in this article cost 0 credits per row. Before you begin Connect each platform before using its actions. 1. Go to Settings > Integrations. 2. Select the platform. 3. Enter your API key or complete the OAuth flow. Required credentials: - Instantly: API key from Settings > Integrations > API - HubSpot: Private app token with CRM and Sequences write scopes - Smartlead: API key from Settings > API - HeyReach: API key from Settings > Integrations Instantly Add Lead To Sequence (Instantly) Credits: 0. Inputs | Field | Required | Notes | |-------|----------|-------| | Campaign ID | Yes | Use List Campaigns (Instantly) to get valid IDs | | Email | Yes | Lead email address | | Website | No | Company website | | First Name | No | | | Last Name | No | | | Company Name | No | | | Phone | No | | | Personalization | No | Custom intro line for the email sequence | | Custom Lead Value | No | Float value for lead scoring | Outputs | Field | Description | |-------|-------------| | id | Lead ID assigned by Instantly | | email | Lead email | | first_name / last_name | Lead name | | company_name | Company | | phone | Phone number | | website | Website | | personalization | Personalization text passed in | | campaign_id | Campaign this lead was added to | | pl_value_lead | Custom lead value | Use cases - Agency: Push verified leads from waterfall runs into client campaigns. - Founder: Scrap LinkedIn profiles, enrich emails, and feed cold campaigns. - RevOps: Check email domains via formula before sequence enrollment. - GTM: Map campaign IDs to SMB/enterprise segments for lead routing. Create Lead (Instantly) Credits: 0. Inputs | Field | Required | Notes | |-------|----------|-------| | Email | Yes | | | Campaign | No | Campaign ID to assign the lead to | | List ID | No | Lead list ID | | First Name | No | | | Last Name | No | | | Company Name | No | | | Company Domain | No | e.g. acme.com | | Phone | No | | | Website | No | | | Personalization | No | | | Assigned To | No | User ID of the assigned rep | | Organization | No | Workspace organization ID | | Custom Lead Value | No | | | Interest Status | No | Lead interest level | | Skip If In Workspace | No | Boolean - skip if lead exists anywhere in workspace | | Skip If In Campaign | No | Boolean - skip if lead is in the target campaign | | Skip If In List | No | Boolean - skip if lead is in the target list | | Blocklist ID | No | ID of blocklist to check against | | Verify Leads for Lead Finder | No | Boolean | | Verify Leads on Import | No | Boolean | Outputs | Field | Description | |-------|-------------| | id | Lead ID | | email | Email address | | first_name / last_name | Name | | company_name / company_domain | Company details | | phone / website | Contact details | | campaign | Assigned campaign ID | | list_id | Assigned list ID | | status | Lead status | | enrichment_status | Enrichment state | | verification_status | Email verification result | | email_open_count | Total opens | | email_click_count | Total clicks | | email_reply_count | Total replies | | is_website_visitor | Website visitor flag | | lt_interest_status | Long-term interest status | | esp_code | Email service provider code | | timestamp_created / timestamp_updated | Timestamps | Use cases - Agency: Skip existing leads in the workspace to prevent client duplicates. - Founder: Import enriched lists and assign to lists for follow-up. - RevOps: Verify leads on import to ensure only valid emails enter campaign. - GTM: Assign territory-based leads to reps using lookup variables. Update Lead (Instantly) Credits: 0. Inputs | Field | Required | Notes | |-------|----------|-------| | Lead ID | Yes | From List Leads (Instantly) or prior create | | Email | No | | | First Name | No | | | Last Name | No | | | Company Name | No | | | Website | No | | | Phone | No | | | Personalization | No | Update the custom intro line | | Interest Status | No | | | Custom Lead Value | No | | | Assigned To | No | Reassign to a different user | | Custom Variables | No | JSON object of custom variable key-value pairs | Outputs | Field | Description | |-------|-------------| | id | Lead ID | | email | Updated email | | first_name / last_name | Name | | company_name / company_domain | Company | | phone / website | Contact data | | personalization | Updated personalization text | | lt_interest_status | Interest status | | status | Current lead status | | email_open_count / email_click_count / email_reply_count | Engagement counts | | esp_code | Email service provider | | timestamp_created / timestamp_updated | Timestamps | | upload_method | How the lead was originally added | Use cases - Agency: Update lead personalization variables based on response feedback. - Founder: Sync phone numbers to active leads once enrichment finds direct dials. - RevOps: Reassign leads in bulk by updating the owner field for territory changes. - GTM: Sync CRM custom variables (e.g. deal stage) for dynamic email templates. List Leads (Instantly) Credits: 0. Inputs | Field | Required | Notes | |-------|----------|-------| | Limit | No | Number of results (default: 10) | | Starting After | No | Cursor from previous page for pagination | | Search | No | Search by name or email | | Filter | No | Custom filter expression | | Campaign | No | Filter by campaign ID | | List ID | No | Filter by list ID | | In Campaign | No | Boolean | | In List | No | Boolean | | Is Website Visitor | No | Boolean | | Distinct Contacts | No | Boolean - deduplicate contacts | | Enrichment Status | No | Filter by enrichment state | | Smart View ID | No | Filter by saved smart view | | IDs | No | Comma-separated lead IDs | | Excluded IDs | No | Comma-separated lead IDs to exclude | | Queries | No | Advanced query object | Outputs | Field | Description | |-------|-------------| | lead_id | Lead ID | | lead_email | Email | | lead_first_name / lead_last_name | Name | | company_name / company_domain | Company | | phone / website | Contact info | | email_click_count / email_open_count / email_reply_count | Engagement | | esp_code | Email provider code | | lt_interest_status | Interest level | | status | Lead status | | organization_id | Workspace org | | personalization | Personalization text | | timestamp_created / timestamp_updated | Timestamps | | status_summary | Aggregated status | | upload_method | Import method | | next_starting_after | Pagination cursor for next page | Use cases - Agency: Extract leads with replies from campaigns for client reporting. - Founder: Fetch active lead IDs to target for bulk enrichment updates. - RevOps: Export campaign open/reply counts to report on overall performance. - GTM: Use page cursors to sync large lead pools without hitting API limits. List Campaigns (Instantly) Credits: 0, names, statuses, and owner details. Inputs | Field | Required | Notes | |-------|----------|-------| | Limit | No | Number of results, 1-100 (default: 10) | | Search Query | No | Filter by campaign name | | Starting After | No | Pagination cursor | Outputs | Field | Description | |-------|-------------| | campaign_ids | Array of campaign IDs | | campaign_names | Array of campaign names | | campaign_statuses | Status codes | | campaign_organizations | Organization IDs | | campaign_owners | Owner user IDs | | campaign_created_timestamps | Creation dates | | next_starting_after | Pagination cursor | Use cases - Agency: Fetch active campaigns to build dynamic routing dropdowns for new leads. - Founder: Map campaign names to product lines to organize sales outreach. - RevOps: Review campaigns and owners to verify territory alignment. - GTM: Route tier-1 prospects to high-value campaigns and tier-2 to nurture flows. HubSpot Enrol Contact in Sequence (HubSpot) Credits: 0. Inputs | Field | Required | Notes | |-------|----------|-------| | User ID | Yes | HubSpot user ID of the sender | | Contact ID | Yes | HubSpot contact record ID | | Sender Email | Yes | Email address of the enrolling user | | Sequence ID | Yes | ID of the HubSpot sequence | | Sender Alias Email | No | Alias sender address if the user sends from an alias | Outputs | Field | Description | |-------|-------------| | id | Enrollment ID | | toEmail | Contact email enrolled | | enrolledAt | Timestamp of enrollment | | updatedAt | Last updated timestamp | Use cases - Agency: Enrich contact details and auto-enrol them into HubSpot outbound sequences. - Founder: Take inbound leads that match ICP criteria and enrol in nurture sequences. - RevOps: Limit direct sequences to contacts marked as Sales Qualified Lead (SQL). - GTM: Map sender emails to SDR owners for personalized outbox routing at scale. Smartlead List Campaigns (Smartlead) Credits: 0. Inputs No inputs required. Outputs | Field | Description | |-------|-------------| | campaign_id | Campaign ID | | name | Campaign name | | status | Active / paused / stopped | | created_at / updated_at | Timestamps | | user_id / client_id | Owner and client IDs | | track_settings | Tracking configuration | | scheduler_timezone | Sending timezone | | scheduler_days | Active sending days | | scheduler_start_hour / scheduler_end_hour | Sending window | | min_time_btwn_emails | Minimum gap between sends (minutes) | | max_leads_per_day | Daily send cap | | stop_lead_settings | Conditions to stop sending | | unsubscribe_text | Unsubscribe footer text | Use cases - Agency: Query campaign IDs dynamically to route leads without hardcoding IDs. - Founder: Audit outbound schedules and timezones to align with target markets. - RevOps: Export campaign setups to audit unsubscribe footers and daily sending caps. - GTM: Route contacts using campaign name segments parsed from lookup tables. Update Campaign Lead (Smartlead) Credits: 0. Inputs | Field | Required | Notes | |-------|----------|-------| | Campaign ID | Yes | | | Lead ID | Yes | Database ID of the lead | | Email | Yes | Must match the existing lead email | | First Name | No | | | Last Name | No | | | Phone Number | No | | | Company Name | No | | | Website | No | | | Location | No | City, Country format | | LinkedIn Profile | No | Full LinkedIn URL | | Company URL | No | Alternative company URL field | Outputs | Field | Description | |-------|-------------| | ok | true if the update succeeded | Use cases - Agency: Update Smartlead records with verified phone numbers or LinkedIn URLs. - Founder: Clean up misspelled company names in bulk to normalize outbox emails. - RevOps: Sync LinkedIn URLs to enable multi-channel email/social outbound campaigns. - GTM: Update lead company domains dynamically if contacts change employers. List Leads by Campaign ID (Smartlead) Credits: 0. Inputs | Field | Required | Notes | |-------|----------|-------| | Campaign ID | Yes | Select from your campaign list | | Status | No | STARTED, INPROGRESS, COMPLETED, PAUSED, STOPPED | | Limit | No | Max number of leads to return | Outputs | Field | Description | |-------|-------------| | lead_ids | Array of lead IDs | | first_names / last_names | Names | | emails | Email addresses | | phone_numbers | Phone numbers | | company_names | Company names | | linkedin_profiles | LinkedIn URLs | | statuses | Per-lead status | | is_unsubscribed | Unsubscribe flags | | locations | Lead locations | | websites | Websites | | campaign_lead_map_ids | Internal mapping IDs | | created_timestamps | When each lead was added | Use cases - Agency: Retrieve finished campaign lists to measure overall client metrics. - Founder: Extract active leads to verify they aren't in existing CRM deal cycles. - RevOps: Inspect stopped leads to audit unsubscribes and bounce reasons. - GTM: Use lead IDs to trigger backend updates on custom campaign fields. HeyReach List LinkedIn Accounts (HeyReach) Credits: 0. Inputs | Field | Required | Notes | |-------|----------|-------| | Offset | No | Items to skip for pagination (default: 0) | | Limit | No | Accounts to return, max 100 (default: 10) | Outputs | Field | Description | |-------|-------------| | account_ids | LinkedIn account IDs | | first_names / last_names | Account holder names | | email_addresses | Login emails | | active_campaigns_counts | Number of active campaigns per account | | is_active_statuses | Whether the account is active | | auth_valid_statuses | Whether authentication is valid | | is_valid_navigator_statuses | Whether Sales Navigator is active | | total_count | Total accounts in workspace | Use cases - Agency: Verify sender accounts are active and authenticated before assigning leads. - Founder: Track campaign counts per sender profile to balance daily outreach limit. - RevOps: Monitor authentication status to prevent campaigns from pausing silently. - GTM: Load-balance campaign distributions across the least-loaded sender profiles. Add Leads to Campaign (HeyReach) Credits: 0. Inputs | Field | Required | Notes | |-------|----------|-------| | Campaign ID | Yes | Select from your campaign list | | LinkedIn Account ID | Yes | The sender LinkedIn account for this lead | | Lead First Name | No | | | Lead Last Name | No | | | Lead Email Address | No | | | Lead Profile URL | No | LinkedIn profile URL | | Lead Location | No | City or region | | Lead Summary | No | Headline or bio excerpt | | Lead Company Name | No | | | Lead Position | No | Job title | | Lead About | No | Extended bio or about text | Outputs | Field | Description | |-------|-------------| | Status | success if lead was added, failed if not | Use cases - Agency: Scrap LinkedIn profiles and feed details to HeyReach campaigns. - Founder: Personalize outreach using enriched bio and about fields. - RevOps: Balance prospect routing across multiple sender accounts. - GTM: Route VP prospects to founder profiles and managers to SDR accounts. Get All Campaigns (HeyReach) Credits: 0. Inputs | Field | Required | Notes | |-------|----------|-------| | Offset | No | Pagination offset (default: 0) | | Limit | No | Results to return, max 100 (default: 10) | Outputs | Field | Description | |-------|-------------| | campaign_ids | Campaign IDs | | campaign_names | Campaign names | | campaign_statuses | Active / paused / completed | | campaign_creation_times | When each campaign was created | | linkedin_user_list_names | Associated LinkedIn list names | | progress_total_users | Total leads added to the campaign | | progress_total_users_finished | Leads that completed the sequence | | total_count | Total campaigns in workspace | Use cases - Agency: Pull active campaign IDs to route leads dynamically without hardcoding. - Founder: Track campaign completion rates to monitor progress against goals. - RevOps: Export completion metrics to track outbound performance by rep. - GTM: Parse campaign names for tags to dynamically allocate new lead lists. Get Leads from Campaign (HeyReach) Credits: 0. Inputs | Field | Required | Notes | |-------|----------|-------| | Campaign ID | Yes | Select from your campaign list | | Limit | No | Results per page (default: 10) | | Offset | No | Pagination offset (default: 0) | Outputs | Field | Description | |-------|-------------| | leadId | Lead ID | | creationTime / lastActionTime | Activity timestamps | | leadCampaignStatus | Status within campaign | | leadCampaignStatusMessage | Descriptive status message | | leadConnectionStatus | LinkedIn connection state | | leadMessageStatus | Message delivery state | | linkedInSenderFullName / linkedInSenderId | Who is contacting this lead | | profileFirstName / profileLastName | Lead name | | profileHeadline | LinkedIn headline (job title) | | profileAbout | About section | | profileCompanyName / profileCompanyUrl | Company | | profileEmailAddress | Email if available | | profileConnections / profileFollowers | Network size | | profileImageUrl | Profile photo URL | | profileLocation | City or region | | profilePosition | Current position | | profileUrl | LinkedIn profile URL | | profileLinkedinId | Internal LinkedIn ID | | totalCount | Total leads in this campaign | Use cases - Agency: Sync connected LinkedIn leads to CRM for secondary email sequences. - Founder: Extract email addresses shared in connection replies for cold emailing. - RevOps: Export connection/message metrics to report on response rate performance. - GTM: Route connected leads to email sequences and unconnected leads to secondary profiles. Troubleshooting "Campaign not found" error in Add Lead To Sequence (Instantly) The Campaign ID is wrong or the campaign has been deleted. Run List Campaigns (Instantly) to get current valid IDs. Lead is added but does not enter the Instantly sequence The campaign may be paused or the sending window has been reached. Check campaign status in your Instantly dashboard. Also confirm the email address is valid -- invalid emails are added but immediately skip out of sequences. Enrol Contact in Sequence (HubSpot) returns 400 or 422 The contact is already enrolled in the sequence, or the sequence does not allow re-enrolment. Check the sequence settings in HubSpot under Sequences > Settings. Also verify the senderEmail matches a connected inbox in HubSpot. HeyReach Add Leads to Campaign returns "failed" The linkedInAccountId is not valid or the account's authentication has expired. Run List LinkedIn Accounts (HeyReach) and check auth_valid_statuses before adding leads. Smartlead Update Campaign Lead returns ok: false The lead_id or campaign_id does not exist, or the email does not match the existing lead record. Use List Leads by Campaign ID (Smartlead) to get correct lead_id values before running updates.

Last updated on Jun 03, 2026

Pipedrive Extended Actions Reference

Pipedrive Extended Actions This article covers Pipedrive actions for activity management, note management, lead management, pipeline inspection, organization details, product management, utility operations, and merge operations. For basic person, organization, and deal read/write/search operations, see the CRM read and search actions guide and the CRM write actions guide. Before you begin - Connect Pipedrive at Settings > Integrations > Pipedrive and paste your API key. Find it in Pipedrive under Personal preferences > API. - Person IDs and Organization IDs are numeric identifiers in Pipedrive. Lead IDs are UUIDs (longer alphanumeric strings). Use the correct format for each action. - Pagination in Pipedrive uses either offset-based (start + limit) or cursor-based approaches depending on the API version. Follow the pagination outputs to retrieve additional pages. All actions in this article cost 0 credits per row. Activity Management Add Activity Returns: Single result Create a new activity (call, meeting, task, email, lunch, or deadline) and link it to a deal, person, organization, or lead. Inputs: - Subject (Required): The activity subject or title - Type (Required): Activity type (e.g., call, meeting, task, email, lunch, deadline) - Due Date (Required): Format: YYYY-MM-DD - Due Time (Required): Format: HH:MM - Duration (Required): Format: HH:MM - Deal ID (Required): Link to a deal - Person ID (Required): Link to a person - Organization ID (Required): Link to an organization - Lead ID (Required): Link to a lead (UUID) - Note (Required): Additional notes in HTML format - Done (Required): Mark as completed - Owner ID (Required): User who owns the activity #Use case: - Agency: Auto-create follow-up call activities for every new deal created from an enrichment workflow. Get All Activities Returns: Multiple results Retrieve all activities from your Pipedrive account with optional filters for user, type, and completion status. Inputs: - Limit (Required): Max 500. Default: 100 - Cursor (Required): Pagination cursor - Done (Required): Filter by completion status - Sort By (Required): id, add_time, update_time - Sort Direction (Required): asc or desc #Use case: - Agency: Pull all undone activities for a client account to build an outstanding tasks report. Get Activities by Deal Returns: Multiple results Retrieve all activities linked to a specific deal. Inputs: - Deal ID (Required): The Pipedrive deal ID - Limit (Required): Max 500. Default: 100 - Cursor (Required): Pagination cursor Outputs Same output fields as Get All Activities. #Use case: - Agency: Pull all activities on a deal before a client pipeline review to summarize sales engagement. Get Activities by Person Returns: Multiple results Retrieve all activities where a specific person is the primary participant. Inputs: - Person ID (Required): The Pipedrive person ID - Limit (Required): Max 500. Default: 100 - Cursor (Required): Pagination cursor Outputs Same output fields as Get All Activities. #Use case: - Agency: Check a person's activity history before reaching out to avoid contacting someone with a recent call logged. Add Note Returns: Single result Create a new note and attach it to a deal, person, organization, project, or lead. Provide at least one entity ID. Inputs: - Content (Required): Note content in HTML format - Lead ID (Required): UUID of the lead - Deal ID (Required): Link to a deal - Person ID (Required): Link to a person - Organization ID (Required): Link to an organization - Project ID (Required): Link to a project - User ID (Required): Author of the note (admin only) - Add Time (Required): Format: YYYY-MM-DD HH:MM:SS (UTC) - Pin to Lead (Required): Yes (1) or No (0) - Pin to Deal (Required): Yes (1) or No (0) - Pin to Organization (Required): Yes (1) or No (0) - Pin to Person (Required): Yes (1) or No (0) - Pin to Project (Required): Yes (1) or No (0) #Use case: - Agency: Automatically add enrichment summary notes to person records after a waterfall enrichment run completes. Get All Notes Returns: Multiple results Retrieve all notes from your Pipedrive account with optional filters and sorting. Inputs: - Limit (Required): Max 500. Default: 100 - Cursor (Required): Pagination cursor - Sort By (Required): id, add_time, update_time - Sort Direction (Required): asc or desc #Use case: - Agency: Export all notes to audit the quality of sales team documentation across deals. Get All Leads Returns: Multiple results Retrieve all leads from Pipedrive with person and organization details. Inputs: - Limit (Required): Default: 100 - Start (Required): Pagination offset. Default: 0 - Sort Order (Required): e.g., "add_time DESC" - Owner ID (Required): Filter by lead owner - Person ID (Required): Filter by linked person - Organization ID (Required): Filter by linked organization #Use case: - Agency: Pull all leads for a client account to reconcile against campaign attribution reports. Get Lead Details Returns: Single result Retrieve full details for a single lead by its UUID. Inputs: - Lead ID (Required): UUID of the lead #Use case: - Agency: Look up a lead's value and linked person before deciding whether to convert it to a deal. Add Lead Returns: Single result Create a new lead linked to a person or an organization. Inputs: - Lead Title (Required): Display name (e.g., "Deal with Acme Corp") - Person ID (Required): Link to an existing person - Organization ID (Required): Link to an existing organization - Owner ID (Required): User who owns the lead - Value Amount (Required): Potential monetary value - Value Currency (Required): e.g., EUR, USD - Expected Close Date (Required): Format: YYYY-MM-DD - Label IDs (Required): Comma-separated label IDs - Visible To (Required): Visibility group (1, 3, 5, or 7) #Use case: - Agency: Create leads from enriched prospect lists, linking each to the person and organization records created in earlier workflow steps. Update Lead Returns: Single result Update one or more properties of an existing lead. Send empty values to leave properties unchanged. Inputs: - Lead ID (Required): UUID of the lead - Title (Required): Updated lead name - Owner ID (Required): New owner - Person ID (Required): Re-link to a different person - Organization ID (Required): Re-link to a different organization - Value Amount (Required): Updated value (requires Value Currency) - Value Currency (Required): Updated currency (requires Value Amount) - Expected Close Date (Required): Format: YYYY-MM-DD - Is Archived (Required): Archive or unarchive the lead - Visible To (Required): 1 (Owner), 3 (Company), 5 (Owner's group + sub-groups), 7 (Entire company) - Was Seen (Required): Mark as seen #Use case: - Agency: Update lead values after enrichment reveals company revenue data. Get All Pipelines Returns: Multiple results Retrieve all pipelines from your Pipedrive account. Inputs No required inputs. Optional pagination and sort parameters may apply. Outputs: Pipeline ID, Pipeline Name, URL Title, Active, Deal Probability Enabled, Add Time / Update Time #Use case: - Agency: Pull all pipelines to map IDs to names before building workflow routing rules. Get Pipeline Details Returns: Single result Retrieve details for a specific pipeline by its ID. Inputs: - Pipeline ID (Required): Numeric Pipedrive pipeline ID #Use case: - Agency: Verify a pipeline is active before assigning deals to it in a workflow. Get All Stages Returns: Multiple results Retrieve all stages across all pipelines, or filter by a specific pipeline ID. Inputs: - Pipeline ID (Required): Filter stages by pipeline - Limit (Required): Max 500. Default: 100 - Cursor (Required): Pagination cursor #Use case: - Agency: Map stage names and probabilities to build a pipeline health dashboard for a client. Get Deals by Pipeline Returns: Multiple results Retrieve all deals within a specific pipeline, optionally filtered by stage or status. Inputs: - Pipeline ID (Required): The pipeline to pull deals from - Stage ID (Required): Filter by specific stage - Status (Required): open, won, lost, or all_not_deleted - Limit (Required): Max 500. Default: 100 - Cursor (Required): Pagination cursor #Use case: - Agency: Pull all open deals in a client's pipeline to build a weekly pipeline report. Get Persons by Organization Returns: Multiple results Retrieve all persons (contacts) linked to a specific organization. Inputs: - Organization ID (Required): The Pipedrive organization ID - Limit (Required): Max 500. Default: 100 - Cursor (Required): Pagination cursor Pipedrive Extended Actions (Part 2) Continued from Part 1. Use cases - Agency: Pull all contacts at a target company to plan multi-threaded outreach. - Founder-led team: Find all persons at an organization before a sales meeting to identify additional stakeholders. - RevOps: Audit person-to-organization links to find orphaned contacts. - GTM engineer: Feed person IDs from this action into an enrichment column to fill missing email or phone data. Deal Details and Products Get Deal Details Returns: Single result Retrieve comprehensive details for a single deal by its ID, including activity counts, product counts, and email statistics. Inputs: - Deal ID (Required): The Pipedrive deal ID #Use case: - Agency: Pull deal details including activity counts to score deals by engagement level for a client review. Add Product to Deal Returns: Single result Attach a product to a deal, creating a deal-product line item with pricing and billing details. Inputs: - Deal ID (Required): The deal to attach the product to - Product ID (Required): The product to attach - Item Price (Required): Unit price - Quantity (Required): Number of units - Tax (Required): Tax percentage. Default: 0 - Tax Method (Required): inclusive, exclusive, or none - Discount (Required): Discount value. Default: 0 - Discount Type (Required): percentage or amount - Comments (Required): Product-level comments - Is Enabled (Required): Default: true - Product Variation ID (Required): Specific product variation - Billing Frequency (Required): one-time, annually, semi-annually, quarterly, monthly, weekly - Billing Frequency Cycles (Required): Number of billing cycles (max 208) - Billing Start Date (Required): Format: YYYY-MM-DD #Use case: - Agency: Auto-attach standard service products to new deals created from enrichment workflows. List Deal Products Returns: Multiple results List all products attached to a specific deal. Inputs: - Deal ID (Required): The deal to list products for - Sort By (Required): id, add_time, update_time, order_nr - Sort Direction (Required): asc or desc - Limit (Required): Max 500. Default: 100 - Cursor (Required): Pagination cursor #Use case: - Agency: Pull all products on a deal to verify pricing before sending a proposal. List Users Returns: Multiple results Retrieve all users in your Pipedrive account. Inputs No required inputs. Outputs: User ID, User Name, User Email, Is Active, Is Admin, Role ID #Use case: - Agency: Pull user IDs to map them as owners when creating records in bulk. Create Webhook Returns: Single result Register a webhook to receive real-time notifications when records are created, changed, or deleted in Pipedrive. Inputs: - Name (Required): Webhook display name - Subscription URL (Required): Publicly accessible URL for notifications - Event Action (Required): * (All), create, change, or delete - Event Object (Required): * (All), activity, deal, lead, note, organization, person, pipeline, product, stage, user - User ID (Required): Filter events to a specific user - HTTP Auth User (Required): Basic auth username (if endpoint requires it) - HTTP Auth Password (Required): Basic auth password - Version (Required): 2.0 (default) or 1.0 #Use case: - Agency: Create webhooks to trigger TexAu workflows automatically when deals change stage in a client's Pipedrive. Get Recent Changes Returns: Multiple results Retrieve all recent changes across deals, persons, organizations, and other entities after a given timestamp. Inputs: - Since Timestamp (Required): Format: YYYY-MM-DD HH:MM:SS (UTC) - Item Types (Required): Comma-separated: deal, person, organization, activity, etc. - Limit (Required): Default: 100 - Start (Required): Pagination offset #Use case: - Agency: Poll recent changes daily to detect new deals or contacts added by a client's sales team, then trigger enrichment. Merge Deals Returns: Single result Merge one deal into another. The deal specified as "To Delete" is merged into the deal specified as "To Keep". Inputs: - Deal ID (To Delete) (Required): The deal that will be deleted - Merge With ID (To Keep) (Required): The deal that will absorb the other deal's data #Use case: - Agency: Merge duplicate deals found during a CRM cleanup pass. Merge Organizations Returns: Single result Merge one organization into another. The organization specified by ID is deleted, and its data is absorbed into the target. Inputs: - Organization ID (Required): The organization that will be deleted - Merge With ID (Required): The organization that will keep the merged data #Use case: - Agency: Merge duplicate company records found after a bulk import. Merge Persons Returns: Single result Merge one person into another. The person specified by ID is deleted, and their data is absorbed into the target. Inputs: - Person ID (To Delete) (Required): The person that will be deleted - Merge With ID (To Keep) (Required): The person that will keep the merged data #Use case: - Agency: Merge duplicate contacts created by different team members working the same account. Troubleshooting Add Activity fails with "invalid type" The Type field must match one of the activity types configured in your Pipedrive account. Go to Pipedrive Settings > Activity Types to see valid options. Add Lead fails with "person_id or organization_id required" A lead must be linked to at least one entity. Provide a Person ID, an Organization ID, or both. Get All Leads returns empty even though leads exist Check your Owner ID filter. If set, only leads owned by that user are returned. Remove the filter to see all leads. Add Note returns success but note does not appear in Pipedrive At least one entity ID (Lead ID, Deal ID, Person ID, Organization ID, or Project ID) must be provided. A note without an attached entity is created but may not appear in any record's timeline. Create Webhook returns "subscription_url not reachable" The URL must be publicly accessible and must not redirect. Test the URL independently before registering it as a webhook endpoint. Merge Persons or Merge Deals returns an error Verify that both IDs exist and are not already deleted or archived. You cannot merge a deleted record. Get Recent Changes returns no data The Since Timestamp must be in UTC format (YYYY-MM-DD HH:MM:SS). Ensure the timestamp is not in the future and that changes have occurred since that time. Update Lead returns success but no fields changed When using Update Lead, send empty values for fields you do not want to change. If all values are empty, the lead is fetched but not modified.

Last updated on Jun 03, 2026

Zoho CRM Extended Actions (Part 1)

Fetch, Search, and Manage Records in Zoho CRM This article covers all read, search, create, update, delete, association, and campaign actions for Zoho CRM in TexAu, spanning leads, contacts, deals, and accounts. Before you begin - Zoho CRM account with API access enabled - OAuth2 connection configured in TexAu at Settings > Integrations > Zoho CRM - Record IDs for single-record actions: retrieve these from List or Search actions first, or export them directly from Zoho CRM Get a Single Record Get Lead by ID (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Returns all standard fields for one lead record using its Zoho Record ID. Inputs | Field | Required | Notes | |---|---|---| | Lead ID | Yes | 19-digit Zoho Record ID | Outputs | Field | Description | |---|---| | Lead ID | Zoho Record ID | | First Name / Last Name / Full Name | Name fields | | Company | Company name | | Designation | Job title | | Email / Secondary Email | Email addresses | | Phone / Mobile / Fax | Phone fields | | Website | Company website URL | | Lead Source / Lead Status | Acquisition source and current status | | Industry | Industry classification | | No. of Employees / Annual Revenue | Firmographic data | | Rating | Lead rating label | | Email Opt Out | Boolean: whether contact opted out of email | | Skype ID / Twitter | Social handles | | Street / City / State / Zip Code / Country | Address fields | | Description | Notes field | | Is Converted | Boolean: whether lead was converted | | Converted Account / Contact / Deal / Date | Conversion details (populated if converted) | | Owner ID / Owner Name | Record owner | | Created By ID / Name / Modified By ID / Name | Audit fields | | Created Time / Modified Time / Last Activity Time | Timestamps | | Record Status / Is Locked | Record state flags | Use cases - Agency: Pull lead details into a workflow to verify status before passing a contact to a client campaign. - Founder-led team: Check whether a lead was already converted before sending outbound: avoid messaging existing customers. - RevOps: Audit lead records for completeness: flag records missing email or phone for follow-up enrichment. - GTM engineer: Use the Lead ID output from a search or list action as the input to this action in a multi-step workflow. Get Deal by ID (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Returns all standard fields for one deal record using its Zoho Record ID. Inputs | Field | Required | Notes | |---|---|---| | Deal ID | Yes | 19-digit Zoho Record ID | Outputs | Field | Description | |---|---| | Deal ID / Deal Name | Identifier and display name | | Account ID / Account Name | Associated company record | | Contact ID / Contact Name | Primary contact on the deal | | Stage | Current pipeline stage label | | Amount / Expected Revenue / Probability | Financial and forecast values | | Closing Date | Target close date | | Type / Lead Source / Campaign Source | Deal classification | | Next Step | Freeform next action note | | Description | Deal notes | | Owner ID / Name / Email | Record owner details | | Created By / Modified By | Audit fields | | Created Time / Modified Time / Stage Modified Time / Last Activity Time | All timestamps | | Overall Sales Duration / Sales Cycle Duration | Duration metrics in days | | Reason for Loss | Populated if deal was marked Lost | | Record Status / Is Locked | Record state flags | Use cases - Agency: Pull deal stage and close date for each deal in a client pipeline to build a weekly summary report. - Founder-led team: Before following up, check whether a deal has logged recent activity: avoid interrupting an active sales cycle. - RevOps: Export sales cycle duration and amount for velocity analysis across deal segments. - GTM engineer: Use deal stage and amount as conditional inputs: route different enrichment or outreach actions depending on deal size. List All Records List Contacts (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Fetches contacts from Zoho CRM with pagination. Returns up to 10,000 records in pages of 25. Inputs | Field | Required | Notes | |---|---|---| | Limit | No | Records per page, must be a multiple of 25 (default: 25) | | Sort By | No | id, Created_Time, or Modified_Time | | Sort Order | No | desc (default) or asc | Outputs | Field | Description | |---|---| | Contact ID | Zoho Record ID | | First Name / Last Name | Name fields | | Email / Secondary Email | Email addresses | | Phone / Mobile / Home Phone / Other Phone | Phone fields | | Fax | Fax number | | Title | Job title | | Department | Department name | | Account Name / Account ID | Associated account | | Lead Source | Acquisition source | | Date of Birth | Date of birth | | Assistant / Assistant Phone | Assistant details | | Skype ID / Twitter Handle | Social handles | | Description | Notes field | | Email Opt Out | Boolean, whether contact opted out of email | | Mailing Street / City / State / Zip / Country | Mailing address fields | | Other Street / City / State / Zip / Country | Alternate address fields | | Owner ID / Owner Name | Record owner | | Created By ID / Name / Modified By ID / Name | Audit fields | | Created Time / Modified Time | Timestamps | Use cases - Agency: Export a client's full contact list and run enrichment to fill in missing phone numbers or job titles before a campaign launch. - Founder-led team: Pull all contacts sorted by Created Time and enrich the newest records first to keep your pipeline data fresh. - RevOps: Load all contacts into a TexAu table, score them for completeness, and route incomplete records to a fill-in workflow. - GTM engineer: Schedule a daily pull of contacts modified in the last 24 hours to sync changes downstream to a data warehouse or Slack notification. List Accounts (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Fetches accounts from Zoho CRM with pagination. Returns standard account fields including company details, billing addresses, and ownership information. Inputs | Field | Required | Notes | |---|---|---| | Sort By | No | id, Created_Time, or Modified_Time | | Sort Order | No | desc (default) or asc | | Limit | No | Must be a multiple of 25 (default: 25) | Outputs | Field | Description | |---|---| | Account ID | Zoho Record ID | | Account Name | Company name | | Phone | Company phone | | Website | Company website URL | | Account Type | Account classification (Customer, Prospect, Partner, etc.) | | Ownership | Ownership type (Public, Private, etc.) | | Industry | Industry classification | | Employees Count | Number of employees | | Annual Revenue | Annual revenue amount | | Billing City | Billing city | | Account Owner | Record owner name | | Has More Records | Boolean, indicates whether additional pages exist | Use cases - Agency: Pull a full account list for a client to match against a suppression file before launching an outbound campaign. - Founder-led team: List all accounts and filter by industry in TexAu to identify target verticals. - RevOps: Export all accounts for data quality auditing. Flag accounts missing annual revenue or employee count for enrichment. - GTM engineer: Combine with Search Accounts to first list all accounts, then search specific segments for targeted outreach. List Leads (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Fetches leads from Zoho CRM with pagination. Returns up to 10,000 records in pages of 25. Inputs | Field | Required | Notes | |---|---|---| | Limit | No | Records per page: must be a multiple of 25 (default: 25) | | Sort By | No | id, Created_Time, or Modified_Time | | Sort Order | No | desc (default) or asc | Outputs Returns all fields from Get Lead by ID above, applied to each record in the result set, plus: | Field | Description | |---|---| | Total Count (Page) | Number of records returned on the current page | Use cases - Agency: Export a client's full lead list to match against a suppression file before launching a campaign. - Founder-led team: Pull all leads sorted by Created Time to run enrichment on the most recently added records first. - RevOps: Load all leads into a TexAu table, score them for completeness, and route incomplete records to a fill-in workflow. - GTM engineer: Schedule a daily pull of leads modified in the last 24 hours to sync changes downstream to a data warehouse or Slack notification. List Deals (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Fetches deals from Zoho CRM with pagination. Returns up to 10,000 records in pages of 25. Inputs | Field | Required | Notes | |---|---|---| | Limit | No | Must be a multiple of 25 (default: 25) | | Sort By | No | id, Created_Time, or Modified_Time | | Sort Order | No | desc (default) or asc | Outputs | Field | Description | |---|---| | Deal ID / Deal Name | Identifier and name | | Stage / Amount / Probability | Pipeline metrics | | Expected Revenue / Closing Date | Forecast data | | Contact ID + Name / Account ID + Name | Associated records | | Deal Type / Next Step / Lead Source / Campaign Source | Classification fields | | Description / Pipeline | Notes and pipeline name | | Owner ID / Owner Name | Deal owner | | Created By / Modified By | Audit fields | | Created Time / Modified Time | Timestamps | Use cases - Agency: Pull a full pipeline export by account to prepare a client QBR summary. - Founder-led team: List all open deals sorted by Modified Time to identify which opportunities have gone quiet. - RevOps: Segment deals by stage for pipeline coverage analysis: compare number of deals and total value at each stage. - GTM engineer: Pull deals closing in the next 30 days and auto-enrich associated contact information before your AEs start outreach. Search Records Search Contacts (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Searches contact records using a keyword, email, phone number, or field-level criteria. The Search Word field is required. Inputs | Field | Required | Notes | |---|---|---| | Search Word | Yes | Keyword match across indexed contact text fields | | Email Address | No | Match by email associated with the contact | | Phone Number | No | Match by phone number | | Search Criteria | No | Filter builder, up to 10 conditions across 26 contact fields (First Name, Last Name, Email, Phone, Account Name, Job Title, Department, Lead Source, Mailing/Other address fields, etc.) | | Limit | No | Must be a multiple of 25 (default: 25) | Outputs | Field | Description | |---|---| | Contact ID | Zoho Record ID | | First Name / Last Name / Full Name | Name fields | | Email / Secondary Email | Email addresses | | Phone / Mobile / Home Phone / Other Phone / Fax | Phone fields | | Job Title / Department | Professional details | | Account ID / Account Name | Associated account | | Lead Source | Acquisition source | | Date of Birth / Salutation | Personal details | | Assistant / Assistant Phone | Assistant details | | Category | Contact category | | Description | Notes field | | Email Opt Out | Boolean, whether contact opted out of email | | Skype ID / Twitter | Social handles | | Reporting To / Vendor Name | Relationship fields | | Mailing Address / Street / City / State / Zip / Country / Coordinates / Latitude / Longitude | Full mailing address with geolocation | | Other Address / Street / City / State / Zip / Country / Coordinates / Latitude / Longitude | Full alternate address with geolocation | | Is Duplicate | Boolean duplicate flag | | Is Locked / Record Status / Record Image | Record state fields | | Unsubscribed Mode / Unsubscribed Time | Unsubscribe details | | Nearby Distance | Proximity data | | Owner ID / Name / Email | Record owner details | | Created By ID / Name / Email | Creator audit fields | | Modified By ID / Name / Email | Modifier audit fields | | Created Time / Modified Time / Last Activity Time | Timestamps | Use cases - Agency: Search for contacts by email to check whether a prospect already exists in a client's CRM before creating a new record. - Founder-led team: Find all contacts at a specific company by searching the Account Name to prepare for an upcoming meeting. - RevOps: Search by Lead Source to pull contacts from a specific acquisition channel and analyze conversion rates. - GTM engineer: Use Search Criteria to find contacts missing key fields (e.g., Email_Opt_Out equals false and Phone not_equal "") and route them to an enrichment workflow. Search Deals (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Searches deal records using a keyword, field-level criteria, email, or phone number. All inputs are optional: at least one should be provided. Inputs | Field | Required | Notes | |---|---|---| | Search Word | No | Keyword match across indexed text fields | | Search Criteria | No | Filter builder: up to 10 conditions across 16 deal fields (Deal Name, Stage, Amount, Closing Date, Pipeline, etc.) | | Email Address | No | Match by email associated with the deal | | Phone Number | No | Match by phone number | | Limit | No | Must be a multiple of 25 (default: 25) | Outputs Returns the same deal fields as List Deals (Zoho CRM). Use cases - Agency: Find all deals in a specific stage (e.g., Stage equals Proposal) before scheduling follow-up tasks. - Founder-led team: Search by company name to check whether an account already has an open deal: avoid creating duplicates after a meeting. - RevOps: Filter deals by closing date range to build a weekly forecast report. - GTM engineer: Search by lead source to pull deals originating from a specific channel, then trigger tailored follow-up sequences based on intent source. Search Accounts (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Searches account records by company name, email, phone, or field criteria. The Search Word field is required. Inputs | Field | Required | Notes | |---|---|---| | Search Word | Yes | Keyword match across indexed account fields | | Email Address | No | Match by email associated with the account | | Phone Number | No | Match by phone number | | Search Criteria | No | Filter builder: up to 10 conditions across 23 account fields (Account Name, Industry, Revenue, Employees, Account Type, Billing/Shipping address fields, etc.) | | Limit | No | Must be a multiple of 25 (default: 25) | Outputs Returns account ID, name, account number, account site, account type, annual revenue, employee count, industry, rating, ownership, SIC code, ticker symbol, parent account, phone, fax, website, full billing address (street, city, state, postal code, country, coordinates), full shipping address (same fields), record image URL, record status, lock status, last activity time, nearby distance, and owner/created by/modified by details with timestamps. Use cases - Agency: Look up a company by name to get the Zoho Account ID before creating a deal or linking a contact. - Founder-led team: Find all accounts in a specific industry and pull their website URLs as input for a company enrichment step. - RevOps: Audit account records for missing fields: identify accounts without annual revenue or an assigned owner. - GTM engineer: Resolve account IDs from a company name or domain input so downstream write actions can associate enriched data with the correct Zoho record. Get a Single Account Get Account by ID (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Returns all standard fields for one account record using its Zoho Record ID. Inputs | Field | Required | Notes | |---|---|---| | Account ID | Yes | 19-digit Zoho Record ID | Outputs | Field | Description | |---|---| | Account ID | Zoho Record ID | | Account Name | Company name | | Account Number | Reference number | | Account Site | Site or location | | Account Type | Classification (Customer, Prospect, Partner, etc.) | | Industry | Industry classification | | Annual Revenue | Annual revenue amount | | Rating | Account rating label | | Phone / Fax | Phone fields | | Website | Company website URL | | Ticker Symbol | Stock ticker | | Ownership | Ownership type (Public, Private, etc.) | | Employees | Employee count | | SIC Code | Standard Industrial Classification code | | Billing Street / City / State / Code / Country | Billing address fields | | Shipping Street / City / State / Code / Country | Shipping address fields | | Description | Notes field | | Owner ID / Owner Name / Owner Email | Record owner details | | Parent Account ID / Parent Account Name | Parent account details | | Created By ID / Name / Modified By ID / Name | Audit fields | | Record Status / Is Locked | Record state flags | | Created Time / Modified Time / Last Activity Time | Timestamps | Use cases - Agency: Pull account details into a workflow to verify industry and company size before segmenting for a client campaign. - Founder-led team: Check whether an account has a parent company relationship before scheduling outreach to avoid messaging the same organization twice. - RevOps: Audit account records for completeness. Flag records missing annual revenue, employee count, or billing address for follow-up enrichment. - GTM engineer: Use the Account ID output from a list or search action as the input to this action in a multi-step workflow to enrich account data before syncing downstream. Account Management Create Account (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Creates a new account record in Zoho CRM, including company details, billing address, and shipping address. Requires an Account Name. Inputs | Field | Required | Notes | |---|---|---| | Account Name | Yes | Company name (mandatory in Zoho CRM) | | Account Site | No | Site or location | | Parent Account ID | No | 19-digit Zoho Record ID of the parent account | | Account Number | No | Reference number | | Account Type | No | Analyst, Competitor, Customer, Distributor, Integrator, Investor, Other, Partner, Press, Prospect, Reseller, Supplier, or Vendor | | Industry | No | Select from predefined list (Technology, Financial Services, Education, Manufacturing, etc.) | | Annual Revenue | No | Annual revenue amount | | Rating | No | Acquired, Active, Market Failed, Project Cancelled, or Shut Down | | Phone Number | No | Primary phone | | Fax | No | Fax number | | Website | No | Company website URL | | Ticker Symbol | No | Stock ticker | | Ownership | No | Private, Public, Subsidiary, Partnership, Government, or Other | | Employees | No | Employee count | | SIC Code | No | Standard Industrial Classification code | | Billing Street / City / State / Code / Country | No | Billing address fields | | Shipping Street / City / State / Code / Country | No | Shipping address fields | | Description | No | Notes or description | This article continues in Part 2. Search for the article title with "Part 2" to find the rest.

Last updated on Apr 01, 2026

Zoho CRM Extended Actions (Part 2)

Zoho CRM Extended Actions (Part 2) Continued from Part 1. Outputs | Field | Description | |---|---| | New Account ID | Zoho Record ID of the created account | | Status | success or error | | Response Message | Detail about the operation | | Created Time | Timestamp of creation | | Approval State | Workflow approval status | Use cases - Agency: After enriching a prospect list with company data, automatically create accounts in a client's Zoho CRM for companies that pass qualification criteria. - Founder-led team: Create accounts from a list of companies found during LinkedIn prospecting, pre-filled with industry and employee count from enrichment. - RevOps: Automate account creation for inbound leads by mapping enriched company data directly to Zoho account fields in a single workflow. - GTM engineer: Chain company enrichment with this action to create accounts in Zoho with pre-populated firmographic data from Apollo, Hunter.io, or LeadMagic. Update Account (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Updates an existing account record in Zoho CRM using its unique Record ID. Only provided fields are modified. Inputs | Field | Required | Notes | |---|---|---| | Account ID | Yes | 19-digit Zoho Record ID of the account to update | | Account Name | No | Updated company name | | Account Number | No | Updated reference number | | Account Site | No | Updated site or location | | Account Type | No | Analyst, Competitor, Customer, Distributor, Integrator, Investor, Other, Partner, Press, Prospect, Reseller, Supplier, or Vendor | | Parent Account ID | No | 19-digit Zoho Record ID of the parent account | | Phone Number | No | Updated phone | | Fax Number | No | Updated fax | | Website | No | Updated website URL | | Ticker Symbol | No | Updated stock ticker | | Industry | No | Updated industry classification | | Employees | No | Updated employee count | | Annual Revenue | No | Updated annual revenue amount | | Ownership | No | Updated ownership type | | Rating | No | Updated account rating | | SIC Code | No | Updated SIC code | | Billing Street / City / State / Code / Country | No | Updated billing address fields | | Shipping Street / City / State / Code / Country | No | Updated shipping address fields | | Description | No | Updated notes or description | Outputs | Field | Description | |---|---| | Status | success or error | | Response Message | Detail about the operation | | Modified Time | Timestamp of the update | | Updated Record ID | Zoho Record ID of the modified account | Use cases - Agency: After running company enrichment, push updated employee count, revenue, and industry data back to matching Zoho accounts in a client CRM. - Founder-led team: Update account types from Prospect to Customer when a deal closes, triggered by a stage change in your workflow. - RevOps: Bulk-update billing addresses across accounts after a data quality audit identifies outdated location data. - GTM engineer: Build an enrichment-to-CRM pipeline that updates accounts with fresh firmographic data on a weekly schedule. Delete Account (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Moves an account record to the Zoho Recycle Bin. The record can be recovered from there if needed. Inputs | Field | Required | Notes | |---|---|---| | Account ID | Yes | 19-digit Zoho Record ID | Outputs | Field | Description | |---|---| | Status | success or error | | Response Message | Detail about the operation | | Deleted Record ID | Record ID of the account moved to Recycle Bin | Use cases - Agency: Remove duplicate or test accounts after a data cleanup pass across client CRM data. - Founder-led team: Delete accounts that were auto-created from a webhook trigger when they fail a qualification check. - RevOps: Automate account removal. Flag accounts with no associated contacts or deals, then delete the flagged records in the same workflow. - GTM engineer: After a data quality audit, batch-delete accounts matching disqualification criteria (e.g., outside target market or industry). Unlink Records Unlink Deal and Contact (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Removes the bi-directional relationship between a Deal and a Contact. Supports both Contact-to-Deal and Deal-to-Contact directions. Inputs | Field | Required | Notes | |---|---|---| | Primary Module | Yes | Contacts or Deals | | Primary Record ID | Yes | 19-digit Zoho Record ID of the starting record | | Related Module | Yes | Deals or Contact Roles | | Related Record ID | Yes | 19-digit Zoho Record ID of the record to unlink | Outputs | Field | Description | |---|---| | Status | Operation result | | Message | Response detail | Use cases - Agency: Remove incorrect deal-contact associations discovered during a CRM audit for a client. - Founder-led team: Unlink a contact from a deal when the contact leaves the company and is no longer involved in the opportunity. - RevOps: Clean up stale associations after a bulk import created duplicate links between deals and contacts. - GTM engineer: Build a workflow that detects when a contact's company changes (via enrichment), then automatically unlinks them from deals associated with their previous employer. Link Records Link Deal and Contact (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Creates a bi-directional relationship between a Deal and a Contact with an assigned Contact Role. Supports both Contact-to-Deal and Deal-to-Contact directions. Inputs | Field | Required | Notes | |---|---|---| | Primary Module | Yes | Contacts or Deals | | Primary Record ID | Yes | 19-digit Zoho Record ID of the starting record | | Related Module | Yes | Deals or Contact Roles | | Related Record ID | Yes | 19-digit Zoho Record ID of the record to associate | | Contact Role | Yes | Developer/Evaluator, Decision Maker, Purchasing, Executive Sponsor, Engineering Lead, Economic Decision Maker, or Product Management | Outputs | Field | Description | |---|---| | Status | Operation result | | Message | Response detail | | Linked Record ID | ID of the associated record | Use cases - Agency: After creating contacts for a client account, link them to open deals with the correct decision-maker roles. - Founder-led team: Mark a new contact scraped from LinkedIn as the Decision Maker on an existing deal using their job title as the condition. - RevOps: After a bulk CRM import, link all new contacts to their corresponding deals based on company match. - GTM engineer: Enrich a contact's title, evaluate the title against a role taxonomy, then automatically set the Contact Role on their associated deal. Campaign Management Get Campaigns (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Returns all campaign IDs and names from your Zoho CRM account. This action is a required prerequisite for Link Record to Campaign and Remove Record from Campaign: use it to look up valid campaign IDs. Inputs No inputs required. Outputs | Field | Description | |---|---| | Campaign ID | 19-digit Zoho Campaign ID | | Campaign Name | Display name of the campaign | Use cases - Agency: Pull campaign IDs at the start of a multi-step workflow so the correct IDs are available for subsequent link or remove steps. - Founder-led team: Retrieve the list of active campaigns when building a conditional enrollment workflow. - RevOps: Audit campaign names and IDs for a reporting crosswalk. - GTM engineer: Use as a dynamic lookup step: chain it to Link Record to Campaign so campaign IDs populate automatically without hardcoding. Link Record to Campaign (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Adds a Lead or Contact to a specific campaign and optionally sets their campaign membership status. Inputs | Field | Required | Notes | |---|---|---| | Campaign ID | Yes | Select from dropdown: populated by Get Campaigns (Zoho CRM) | | Related Module | Yes | Leads or Contacts | | Record ID | Yes | 19-digit Zoho Record ID of the lead or contact | | Member Status | No | Planned, Invited, Sent, Opened, Responded, Bounced, or Opted Out | Outputs | Field | Description | |---|---| | Status | Operation result | | Message | Response detail | | Linked Record ID | ID of the linked record | Use cases - Agency: Enrich a batch of leads, qualify them, then add the qualified ones to a specific Zoho outreach campaign with status Invited. - Founder-led team: When a new lead clears your scoring threshold, place them in the right campaign automatically. - RevOps: Sync campaign membership after a list import: ensure all newly uploaded leads are tied to the correct campaign. - GTM engineer: Build a conditional enrollment: if enrichment returns company size above 500, add the contact to the enterprise campaign with status Planned. Remove Record from Campaign (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Removes a Lead or Contact from a campaign. Inputs | Field | Required | Notes | |---|---|---| | Campaign ID | Yes | Select from dropdown: populated by Get Campaigns (Zoho CRM) | | Related Module | Yes | Leads or Contacts | | Record ID | Yes | 19-digit Zoho Record ID of the lead or contact | Outputs | Field | Description | |---|---| | Status | Operation result | | Message | Response detail | Use cases - Agency: Remove contacts who unsubscribed from a campaign during a list cleanup pass. - Founder-led team: After a deal closes-lost, remove the contact from the nurture campaign to stop automated outreach. - RevOps: De-enroll contacts who have not responded after a defined number of days by running a scheduled removal workflow. - GTM engineer: When a contact replies to an outreach sequence, trigger removal from the campaign to prevent continued automated follow-up. Delete Records Delete Contact (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Moves a contact record to the Zoho Recycle Bin. The record can be recovered from there if needed. Inputs | Field | Required | Notes | |---|---|---| | Contact ID | Yes | 19-digit Zoho Record ID | Outputs | Field | Description | |---|---| | Status | success or error | | Response Message | Detail about the operation | | Deleted Record ID | Record ID of the contact moved to Recycle Bin | Use cases - Agency: Remove duplicate or invalid contacts after running a deduplication pass across client CRM data. - Founder-led team: Clean up imported contacts who hit hard bounces during an outreach campaign. - RevOps: Automate contact removal: flag invalid contacts using an email validation action, then delete the flagged records in the same workflow. - GTM engineer: After a data quality audit, batch-delete contacts matching disqualification criteria in a single workflow run. Delete Deal (Zoho CRM) Integration: Zoho CRM | Credits: 0 | Category: CRM Moves a deal record to the Zoho Recycle Bin. Inputs | Field | Required | Notes | |---|---|---| | Deal ID | Yes | 19-digit Zoho Record ID | Outputs | Field | Description | |---|---| | Status | success or error | | Response Message | Detail about the operation | | Deleted Record ID | Record ID of the deal moved to Recycle Bin | Use cases - Agency: Remove test or duplicate deals before a pipeline review with a client. - Founder-led team: Delete auto-created deals from a webhook trigger when they fail a qualification check. - RevOps: Remove stale deals with no activity logged after a defined cutoff period. - GTM engineer: Run conditional deletion: if company enrichment reveals an account is outside the target market, automatically delete the associated deal. Troubleshooting "Invalid OAuth token" error on all Zoho actions Your OAuth session has expired. Go to Settings > Integrations > Zoho CRM in TexAu and reconnect the account. Get Lead or Deal by ID returns no data The Record ID is incorrect or the record was deleted. Use List Leads or Search Deals to retrieve the correct current ID. List Leads or List Deals returns fewer records than expected The default page size is 25. Increase Limit to 50, 75, or 100 (must be a multiple of 25). Run the action multiple times to page through all results if the total exceeds your Limit setting. Search Accounts returns no results even though the company exists in Zoho The Search Word field is required for this action. Enter at least a partial company name. The equals operator behaves like contains for standard text fields in Zoho. Link Record to Campaign fails with "invalid campaign ID" The campaign was deleted or the ID is malformed. Run Get Campaigns (Zoho CRM) first to retrieve a fresh list of valid campaign IDs, then retry the link action. Create Account or Update Account returns an error about a required field Account Name is mandatory for account creation. For updates, confirm that the Account ID is a valid 19-digit Zoho Record ID. Use List Accounts or Search Accounts to retrieve the correct current ID. Unlink Deal and Contact returns "no association found" The relationship between the Deal and Contact does not exist, or the module/direction is incorrect. Verify that you selected the correct Primary Module and Related Module combination, and that both Record IDs are valid. Delete Account succeeded but associated contacts are still visible Deleting an account does not delete associated contacts or deals. Those records remain in Zoho CRM with the account association removed. Clean up orphaned records separately if needed.

Last updated on Apr 01, 2026