Skip to Content
Back to templates
// Template · CRM

Trade Show Lead Import

Reads a CSV of contacts collected at a trade show or event, filters out incomplete records, normalises the name fields, and creates new leads directly in Odoo CRM — so your sales team can start following up without any manual data entry.

CRM ERP Sales 4 transforms Apache Hop
Download .hpl
Apache Hop pipeline
Created May 18, 2026
Putki 2026.03+
Pipeline
read-csv
CsvInput
filter-no-email
FilterRows
normalize-fields
ScriptValueMod
Odoo
Putki
create-leads
OdooInsert
How it works

Drop your event contact list as a CSV, point the pipeline at it, and run. Every contact with a valid email address becomes a lead in Odoo CRM. No duplicates are checked — this template is designed for new contacts from a specific event. If you need deduplication, use the Odoo Upsert plugin instead.

1
Read the contact list from CSV
CsvInput reads the file at CSV_FILE_PATH and expects six columns: first_name, last_name, email, phone, company, and notes. The header row is required. Fields are trimmed automatically.
2
Filter out contacts without an email
FilterRows discards any row where email is null or empty. Leads in crm.lead without an email are nearly useless for follow-up — this keeps the pipeline's output actionable. Discarded rows are silently dropped with no error.
3
Build the lead name
ScriptValueMod combines first_name and last_name into contact_name, then builds the lead title as Contact Name - Company (or just the contact name if no company is present). These two computed fields are added to the stream.
4
Create the leads in Odoo
The Putki Odoo Insert plugin creates one crm.lead record per row. Fields mapped: name (lead title), contact_name, email_from, phone, partner_name (company), and description (notes). Processed in batches of 50. Salesperson assignment uses Odoo's default — configure it in the CRM settings or assign manually after import.
CSV format

The pipeline expects a CSV with a header row and these six columns. Column order does not matter — fields are matched by name.

Column Description
first_nameContact's first name
last_nameContact's last name
emailEmail address — required. Rows without this field are discarded
phonePhone number — optional
companyCompany name — optional, appended to the lead title
notesFree-text notes from the event — mapped to the lead description
What you need
·
Putki subscription
Access to the Odoo Insert plugin, included in all Putki tiers.
·
Odoo API access
An Odoo user with write access to crm.lead, plus your database URL and API key. The CRM module must be installed.
Required plugins Odoo Odoo Insert
Parameters
CSV_FILE_PATH
Full path to the trade show contacts CSV file
default: /data/leads.csv
ODOO_CONNECTION
Name of the Odoo connection in your Hop project metadata
default: odoo
Details
Type
Pipeline (.hpl)

Transforms
4

Odoo model
crm.lead

Putki version
2026.03+

Created
May 18, 2026
Use case
Import contacts collected at trade shows, conferences, or events directly into Odoo CRM as leads. Run once per event — no scheduling needed.