Building Automation Workflows

The workflow builder in TexAu is probably the most underrated tool in this full automation suite.
It's daunting and looks complex from afar. But in fact, it's easier to achieve what you want instead of manually chaining each automation one by one (a.k.a Phantombuster style).
This article will try to demystify and demonstrate what makes TexAu truly unique to unveil all its superpowers.

Wait, what? Yes, this is the first thing you have to understand. When building an automation workflow, you are trying to reproduce a series of human actions you want to automate.
For instance, think of a typical B2B boring workday:
- You browse LinkedIn starting from your feed.
- You scroll down a few posts in your network.
- You click on a profile that published a trending post that caught your attention.
- You visit his profile page and scroll down to check his curriculum.
- You click on the company page mentioned in his profile.
- You click on the link of the company website mentioned on his company page.
- You manually copy-paste all the interesting profiles you find in an Excel sheet.
- Next, you try to find his email.
- Finally, you send him an email.
- In case of a positive reply, you book a demo in your schedule and connect with them on LinkedIn.
Today, this is still the typical workday for a majority of corporate people in the world. That's what we can solve and automate with TexAu.
The above describes a list of step-by-step actions jumping from one page to another. Those pages are linked together by the links they share or redirect.
In TexAu, this is the same: you will link automation together to build a workflow.
Here are a few examples that illustrate what you should be able to visualize before building a workflow.
You could start thinking of different scenarios you want to achieve. Something along these lines:

Start thinking in reverse, always starting from the goal you want to achieve:
Goal: "I want to send connection requests to LinkedIn profiles in the personal development consulting industry," then send them two follow-up messages if they accept to connect with me.
How to, step by step:
- Start from a LinkedIn search filter to find these prospects.
- Scrape their complete profile details to grab their B2B email.
- Send them a LinkedIn connection request.
- Wait five days to let them have time to respond and accept the connection request.
- Next, check if they accept the invitation or not.
- If they accept the connection: send two follow-up messages with a 3-day delay in-between.
- If they don't: withdraw the pending invitation.
Again, that's the same thing you would do manually, right?
So this, for example:

... could translate to this:

Another example this time for local lead generation:
Goal: "I want to find all the websites in my area that make or don't make Facebook ads, find the CMS they use because I am a WordPress agency that also does PPC, and I want to find their owners so I can contact them".
How to, step by step:
- Start from Google Maps listings around your area, scrape their website, phone numbers, and ratings.
- Extract their reviews to learn what their customers think about their business
- Extract the social links on their website footer to find their Facebook and other social networks company pages.
- Scrape their Facebook company page to extract additional data like the personal email of the owner.
- Extract their Facebook ads library to see if they do ads or not and look at the ads they made.
This could look like this:
- On the left: What you would do manually, going from page to page.
- In the middle: How you would do it with automation in TexAu.
- On the right: The variables you will use to link all the automation in your workflow.

You'll notice that the variables you use don't have to be consecutive to link multiple automation. For example, you can take any previous variable and connect it with another spice later in the workflow as long as it is of the same type.
This is the "mindset" you have to develop over time.
So your ability to make your workflows will depend on your capacity to think and visualize these individual steps in order.
You will need to break down every step and understand all the automation and their application.
It requires practice, patience, and experimentation.
The first thing you have to do is select the platform you will start from in your workflow.
You can choose between:
- Social media networks: LinkedIn, Facebook, Twitter, Instagram, etc...
- Integrations: Hunter, Dropcontact, Hubspot, Pipedrive, etc...
- Utilities: Google Sheets, Delays, etc...

To add an automation spice, select the platform, then select the automation type from the dropdown:


Once you choose the platform, fill in your cookies (for social media) and the requested input type (URL, text, or number):

Tip: Always build your workflow by adding all the automation first, then configure each spice setting once you complete your workflow construction. First, add the skeleton, then set up the details.
To link a new spice, click on the blue plus (+) icon below the preceding spice:


To link two automation modules together, you have to use dynamic variables:

To learn more about variables, you can refer to these articles:
To remove a variable, click the trash can icon on the right corner of the spice module:

You can add a new spice between two modules, but you can not add a spice before the first one, only after it. This is indeed a needed feature that we will add later on.

Sometimes when your automation workflow begins to be too crowded, it's always good to maintain good organization habits. That's why you should rename the automation module in your workflow.
That way, you will be able to keep track of what's happening and remember what you did in the first place.
See this little pen icon next to workflow and Spice name? That means you can edit and rename it.



What the heck are these grabbled characters at the end of every spice?

These characters are an internal ID that is unique to every spice you load in a workflow.
You can ignore it; we will remove it from the frond-end at some point.
Most well-built automation workflow follow a similar pattern:
- First, start from an extensive data set like a search filter. But this can also be a list of group members, followers, post likers & commenters, and post URLs. Pages that link to multiple page URLs that we will process individually later in our workflow.
- Extracting profiles, companies, or post content details we collected above.
- Connect or follow them.
- React to their posts by commenting or liking.
- Send follow-up messages if they accept your connection to pitch your service or product.
- Filter the hot prospects and store the list in a CSV, Google Sheet, or your CRM.
- Rinse and Repeat (Scheduling).

Here is a list of automation you can use at the top of the funnel in your workflow. These automation are also called 1:2 ratio automation modules. That's because they generate multiple outputs from one input (URL, text, etc...).
Simply put, those automation extract a list of link URLs, companies, profiles, followers, members, upvoters, posts, likers, and commenters. LISTS.
TexAu will then process those lists, opening each page URL one by one to dive into the details and collect additional data.

Google:
- Google Maps Search Extractor
- Collect Reviews From Google Maps
- Scrape Search Results From Google
- Extract Reviews From Google Play Store
Yellow Pages:
- Yellow Pages Search Export
LinkedIn:
- Extract Profiles From Linkedin Search
- Linkedin Company Search Extractor
- Extract Any Company Employees On LinkedIn
- Extract Activities Of LinkedIn Company
- Extract The Activities Of A LinkedIn Profile
- Scrape Linkedin Sales Navigator Leads Search Result
- Extract Linkedin Sales Navigator Accounts Search Results
- Linkedin Content Search Extractor
- Extract LinkedIn Post Commenters
- Extract Likers Of A LinkedIn Post
- Extract The Likers Of A LinkedIn Learning Course
- Linkedin Recent Posts Liker
Facebook:
- Extract Facebook Page Search New
- Collect The Reviews Of A Facebook Page New
- Extract Facebook Post Likers New
- Extract Commenters Of A Facebook Post New
Instagram:
- Extract Instagram Posts From A Hashtag
- Extract Instagram Posts
- Extract Instagram Followers
- Collect Instagram Following
- Extract Commenters Of An Instagram Post
- Get The Likers Of An Instagram Photo
Twitter:
- Twitter Advanced Search Extractor
- Extract Twitter Followers
- Extract Twitter Following
- Extract Comments From A Twitter Tweet
Youtube:
- Youtube Search Extractor
Quora:
- Extract Quora Profile Followers
- Extract The Following Of A Quora Profile
- Extract Quora Upvoters
Pinterest:
- Scrape Pins From Search
Product Hunt:
- Scrape Products From ProductHunt
- Extract Upvoters In Product Hunt
Here is a collection of the most used spice sequences you will use every day.

- Extract Listings.
- Collect Reviews.
- Push Listings to Google Sheet.
- Push Reviews to a separate Spreadsheet.
To link these two automation, you will use the mapsLink variable (Google Place URL of the business listed on Google Maps):

Google Maps can be a starting point to find and enrich the listings with LinkedIn data of the company. But you can also search for employees’ data to find their LinkedIn profiles:

- Extract Listings.
- Find LinkedIn Company Page.
- Scrape LinkedIn Company Page.
- Push Listings and enriched LinkedIn company data to one Google Spreadsheet.
- Push Linkedin employees' profile data to another Spreadsheet.

Another variant that allows going back to a company's social pages is to extract social links from their website.


- Extract Listings.
- Collect Each Business Details (Emails, Phones).
- Push Listings data to Google Sheet.
To link these two automation, you will need to use the yellowPageUrl variable (URL of the listed business on the Yellow Pages):

Similar to Google Sheet, you can extend your workflow to enrich Yellow Pages data with LinkedIn company data and find the employees of each company:

- Extract Listings
- Collect Each Business Details
- Find LinkedIn Company profile
- Scrape Company profile
- Find LinkedIn Employees’ profiles
- Push Listings on one Sheet
- Push employees’ profiles to another Sheet


- Extract Profiles from Search.
- Scrape profile details and find B2B email.
- Send all results to one Google Sheet.
To link these two automation, you will need to use the url variable (URL of each LinkedIn profile listed on search results):

You could further extend your workflow by sending LinkedIn connection requests to these profiles. You could also add a follow-up message if they accept the connection:


You could either start from a LinkedIn search filter, extracting group members, commenters, or likers of a post. But also a custom CSV or Google Sheet list.
Starting from LinkedIn search data input:

Starting from Google Sheets data input:

Starting from Group members’ extraction:

Starting from Post Likers extraction:

As explained earlier, when you build a workflow, you should mimic human behavior.
In a real-life situation, you would naturally add pauses (hours or days) between each step.
As a general rule of thumb, here is how you can use delays:
- Add a one hour pause after extensive data extraction (search, groups, followers, followings, content)
- Alternate between 3, 5, or 7 days delays between every message interaction (connection requests, follow-up messages).
If you don't add delays or their duration is too short, profiles won't have the necessary time to check your messages. Otherwise, you will have a low connection request acceptance and reply rate.
Again, think of it as you would do it without automation and use common sense.
You can extract all your inbox conversations with an easy two-step workflow:

This automation lets you extract all the threads or "conversation links" from each profile you interacted with privately via LinkedIn chat.
In the below picture, each conversation/profile has a unique thread URL. Therefore, we will use the threadUrl dynamic variable to scrape the content of each conversation you had with those profiles:


You can easily extract job listings from LinkedIn Job using a simple two-step workflow:

Here, we will use the jobUrl dynamic variable to link both automation. One will extract all the job links, the other the content of each ad.



Regular LinkedIn messages and Sales Navigator InMails have separate inboxes. That means messages sent in one won't be available in the other.
This also means that if you cancel your Sales Navigator, you will lose all the content in your inbox.
But thankfully, we got yourself covered, and you can extract all the content of your Sales Navigator inbox with a simple two-step workflow:

Here we will use the threadUrl variable

This automation is the secret weapon that allows collecting more emails by bypassing LinkedIn profile view limitations.
There are two ways to collect emails from LinkedIn:
- First, visiting and scraping each profile page: slow process but more accurate, 50 daily profiles.
- Scraping Sales Navigator Leads Search Results: faster, less accurate, but 20K-50k daily profiles.
Yes, you heard it: 20K profiles with basic details and above, every day! And it takes less than 30 minutes to do so.

- Scrape Sales Navigator Leads Search.
- Find the company domain from the company name.
- Find prospect B2B email from First Name, Last Name, Company Domain.
- Send to Google Sheet.

You can use that same workflow instead of specialized email enrichment tools like Hunter and Dropcontact to streamline this process faster.
For instance, it takes less than one hour to Dropcontact to enrich 20K profiles with emails and verification, websites, switchboard phones, HQ and subsidiary addresses, SIREN (EU and France)... impressive.

Enrich emails with Hunter.io

Enrich emails with Dropcontact
The trick to extracting thousand of Sales Navigator profiles is to slice extensive searches into multiple smaller searches.
A Sales Navigator Leads Search returns a maximum of 2500 profiles per search URL.
TexAu can extract 1500 profiles from LinkedIn API in less than 20 seconds.
So the trick is to use negative filters to slice the search results.
For example, that search has more than 7.5K returned profiles:

But LinkedIn Sales Navigator only shows the first 2500 profiles (100 pages) from it.
So how can we manage to slice this search into smaller batches?
By applying negative filters on geography location or job titles, or seniority:

To fraction the search, you will have to turn all your filters into negative filters, then add them back one at a time.
Then copy-paste each corresponding URL in a Google Sheet to be processed with TexAu's Advanced Scheduling.

Here we will scrape each of these sliced search URLs every 3 to 5 minutes randomly, processing each row 1 by 1 with an additional delay comprised of between 15 to 45 seconds each.
Those settings are general guidelines and works.
That way, you can easily scrape 100-150 search URLs per day with a Sales Navigator account.
So potential, you can collect up to 150x1500= 225,000 (225K) profiles per day. Yes, no joke.
But there is an even easier trick to go even faster, but I'll reveal this in another tutorial 😛. This one will use Bing Geolocation Codes to find any prospect you want from any of the +10K locations listed on LinkedIn 🤫.
Sales Navigator has its own dedicated set of automation:

You can also achieve Drip Campaigns with Sales Navigator combining connection requests and InMail follow-up messages.

It's precisely the same process. In this case, you can substitute the following spice in your workflow:
- Extract Profiles From LinkedIn Search by Scrape LinkedIn Sales Navigator Leads Search Results
- Send a LinkedIn Connection Request by Send a Sales Navigator Connection Request
- Send a LinkedIn Message by Send InMail using Sales Navigator
- Check If Profile Is Connected On LinkedIn spice stays the same. While inboxes are separate between LinkedIn and Sales Navigator, connections remain in sync between both.
The way you build a workflow for Instagram follows the same guidelines as with LinkedIn.
You can start from:
- Posts from Hashtags (Search Filter)
- A CSV or Google Sheet Profile List
- A list of Followers
- A list of Following
- Likers or commenters of a post
Then, as usual, you narrow the funnel at the profile level.
Starting from Instagram Posts From Hashtags:

Starting from a Google Sheet List:

Starting from Instagram Followers:

Starting from Instagram Followings:

Using the spice module "Scrape an Instagram profile", serves the same purpose as the connection check we did earlier with LinkedIn. The trick is to use a router with a condition:

That way, you can segment your campaign.
- On one side, is the profile that follows you.
- On the other side, the profile who don't (unfollow).
That way, you can segment your campaign.
- On one side, are the profiles that follow you back.
- On the other side, the profiles who don't (unfollow).
The way you can build a workflow for Twitter is almost identical to how we did with Instagram.
You can start from:
- Twitter Advanced Search (Search Filter)
- A CSV or Google Sheet Profile List
- A list of Followers
- A list of Following
- Likers or commenters of a post
Then, as usual, you narrow the funnel at the profile level.
Starting from Twitter Advanced Search:

Starting from a Google Sheet List:

Starting from Twitter Followers:

Starting from Twitter Following:

Using the spice module "Scrape a Twitter profile", serves the same purpose as the connection check we did earlier with LinkedIn. The trick is to use a router with a condition:

That way, you can segment your campaign.
- On one side, are the profiles that follow you.
- On the other side, the profiles who don't (unfollow).
There are a few essential considerations to observe when building your workflow.
- First, always try to limit the number of automation you add to your workflow automation.
- Your automation should be practical and use only what's necessary for the task you want to achieve.
- Avoid using more than twice the same spice in your workflow.
- Avoid complicated multi-routing branch workflows (a.k.a, octopus workflows): limit yourself to 2-3 branches maximum.
- If the task to automate is too big, divide it into two or more different workflows.
- If your workflow contains two search filter automation, send results in 2 separate CSV files or Google Spreadsheets.
Below are some examples we encountered from customer support cases that illustrate this.


In the two above examples, the issue is that the same spice is used multiple times with different input URLs in each, instead of using a CSV file or Google Sheet list as an input data source with these input URLs.
Here's what you should do instead:


Here's an example that combines multi-branches in cascade using the same automation over and over:

The problem with such a complicated setup is:
- Too many dependencies: if one spice breaks, all the workflow breaks.
- It is unmanageable: you will have difficulty debugging and keeping track of it in the logs.
- Third, you will never be able to consolidate results in the same table.
- Finally, it will kill your execution time since you use the same automation multiple times.
Instead, split this setup into multiple smaller workflows and reuse the output data you obtain at the end of each one in another workflow. Test a hypothesis, run, check the data, then iterate.
This is probably one of the most confusing topics many users experience when consolidating all the data from a workflow into the same table in Google Sheet.
To illustrate this, let's take the workflow below using two search filters:
- One for extracting LinkedIn Jobs listings, then scrape details for each ad.
- One for extracting the decision-makers of these companies from LinkedIn search then scrape each profile details.
The first part starts with the "Extract Jobs From LinkedIn" spice.
The second starts with "Extract Profiles From LinkedIn Search" spice.
Both have one thing in common:
For one input search URL (one input), those will generate multiple outputs (multiple jobs or profiles).
Those listings will return multiple page URLs that TexAu will process one by one (iterating) in the second step (opening each page).
Another example:
Let's say you want to extract Linkedin job offers and their details and then find the decision-makers of these companies.
- You will extract all job ad links.
- You will scrape all the job details of those links.
- You will then do a dynamic search on LinkedIn using the companyId variable you get from the listings.
- You will scrape each decision-maker's profile (visiting their profile page).
For consolidating results, you will have to spit it to two Google Sheets:
- One with Job ad links and description (first two automation).
- One with decision-maker profiles URL and details (last two automation).

Rule of thumb:
If your workflow uses more than one 1:2 ratio spice listed in the "Where to Start From?" list we saw above: send data to separate Sheets.
The way to see it is by placing the "Send Data to Google Sheet" spice BEFORE the next multi-output spice in the chain.
The two settings below are valid, but for readability reasons, we recommend the first example:

Google Sheets before each listing spice.

Google Sheets at the end of the workflow.
For more explanation about the reasons for this limitation, you can read this article: