Webinar attendees, conference leads, gated content downloads — push every marketing list into Salesforce automatically. Visual ETL pipeline, AI field mapping, scheduled re-imports.
Marketing teams generate constant streams of new contact data — webinar registrations, conference attendees, ebook downloads, demo requests, newsletter signups. Each of these lands somewhere (Eventbrite, Zoom, HubSpot, a Google Sheet, a CSV) and eventually needs to get into Salesforce as Leads or Contacts. The friction in this handoff costs revenue teams real money.
Marketing exports a CSV from their webinar tool. They email it to the Salesforce admin. The admin opens it in Excel, cleans up the columns, runs a deduplication check against existing Leads, fires up Data Loader (or its remaining alternatives), maps the fields manually, runs the import, deals with errors, and reports back. This process takes 30-90 minutes per list. Multiply by 10 marketing events per month and an admin is losing 5-15 hours of focused time to manual list processing.
QueryFlow turns the manual workflow into a configured pipeline that runs automatically. Configure once: drop the CSV path or warehouse query as the source, Salesforce Lead or Contact as the destination, the Field Mapper handles column matching, AI Map handles the synonym translation between marketing's naming conventions and Salesforce's. Schedule the pipeline. Marketing drops new files into a folder. The records flow to Salesforce. The admin reviews errors in the Observatory dashboard only when something fails.
QueryFlow's pipeline supports Upsert mode with external ID matching, which solves the deduplication problem for ongoing syncs. If a Lead with email jane@example.com already exists in Salesforce, the pipeline updates the existing record instead of creating a duplicate. For cases where you want strict insert-only behavior with a duplicate check first, you can run a SOQL query to filter the source data before the Salesforce write.
Marketing list imports usually need more than just creating Leads — they need to be assigned to a campaign, routed to a sales rep based on territory, and sometimes have lead source set automatically. QueryFlow supports all of this through field mapping. Set Campaign_ID__c to a fixed value or a column from the source. Set OwnerId based on a lookup from a Postgres routing table. Set LeadSource to a constant for the campaign. All declarative, no Apex required.
Marketing lists sometimes contain errors that only become visible after the import. QueryFlow keeps the source row alongside every Salesforce record it creates, so you can re-run the pipeline against corrected source data with Upsert semantics — existing records get updated with the new values, no duplicate records created. For true rollbacks, the official Salesforce Data Loader's bulk delete operation is still the right tool; QueryFlow can prepare the IDs for that operation through a SOQL query.
Marketing teams running this workflow at scale typically maintain 5-15 separate pipelines for different list types — one for webinar registrations, one for conference attendees, one for content downloads, etc. Each pipeline has its own field mappings, campaign assignment, and routing logic. New events get a new pipeline duplicated from a template in about 5 minutes. The total operational overhead for a high-volume marketing team is roughly 1 hour per month of pipeline maintenance versus 20+ hours per month of manual list processing.
Not yet via native connectors. The typical workflow is: export the webinar attendee list as a CSV, drop it in a designated folder, and QueryFlow's scheduled pipeline picks it up. Many webinar platforms also write to Google Sheets which QueryFlow connects to natively. Direct webinar platform connectors are on the roadmap.
Use Upsert mode with Email as the external ID field. QueryFlow will update existing Leads with that email and create new ones for unmatched emails. For more sophisticated deduplication (matching on email + company, for example), you can run a SOQL query as a pre-step to filter the source data, or use Flow Books to apply pandas-based deduplication before the Salesforce write.
Yes. The Field Mapper supports lookup transformations — you can join your source data against a Postgres or Google Sheets table that maps territory rules to OwnerId, then set OwnerId based on the lookup result. For more complex routing logic, use a Flow Book with Python to compute the assignment, then write the result to Salesforce.
The pipeline runs successfully but ignores the new columns. The unmapped columns appear in the Observatory log so you can decide whether to add them to the mapping. For strict workflows where unknown columns should cause a failure, configure the pipeline's strict mode.
Two patterns. First, set Campaign_ID__c on the Lead during the import — this works if you have a custom campaign reference field. Second, run a second pipeline after the Lead import that creates CampaignMember records linking the new Leads to the campaign. The second pattern matches Salesforce's standard data model.
14-day free trial. Build one pipeline this week and reclaim 5-15 hours of every month going forward.