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
Get access
Apache Hop pipeline (.hpl)
Available to Putki subscribers
Pipeline
read-csv
CsvInput
filter-no-email
FilterRows
normalize-fields
ScriptValueMod
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 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.