Identifying flowHandle and connector ID in Celigo

Comments

8 comments

  • Official comment
    Jérémie Denis
    Engaged
    Awesome Follow-up

    Hello Praveen Kumar Reddy Basani

    Thank you a lot for your support, and I confirm it worked well :)

    Here below some lines of code that can help the community.
    This code will simply process a list of records by using a specific FlowHandle and Connector Id :

    List<String> flowHandles = new List<String>{rtSync.integrator_da__GUID__c};
    System.debug('Celigo_Integration.processSObjectToBC : GUID = '+flowHandles);
    integrator_da__.RealTimeExportResult res2 = integrator_da__.RealTimeExporter.processExport(recordList, flowHandles, connectorId);
    System.debug('Celigo_Integration.processSObjectToBC : res2 = '+res2);

    Since we have quite some different flows, we gave some specific Connector Id :

    // Those 'Connector Ids' are set manually on the 'Real Time Sync' record
    public static String accountConnectorId = 'Account_Connector_Id'; // for Account (Insert and Update)
    public static String contactConnectorId = 'Contact_Connector_Id'; // for Contact (Insert and Update)
    public static String addressConnectorId = 'Address_Connector_Id'; // for Address (Insert and Update)
    public static String accountDeleteConnectorId = 'Account_Delete_Connector_Id'; // for Account Deletion
    // Complete list of Connector Ids
    public static Set<String> connectorIds = new Set<String>{accountConnectorId,contactConnectorId,addressConnectorId,accountDeleteConnectorId};

     

    Then a property is used to easily map the Real Time Sync with the corresponding Connector Id :

    I hope it cal help others :)

  • sushil patil Senior Product Manager
    Celigo University Level 2: Seasoned
    Engaged

    Hello Nuri Ensing are you using Salesforce - Microsoft Business Central IA or building a custom flow? 

    0
  • Jérémie Denis
    Engaged
    Awesome Follow-up

    Hello sushil patil
    I'm a colleague of Nuri, and I'm developing the Salesforce Apex part.

    In the current code we use the Apex line :

    integrator_da__.RealTimeExportResult res = integrator_da__.RealTimeExporter.processExport();
     
    Which works well, and is sending all the records that are in the current trigger.
    But if we want to exclude some records and only push specific records, I though we could use the method :
    processExport(List l, List flowHandles, String connectorId)
    But we don't know what needs to be put in the parameters List flowHandles and String connectorId.
    Here below the commented code where we tried unsuccessfully to use that method (Celigo is not receiving the records) :

    Is there any documentation about the method ?

    integrator_da__.RealTimeExporter.processExport(List l, List flowHandles, String connectorId)
     
    Regarding your question "are you using Salesforce - Microsoft Business Central IA or building a custom flow" I think Nuri is building a custom flow.
     
    Thank you
    0
  • Nuri Ensing NetSuite Integration Whiz
    Celigo University Level 4: Legendary
    Awesome Follow-up
    Engaged

    Hi all,

    Thanks for replying both. I am indeed building a custom flow.

    0
  • Praveen Kumar Reddy Basani Senior Product Manager
    Celigo University Level 4: Legendary
    Engaged
    Great Answer

    Hi Nuri Ensing and Jérémie Denis

    In the snippet Jérémie Denis shared, there is an export Id and connection Id. Which ones are you using here?

    Ideally, these are GUID and Connector Id on the realtime sync record in Salesforce. See screenshot for reference. Can you confirm if these are what you are using in the method?

    0
  • Jérémie Denis
    Engaged
    Awesome Follow-up

    Hello Praveen Kumar Reddy Basani

    Thank you a lot for the explanation.

    I needed to create in Salesforce an Object Tab and a Permission Set in order to access the 'Real Time Sync' records.

    But the 'Connector Id' is empty :

    Should we maybe give ourselves an Id ?

     

    I see that the GUID is a concatenation of an Id that we found in Celigo (in the URL) and the Salesforce Org Id.
    In the Salesforce Apex method ''integrator_da__.RealTimeExporter.processExport(recordList, flowHandles, connectorId)"  I suppose that the parameter 'flowHandles' should be the complete GUID ?

    Thank you a lot for your support,

    0
  • Praveen Kumar Reddy Basani Senior Product Manager
    Celigo University Level 4: Legendary
    Engaged
    Great Answer

    Hi Jérémie Denis,

    You can give your own Id for Connector but make sure this is unique. You are also right on the GUID. A complete GUID needs to be given as the parameter.

    0
  • Praveen Kumar Reddy Basani Senior Product Manager
    Celigo University Level 4: Legendary
    Engaged
    Great Answer

    Great to see that it worked #Jérémie Denis. Also, appreciate the time you've taken to put this together and help the community.

    0

Please sign in to leave a comment.