Overview#
Accounts that announce fundraising or acquisition events make great prospects to be outreached, however tracking these events without a dedicated provider can be pretty challenging to engineer. This template demonstrates how to set up a workflow in Cargo to systematically scrape the web for news related to a company's fundraising activities and map this information into a data model.
All integrations mentioned in this template require an associated connector to be set up in your Cargo workspace. Some integrations are eligible for use with Cargo credits. See the documentation for instructions on setting up connectors and using Cargo credits.
Get started with scraping transactions news for your TAM inside a Cargo workflow#
Step 1 - Set variables#
Set up your input variables to the workflow
Inputs used in the workflow are set up in the variables node at the beginning of the workflow. This node is used to define the parameters that will be passed through the rest of workflow as inputs to the rest of the nodes.
To power this workflow, the following variables are needed:
- companyLinkedInURL: The LinkedIn URL of the company which is being tracked
- companyName: The name of the company
- personLinkedInURL: The LinkedIn URL of the person who is the CRM owner of the company
Step 2 - Company enrichment#
Enrich company details
Since the workflow relies on using the company name in a Google search, use a combination of a branch and an enrichment node.
In the template example above, the workflow uses the Waterfall.io node, but you can supplement this with multiple enrichment nodes in a waterfall logic. In addition to the company name, other details provided by enrichment (e.g., location) can be included in the Google search queries.
Step 3 - Google search#
Search the web for related transaction news
We can provide the company name noted above, along with any other helpful keywords, as an input to the Serper node in order to carry out a google search for news articles related to the company.
Serper queries can be configured with booleans to look for specific keywords such as "fundraising OR acquisition" to find relevant news. See this guide on how to use these operators inside google searches.
Step 4 - AI analysis#
Analyze news for relevance
The Serper node produces an array of web pages containing information relevant to our search query. To sift through these results, use an AI node.
First, use the .map method in a Cargo expression to map the link, snippet, and date of each item in the results array, joining them with a comma. The resulting string can then be analyzed using an OpenAI node to identify snippets suggesting acquisitions or fundraising events.
To ensure quality output, strictly define analysis rules in the system prompt of the OpenAI integration. For example, to avoid double-counting transactions in multiple articles, include rules like the following ::: Record evidence only of recent acquisitions and/or fundraisings. This is the only kind of information that matters in this exercise. Deduplicate transactions where values and dates are very similar. If the values are nearly identical and the dates are only a few weeks apart, it’s most likely a duplicate. :::
Since the goal is to obtain an object of articles, amounts, and publication dates, use the response format to structure the JSON schema of the acceptable output.
Step 5 - Upsert information#
Upsert transaction information
Once the OpenAI analysis is complete, push the gathered information back into your CRM or Cargo data model.
In the example template, we've used a model custom column upsert to populate a Cargo data model that houses company information. You can replace this with an update or upsert action using a CRM integration or an equivalent database.
Consider adding a timestamp field to trigger this workflow at fixed intervals, ensuring your TAM stays updated with the latest fundraising news.