Skip to main content
These steps get contacts or companies you already have into a workflow — no external search or CRM involved. Reach for them when you’re starting from a list you already built, a handful of records you’re picking by hand, or a payload a webhook trigger hands off.

Select contacts from list

Starts the workflow with the contacts already in one of your saved lists. It’s the most common starting point when you’ve already built the list you want to run a workflow against — through search, a CSV import, or manual curation. Settings: List (required) — the list of contacts to start the workflow with. Output: the list’s contacts, ready for the next step.

Select companies from list

Starts the workflow with the companies already in one of your saved lists. Use it the same way as its contact counterpart, for account-based workflows. Settings: List (required) — the list of companies to start the workflow with. Output: the list’s companies, ready for the next step.

Select contacts

Starts the workflow with contacts you pick manually, one by one, instead of a whole list. Good for quick one-off runs against a specific handful of contacts. Settings: Contacts (required) — the specific contacts to start the workflow with. Output: the selected contacts, ready for the next step.

Select companies

Starts the workflow with companies you pick manually, one by one, instead of a whole list. Good for quick one-off runs against a specific handful of companies. Settings: Companies (required) — the specific companies to start the workflow with. Output: the selected companies, ready for the next step.

Import contact

Creates (or matches, if one already exists) contacts from a contact payload — one object per contact, sent as a single object or an array of them, similar to a row in a CSV import. Each contact needs at minimum a LinkedIn URL, or a first name, last name, and company name. The resulting contacts flow into the next steps as if they had been selected. Settings: Contact payload (required) — the contact data to create or match. Optionally include the contact’s CRM record id. Output: the imported contacts, ready for the next step.
This step is auto-managed. It’s added automatically (and locked) when a webhook trigger declares a contact payload input, and removed automatically if that input is removed. You can’t add or remove it manually.

Import company

Creates (or matches, if one already exists) companies from a company payload — one object per company, sent as a single object or an array of them, similar to a row in a CSV import. Each company needs at minimum a LinkedIn company URL, a company name, or a website. The resulting companies flow into the next steps as if they had been selected. Settings: Company payload (required) — the company data to create or match. Optionally include the company’s CRM record id. Output: the imported companies, ready for the next step.
This step is auto-managed. It’s added automatically (and locked) when a webhook trigger declares a company payload input, and removed automatically if that input is removed. You can’t add or remove it manually.

CRM record id

Both payloads accept an optional crmId: the record’s id in your connected CRM — in HubSpot, the Record ID property (hs_object_id). Enginy stores it on the imported contact or company, so a later export updates that exact CRM record instead of creating a duplicate.
  • It never counts toward the minimum fields above — a payload carrying only a crmId is rejected.
  • It is not verified against the CRM. Sending the id of a record that doesn’t exist makes the export fail on that record instead of duplicating it.
  • If the id doesn’t match anything in Enginy and the other fields match a record already bound to a different CRM id, a separate record is created rather than rebinding the existing one — that pairing usually reflects two records for the same company in your CRM.