Expand my Community achievements bar.

SOLVED

Capturing Real-Time Events in Adobe Experience Platform

Avatar

Level 3

Hello,

I need to capture Adobe I/O Events for the following actions as quickly as possible:

  1. New Profile Creation: When a new Real-Time Customer profile is created.
  2. Profile Update: When an existing Real-Time Customer profile or any of its related objects (custom or native) are updated.
  3. Profile Merge: When two or more (Customer) profiles are merged into one.

These events need to trigger webhooks to sync downstream systems with AEP in NEAR real-time. Any tips on ensuring these events are fired promptly?

Thank you!

 

Topics

Topics help categorize Community content and increase your ability to discover relevant content.

1 Accepted Solution

Avatar

Correct answer by
Level 6

Excellent, Hope this solves your design. 

Please mark this thread accordingly .

 

~cheers,

Naresh Nakirikanti.

View solution in original post

10 Replies

Avatar

Level 6

Hello @Jean_FabioBa given current platform capabilities there is no such I/O events for your use case, however given your licensing SKU's you can leverage alternative services to achieve few of this.

 

Streaming mechanism: If you have Ultimate package, you could use HTTP API destination, Amazon Kinesis, Azure Event Hubs to handle by creating streaming segment includes all the profiles and add mapping with Audit Attributes for updates

https://experienceleague.adobe.com/en/docs/experience-platform/destinations/how-destinations-work/pr...

 

Batch Mechanism: If you data distiller you can schedule a query based on some audit attributes from profile snapshot dataset to a derived dataset after daily global segment job and activate dataset to batch destination and process acordingly.

 

I hope this helps to some extent to solve your case, let me know if you more details.

 

~cheers,

Naresh Nakirikanti.

 

 

Avatar

Level 3

Hi Naresh,

 

Thanks for the information. I'll check, but I don't think we have the Ultimate version, unfortunately.

 

Is there no way to sync profiles to an external system like Salesforce in real time?

 

Our goal is to collect all lead sources directly into AEP. Once AEP creates the unique customer profile, we need it sent to Salesforce quickly so our sales team can act on leads within 5 minutes of data ingestion.

 If you look at the high-level diagram, leads would ALWAYS have a unidirectional flow from AEP to Salesforce.

Jean_FabioBa_0-1722375758003.png

This seems like a common use case. Any alternatives for fast syncing in our case?

 

Thanks!

Avatar

Level 3

Hi Naresh,

Thinking about the BATCH Mechanism (Custom Middleware?) you mentioned:

Would it be feasible and cost-effective to set up it in a way that:

  • Polls AEP via API every minute?
  • Returns only profiles created or updated since the last successful poll?
  • Identifies profile merges so we can inform other systems?

The middleware would publish these events to our Enterprise PubSub, which Salesforce subscribes to.

My concerns are:

  • Is it okay to poll AEP every minute? Is there any throttling on how many times we could call that AEP API?
  • Would this strategy incur additional costs?
  • Can we identify profile merges in the polled data?

The MERGE "event" needs to be created in that Middleware, and to be effective (in Salesforce) it would need relevant information about the MERGE profiles. 

Maybe this API could be used as a starting point? 


This is a pseudo-payload to try to better clarify the goal here:

 

{
  "transactionId": "unique-transaction-id",
  "transactionTime": "2024-07-29T12:34:56.789Z",
  "eventType": "profileMerged",
  "winningProfileId": "winning-profile-id",
  "losingProfileIds": ["losing-profile-id-1", "losing-profile-id-2"],
  "mergeTimestamp": "2024-07-29T12:34:56.789Z",
  "mergeDetails": {
    "profilesMerged": 2,
    "source": "Identity Service",
    "additionalInfo": "Merged due to email match"
  }
}

 

Thanks

 

Avatar

Level 6

@Jean_FabioBa There is no such product feature on polling profiles and finding deltas, on create, update and merge.

 

The Entites API wont work for your case, please the request parameters on identity which might not have before hand.

 

Given broader requirement shared : have you done feasibility analysis with Salesforce CRM connector?

https://experienceleague.adobe.com/en/docs/experience-platform/destinations/catalog/crm/salesforce

 

~cheers,

Naresh Nakirikanti.

 

 

Avatar

Level 3

Yes, Salesforce connection won't work for us, as it only work with Leads and Contacts, not with Custom Objects.

The HTTP API seems to be what we need, but unfortunately it only work on the most expensive version of AEP.

https://experienceleague.adobe.com/en/docs/experience-platform/destinations/catalog/streaming/http-d....

Avatar

Level 3

For each Lead we can have 1 or More Product Interest objects (custom objects in Salesforce).

So AEP would capture this information along side the Unique Profile of the Lead.

Jean_FabioBa_0-1723053314013.png

 



Feel free to ask more if needed. 

Avatar

Level 6

@Jean_FabioBa  few questions about upstream and downstream.

 

AEP 

1) is 1:M relationship is modelled as array of values or XDM events? If possible share the  conceptual data model via private message.

 

Salesforce

1) If possible share the conceptual data model via private message.

 

Based on your given artifacts and AEP licensing SKU's I recommend you to evaluate batch solution with ETL or salesforce automation studio ( if its available as part of your technology stack) for ingesting the data to CRM.

 

~cheers,

Nares Nakirikanti.

 

Avatar

Level 3

Hello,

Great news! We now have the ULTIMATE version, so HTTP Destination is back in play. This means we can publish profiles (creation or changes) in a streaming fashion to our PubSub, and then to Salesforce (that would consume those messages from PubSub).

We need to get those profiles out of AEP quickly, so ETL won't work for us.

Thank you so much for your time and help. I really appreciate it!

Avatar

Correct answer by
Level 6

Excellent, Hope this solves your design. 

Please mark this thread accordingly .

 

~cheers,

Naresh Nakirikanti.