Understanding Variables (Advanced)
For lack of a better analogy...
What do the relay runners above have in common? The relay stick. They both participate in the same race for the same team (Team #Workflows).
The relay stick is the variable, and the runners are the automation modules running for the same race (The Workflow). The runner behind (previous module) passes the variable to the runner ahead (next automation).
So in TexAu: The previous automation module contains the website page data (data fields scraped on the page). Then we will pass those variables to the next module in the automation chain.
Another analogy: if the workflow is a train line, then the stations are the automation modules, and the crossing lines are the variables...
Train lines can have branches too. A workflow can have conditional branches too...
I mean, it's not that far from reality, you know...
Another analogy for those who practice a musical instrument:
Let's take the same train analogy:
- The workflow is the train line.
- The automation modules are the train stations.
- The variables are the passengers that come and jump out of the train at different station stops.
- Some variables can be processed in multiple consecutive modules, like train passengers traveling across numerous stations.
Profiles variables are processed by iteration in TexAu.
Let's say you have a list of 10 profiles you want to enroll in a workflow.
Each profile will be processed separately, one after the other until they reach the next automation.
Once it reaches the next node, TexAu will start processing the same ten profiles one by one in each automation in the workflow.
Let's go back to our train analogy again, this time looking at a TexAu log sample:
Those are the fields that TexAu scrapes on the pages it visits.
And some of those fields are related or linked to other pages.
For example, a LinkedIn search filter page will list all the profiles it contains on each page:
TexAu will scrape those URLs by opening each profile page one by one to scrape their details:
In the example above, TexAu will process and scrape all individual profiles from a LinkedIn search using the "profileUrl" variable as the pivot point to jump from the search result page URL to all the listed profile URLs and scrape their details, one by one:
In TexAu, those variable fields can be of any type:
Text: first name, last name, company name, job title, emails, a search query, etc...
Numbers: google maps rating, phones, etc...
URLs: profile page URLs, company page URLs, image URLs, links, etc...
All those variables (or fields) can be linked together along the funnel to create a workflow:
Those variables can then be reused everywhere in the workflow as long as it is in common between 2 modules, consecutive or not. That's how you link them together. This allows an unprecedented level of creativity in building your custom workflows.
These variables don't have to belong to the same platform too.
For instance, you can jump from a Facebook profile that contains a company website, then go to the website to scrape the LinkedIn company profile, and then to the employee's profiles.
The challenge for most users trying to build their workflows is to think of a use case and bend the tool to solve that use case.
The process is more straightforward than it seems: backtrack by starting at the end goal you want to achieve, then think of all the actions you would manually do to find prospects online.
Then rebuild that process as a workflow in TexAu.
Finding your ideal customer profile often looks like solving a crime case these days...
For example, a company domain URL (variable) can be common to two different modules (or separate platforms).
That way, you could link two different automation together, like this:
But we can use variables in many other ninja creative ways...
Variable can also serve the purpose of personalization here.
You can use them in your drip sequences on Linkedin or Twitter, for instance.
In the example below, we used the "firstName" variable from the "Scrape a LinkedIn profile" module previously used in our workflow:
TexAu uses these variables to personalize the messages or connection requests you send to all the profiles we scraped before. Then we will dynamically personalize those messages with each profile's first name and additional data.
Similarly, I could have added ANY of the variables in this long list to personalize further the message with variables like current company name, here called "jobCompanyUrl1".
To explain in part how to interpret their meaning:
Each variable with a number suffix like:
jobCompanyUrl1 jobCompanyUrl2 jobCompanyUrl3 jobCompanyUrl4
The above means:
- current company
- last company
- previous company before last company
- ... and so on.
For more detail on this, you can check my Linkedin tutorial here:
Another fantastic way to use variables is to create dynamic images to personalize your messages.
For this, you can use two excellent tools with TexAu: Hyperise and Nexweave.
Here is an example with Hyperise personalization toolkit:
Here, I have a template I use pretty often for demos:
To dynamically display the image in the message, I added the company name variable (here called JobComapny1) to the personalized image URL below:
Once added to your campaign, each LinkedIn profile will receive a personalized image with their details:
Looks cool, duh? 😛
You can also combine variables and use them as keywords in search queries.
Here, I used the business "name" variable scraped from Google Maps listings to query a search in Linkedin profile search results:
Let's have a look at the above search query to see how it's constructed:
The first results will indeed return corresponding profiles if there is a match:
Another ninja tactic is to use variables in URLs.
Some Linkedin search URLs contain variable parameters that you can process as variables.
For instance, LinkedIn search results use a "geoUrn" parameter that indicates the location of the profile search it returns:
In the above LinkedIn search URL, the geoUrn is the following for Paris, France
We could make a local or global variable out of this:
So instead of this:
We can do that:
You can even you multiple variables in the search URL.
For instance, I used a local variable for the "geoUrn" parameter and the "name" variable from Gmaps as a keyword to query LinkedIn search profiles dynamically.
Jeez, that's Ninja!
Note that URLs use Unicode characters like "%20" which is a space " ". So in the URL above, the LinkedIn search operators for "(VP of Sale or Territory Manager)" are written: "(VP%20of%20Sales%20OR%20Territory%20Manager)". Also, each parameter starts with "=parameterName" and are both separated by "&"
Variables are like magic: they can be ANYTHING, and you can use them almost ANYWHERE.
Crazy, right? 🤪
GOT IT NOW? NO? Feel depressed and lost, still?
Sleep a little, come back in a few days.
I hope it will click in your head as it did in my mind one day 😛.
Now let's go back to our variable selection window.
The variable window will display ALL the variables from ALL the modules of a workflow.
It means all the fields TexAu scraped on all the pages it visited will be accessible dynamically.
Those variables will be available in all modules of the workflow.
It will allow to "chain" and link modules together to create a workflow.
In srandalone automation, the process is quite similar but more limited.
First, go to the "Results" tab, then the "Spice" tab, and click the green "Result" button:
From the scraping results, click the blue button "run spice using result":
You will see this window, quite similar to the "select platform" window in workflows.
From there, select your platform:
Then choose the corresponding automation you want to process the previous result with.
By the way, that's how you chain modules together manually in TexAu. In a very similar flow that Phantombuster users know very well...
Select the variables you want to use to "link" both consecutive modules:
In this example, I tried to find a Linkedin profile from a Facebook Profile using the "name" of the profile variable (that the two modules have in common).
You will see that scrollable dropdown list of variables:
Alternatively, there is another mode that don't use variables.
This mode is used when you want to use a keyword-based query or a direct URL.
For this, change the mode by clicking the blue "Switch to Direct Value" button:
Finally, check "Process only new results" if you have a long list of profiles with potential duplicates. Checking this toggle will prevent processing twice the same profile:
Click the little dropdown arrow below to expand the complete list of variables coming from the previous automation step in the workflow:
This modal will display the complete list of scraped details of that automation (A.K.A the variables):
This list contains all the data fields we scraped in our previous module using Linkedin search results:
- url (Profile URL)
- pastJob (Past job)
- name (User name)
- firstName (First name)
- lastName (Last name)
- job (Current job)
- profilePicture (Profile picture)
- location (Location)
- query (Search query)
- category (Search result category)
- timestamp (Script execution timestamp)
Last but not least, it also contains all your local and global variables at the bottom of the list.
You will notice the way we read it is always showing THE LAST PREVIOUSLY USED AUTOMATION IN THE CHAIN ON TOP OF THE LIST.
It's precisely the opposite of how we read the flow builder, the first module in the flow at the top, the last one at the bottom.
Variable modal orientation: from newest to oldest.
Workflow builder orientation: from oldest to newest.
For the use of variables with cookies, go here:
For the use of variable as integration keys, few examples here: