Identifying flowHandle and connector ID in Celigo
Hi,
I am currently working on a Salesforce integration using Celigo and need some help identifying the correct flowHandle and connector ID for my integration. I want to use the processExport() method in Salesforce to trigger a specific flow in Celigo based on certain conditions (when a mass update is done, only trigger changed records), but I am unsure how to find the required parameters.
Here’s an example of the method signature I am trying to use in Salesforce: processExport(accountsToProcess, flowHandles, connectorId);
Could anyone please guide me on how to find the flowHandle and connector ID for my integration within the Celigo user interface or using the API? Any help would be greatly appreciated.
Thank you in advance!
-
Official comment
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 :)
-
Hello Nuri Ensing are you using Salesforce - Microsoft Business Central IA or building a custom flow?
0 -
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 you0 -
Hi all,
Thanks for replying both. I am indeed building a custom flow.0 -
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 -
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 -
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 -
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.
Comments
8 comments