> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.meetgail.com/platform/workflows/node-reference/gail/add-bulk-contacts/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.meetgail.com/_mcp/server. # Add Bulk Contacts > Creates many Gail contacts at once, ideal for spreadsheet-driven imports. The Add Bulk Contacts node creates many contacts in Gail in a single step. It is built for imports: give it a list of contact records, often the rows of a parsed spreadsheet, and it adds them all at once, reporting which succeeded and which did not. ## When to use it * You are importing a batch of people from a spreadsheet or an upload. * An earlier step produced a list of contacts and you want them all in Gail before moving on. * You want the successful contacts' IDs back so you can enroll them in a campaign in the same run. For a single person, use [Add Contact](/platform/workflows/node-reference/gail/add-contact) instead. ## Inputs | Field | What it's for | Example | | ------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------- | | Contacts | The list of people to create. Each record has a first name, last name, email, phone numbers, and business. Between 1 and 10,000 records. | The rows from a parsed CSV | | Phone number fields | When your records carry phone numbers in separate columns (such as a primary and a secondary number), name those columns here so each contact's numbers are gathered up automatically. | `phone_1`, `phone_2` | | Skip duplicates | When on, contacts that already match an existing record are skipped rather than created again. On by default, which is the safe choice. | `On` | The Contacts field is usually an [expression](/platform/workflows/core-concepts/expressions/using-expressions-in-nodes) pointing at the rows from a [Parse CSV](/platform/workflows/node-reference/files-and-documents/parse-csv) step, but you can also type a fixed list when the set of people is known up front. ## Outputs | Field | What you get back | | --------------- | --------------------------------------------------------------------------------------- | | Succeeded | How many contacts were created. | | Failed | How many were rejected, whether by a bad value or a duplicate. | | New contact IDs | The IDs of the newly created contacts, ready to feed into campaign enrollment. | | Failures | A per-row list of what went wrong, so you can see exactly which records need attention. | A few rejected rows do not stop the node. It still creates the good records and reports the rest under Failures, so a large import is not blocked by a handful of bad rows. ## Example Chen Insurance Group uploads a spreadsheet of 400 renewal prospects. A workflow parses the file into rows, hands those rows to Add Bulk Contacts with duplicate-skipping on, and gets back the list of new contact IDs. Those IDs flow straight into [Add Contacts to Campaign (Bulk)](/platform/workflows/node-reference/gail/add-contacts-to-campaign-bulk) to enroll everyone who was created into the spring renewal campaign. ![The Add Bulk Contacts node configuration panel, showing the contacts list and duplicate-skip setting.](/_fern-img/bd40c0ec436cb358ae03ea57d672d486897e32299e38fd44def43784ef5851ae.webp) > **Note** > > Leave duplicate-skipping on unless you have a reason not to. If a run is retried after > a partial import, skipping duplicates means the retry will not create the same people > twice. ## Related nodes #### [Add Contact](/platform/workflows/node-reference/gail/add-contact) Create a single contact with structured details. #### [Parse CSV](/platform/workflows/node-reference/files-and-documents/parse-csv) Turn an uploaded spreadsheet into rows to feed this node. #### [Add Contacts to Campaign (Bulk)](/platform/workflows/node-reference/gail/add-contacts-to-campaign-bulk) Enroll the newly created contacts into a campaign. #### [Add Contact to Contact List](/platform/workflows/node-reference/gail/add-contact-to-contact-list) Add the new contacts to a curated list. > Documentation for Gail, the AI platform for financial services. Learn how to set up GailGPT and Gail Agent to automate customer communications for insurance, banking, and finance.