Genesys Cloud - Main

 View Only

Sign Up

  • 1.  Lead ID and Genesys Contact ID Mapping for Bulk Contact Uploads

    Posted 11 days ago

    Hi Team,

    Our client has a requirement to  upload contact lists from an external system and maintains a mapping between their internally generated Lead ID and the Genesys Contact ID. (Lead ID will be a column in the contact list)

    They plan to upload approximately 1.5 million contacts at the beginning of each month and can also upload them in batches.

    One option is to use the following API:

    POST /api/v2/outbound/contactlists/{contactListId}/contacts

    Based on community discussions, I understand that a maximum of 1,000 contacts can be added in a single API request. The advantage of this approach is that the API response returns the Genesys Contact ID, which the client can use as a unique reference and map back to their Lead ID.

    However, uploading 1.5 million contacts would require approximately 1,500 API requests. The client would like to understand the expected processing time per request and the overall time required to upload all contacts.


    Option 2 

    Another option is to use a CSV import for bulk uploads. We could include the client's Lead ID as a custom column in the CSV file so that it is stored in the contact list.

    However, in this approach, how can the client obtain the Genesys Contact ID that is generated for each imported contact? Is there a supported way to retrieve the mapping between the imported Lead ID and the corresponding Genesys Contact ID after the CSV import is completed?

    Has anyone implemented a similar solution or found a recommended approach for this use case?


    #Outbound

    ------------------------------
    Nivedraj P
    x
    ------------------------------


  • 2.  RE: Lead ID and Genesys Contact ID Mapping for Bulk Contact Uploads

    Posted 11 days ago

    If I am understanding ask correctly I did something like this a couple years ago.

    My notes indicate the ID in the POST request in Option 1 can be YOUR unique Lead Id, emphasis on it being Unique. That will become the contact Id and can be referenced as such without a need to link to a Genesys generated GUID (which it does when using UI to create).

    The other side of that which was useful is you can also have these Lead Ids in a DNC list if you need to prevent any being called.

    The below payload is from my old notes so may be out of date now, but shows the idea. Where UniqueId would be your lead Id

    		[
    		  {
    		    "id": "UniqueId1",
    		    "contactListId": "13a8e583-4bb8-4def-bfdf-62b64085a3b8",
    		    "data": {
    		      "Lead Ref": "102000",
    		      "First Name": "FirstName 1",
    		      "Last Name": "LastName 1",
    		      "CreatedOn": "2023-11-06T12:30:00.000",
    		      "Tel1": "0781500000"
    		    },
    		    "callable": true,
    		    "phoneNumberStatus": {
    		      "Tel1": {
    		        "callable": true
    		      }
    		    },
    		    "contactableStatus": {
    		      "Voice": {
    		        "contactable": true
    		      }
    		    }
    		  }
    		]
    


    ------------------------------
    Simon Brown
    Maintel Europe Limited
    Senior Applications Consultant
    ------------------------------



  • 3.  RE: Lead ID and Genesys Contact ID Mapping for Bulk Contact Uploads
    Best Answer

    Posted 10 days ago

    Hi, @Nivedraj P,

    For this volume, I would first validate one important limit: a single contact list has a maximum of 1 million contacts. So, for 1.5 million records, the design would likely need more than one contact list.

    For the API approach, POST /api/v2/outbound/contactlists/{contactListId}/contacts is useful when you need the Genesys Contact ID returned immediately, because you can store the mapping between your Lead ID and the generated Genesys Contact ID at the time of insert. But for 1.5 million contacts, I would be careful with processing time, rate limits, retry logic, and API response time. I would not assume a fixed processing time per request without doing a volume test in the customer org.

    For bulk monthly uploads, I would lean toward CSV import if the contacts are already available as a file. You can include the customer Lead ID as a custom column, and I would also configure it as the unique identifier column if it will be used for future updates/appends.

    After the import completes, you can export the contact list records. The exported CSV includes both the custom uploaded columns and Genesys system-generated columns, including inin-outbound-id, which is the internally generated contact ID. That means you can use the exported file to map:

    Lead IDinin-outbound-id

    So the recommended design could be:

    1. Upload/import the CSV with Lead ID as a custom column.

    2. Use Lead ID as the unique identifier column, if applicable.

    3. After import completion, export the contact list.

    4. Read the exported CSV and store the mapping between Lead ID and inin-outbound-id.

    If the client needs the Genesys Contact ID immediately during the insert process, then the API batch approach is better. If the mapping can be built after the import finishes, CSV import + export is usually cleaner for this volume.



    ------------------------------
    Arthur Pereira Reinoldes
    ------------------------------



  • 4.  RE: Lead ID and Genesys Contact ID Mapping for Bulk Contact Uploads

    Posted 10 days ago

    Hi Arthur,

    By default, the maximum number of contacts in a contact list is 1 million. We have raised a case with Genesys to increase this limit to 5 million.

    The CSV file upload approach seems to be a good solution. I will suggest this approach to the client.

    Thanks for the suggestion



    ------------------------------
    Nivedraj P
    x
    ------------------------------