Skip to main content

#SFDC Integration0 discussing

How to Upsert Multiple Object Records Using External Id In Salesforce REST API?

 

{{endpoint}}/services/data/v61.0/composite/sobjects

This is my endpoint url

And this is how i'am sending the request

{

    "allOrNone" : false,

    "records" : [{

        "attributes" : {"type" : "Account"},

        "Name" : "Test 1",

        "AccountCode" : "1234"

    }, {

        "attributes" : {"type" : "Contact"},

        "Name" : "Test 2",

        "ContactCode" : "5678"

    }]

}

]

 AccountCode & ContactCode is my external id field 

If i try to do patch with single object then it works , 

But I want to do it for multiple object in single request.

 

Thanks in advance <

0/9000

Working on a large Healthcloud Implementation with over 30 API integrations with various Epic objects for things such as medication refills, scheduling, insurance registration, patient profile to name just a few. This project also includes marketing cloud and data cloud. TIBCO is the clients middleware - Mulesoft is not being used and will not. In addition FHIR is not the API standard in use.

My question is this- what kind of performance can be expected in Salesforce when these are API calls are made ? Is this something to be overly concerned about (performance) ? Does anyone have any examples where they have done these types of integrations between Sf and Epic?

As expected Epic has not been helpful at all. In fact they would not sign an nda to allow the SF team to work with then. So SF cannot even look at screen shots so this is also a factor making this harder. I work for the client not SF. @epic @healthcloud @integrationwithepic @epicintegrationwithsalesforce

#Integration #Automation #Salesforce Health Cloud #HealthCloud #EHR #EHR System #API #Integration Tool #SFDC Integration #Data Cloud
1 comment
  1. May 8, 2024, 4:49 AM

    Aiming to reduce the burden on Salesforce and improve overall performance:

    1. Utilize Middleware Effectively:

    • TIBCO as a Buffer: Leverage TIBCO's capabilities to:
      • Aggregate and Batch Requests: Combine multiple API calls into fewer, larger batches to reduce network traffic and improve efficiency.
      • Error Handling and Transformation: Handle potential errors from Epic's API and transform data to a format suitable for Salesforce.
      • Caching: Implement caching mechanisms within TIBCO to store frequently accessed data and reduce calls to Epic's API.

    2. Optimize Salesforce Configuration:

    • Bulk API: Consider using the Salesforce Bulk API for large data loads instead of individual DML operations.
    • Asynchronous Processing: Utilize asynchronous Apex or Queues to handle API calls and data processing in the background, improving user experience for Salesforce operations.
    • Governor Limits: Be mindful of Salesforce governor limits (e.g., concurrent callouts, DML statements per transaction) and design your integration accordingly.

    3. Data Management Strategies:

    • Denormalization: If certain data is frequently accessed, consider denormalizing it in Salesforce to reduce the need for multiple API calls to Epic.
    • Change Data Capture (CDC): If only changed data needs to be synced, implement CDC mechanisms to capture updates in Epic and trigger corresponding updates in Salesforce.

    4. Integration Patterns:

    • Enterprise Integration Patterns (EIP): Explore patterns like Message Queueing or Publish-Subscribe to decouple Salesforce from Epic and improve scalability.

    5. Performance Monitoring and Optimization:

    • Monitor Performance: Continuously monitor API call performance using tools like Workbench or Apex Execution Logs.
    • Profile and Analyze: Profile Apex code and identify bottlenecks for optimization.
    • Performance Tuning: Tune heap size, governor limits, and caching mechanisms based on usage patterns.

    Additional Considerations:

    • Security: Ensure secure communication between Salesforce, TIBCO, and Epic using HTTPS and proper authentication mechanisms.
    • Error Handling and Rollback: Implement robust error handling and rollback strategies to handle potential issues during data transfer.
    • Documentation: Document the integration architecture, configurations, and procedures for future maintenance and scalability.

    Categorization based on Data Flow and Processing:

    1. Point-to-Point (Request/Reply):
      • Suitable for: Simple one-time interactions like medication refills, where Salesforce initiates a request to Epic and receives a response.
      • Considerations: High volume of calls can overload both Salesforce and Epic.
      • Optimization: Leverage TIBCO for batching requests and caching frequently accessed data.
    2. Enterprise Service Bus (ESB) Pattern (using TIBCO):
      • Suitable for: Decoupling Salesforce and Epic, facilitating asynchronous communication, and centralizing message routing (especially for many API interactions).
      • Considerations: Requires additional configuration and management of the ESB (TIBCO in this case).
      • Optimization: Improves scalability and flexibility for handling various data flows.
    3. Event-Driven Architecture (EDA):
    • Suitable for: Real-time updates or notifications, like changes in patient profiles or scheduling updates.
    • Considerations: Requires event streaming infrastructure and handling mechanisms for real-time data processing.
    • Optimization: Improves responsiveness for situations requiring near real-time updates.

    Additional Considerations:

    • Hybrid Approach: You can combine these patterns based on the specific needs of each integration. For example, use point-to-point for medication refills and EDA for scheduling updates.
    • Data Transformation: Regardless of the chosen pattern, TIBCO can play a crucial role in transforming data between Epic's format and Salesforce's format.

     

    Choosing the Right Pattern:

    The best pattern depends on the specific requirements of each integration:

    Data Volume and Frequency: High volume or frequent calls might benefit from batching or an ESB.

    Real-time Needs: Real-time updates might necessitate an EDA approach.

    Complexity and Scalability: Complex integrations with multiple objects might favor an ESB for centralized routing.

0/9000

Hi guys I am facing issue saml assertion flow I done with SSO (single sign on ) I got 2.0 oauth endpoint url I want access token

I tried with Salesforce docs help but is showing sever error 500 try cut some characters and insert it. And maybe invalid grant type please give any example

#Integration #Desktop Integration #Continuous Integration #SFDC Integration #System Integration
0/9000

Hi all,

 

I'm sure this has been asked a gazillion times, but I am just trying to get some clarity on the "why" behind it and possibly any workarounds.

The issue I'm having is that new prospects in Pardot are not creating leads in Salesforce. I know that this is just how the Pardot/SFDC integration is set up... if someone let's say fills out a Pardot form, while that person is on it's way to Salesforce, it basically checks to see if there is an existing person with the same email address in Salesforce and syncs with the existing record. 

 

As you can guess, our sales team and lead distribution team aren't getting notified of these existing "new" leads. Obviously the integration is set up this way for a reason... a reason I can guess so that duplicates aren't created. However, has anyone found a workaround to this so that these existing leads aren't slipping through the cracks? We already have completion actions set up to notify certain people so they at least get a Pardot email notification about any form submissions, but does anyone have any other ideas/thoughts/workarounds? We are getting asked by upper management to explain the reasoning behind this and provide any available solutions.

 

Thank you!

1 comment
  1. Jul 25, 2019, 7:40 PM

    My understanding and experience is exactly what you stated: Pardot does not create leads for Prospects that are matched to existing Contacts because it would create duplicates as the leads are worked in SFDC.

    A few other ideas:

    1) Create a task in SFDC when the form is completed. That way regardless of whether an existing contact is matched or a lead is created the SFDC owner has an action to take based on the form (not just an email to ignore).

    2) Add all Prospects who submit the form ato a SFDC campaign and use the campaign status to track lead distribution

    3) Record the form submission date in a custom field and have the lead distribution team use a report on that form to track existing contacts who have submitted the form.

    You could also go the route of setting up an Automation Rule that looks for form submission and CRM Status of Contact and only do one of the above when the Prospect is an existing contact. However, you'll need to set up some sort of other dependency to make sure it doesn't get applied to Prospects when they are converted from a Lead to a Contact.

0/9000

Hi ... I am looking to acquire a new Cloud based VOIP phone / Call Center Platform for small business (less than 10 employees).  SFDC Integration is critical.  I am looking at 8x8, RingCentral, Fonality.  Thoughts, comments or other suggestions are most welcome.  Thank you!!

8 comments
  1. Oct 10, 2018, 3:42 PM
    we have partnered with an AWS partner and do the integration with Salesforce - the cost savings of Amazon Connect is incredible! Let me know if you want more information
0/9000

I am helping with an implementation of lightning professional in an environment where there are 2 customer service people that use an Outlook 365 shared mailbox called customer service. they also have their own outlook accounts, but rarely use them. they are both licensed salesforce users. before i go too far, i am seeking any advice i can find on implementation in this type of environment (the shared email). I assume this can cause some complications with Outlook/SFDC integration, maybe other areas? Any advice, guidance, or resources would be greatly appreciated. Thanks.

0/9000

Hello All,

                My project is in need of integrating Global Relay (globalreay.com) to archive Salesforce conversation for compliance supervision.

               I am looking for best practices of integration methodologies with Global Relay using AppExchange apps, Connectors, custom, EMP, etc.. Also, please share any  trade-offs that you might have considered during your implementation experience.

Thank you.

 

#SFDC Integration #Integration  #Best Practices #Global Relay 

3 comments
  1. Mar 11, 2018, 2:55 PM
    No strong authentication options available for Salesforce - GlobalRelay communication. Global Relay doesn't prefer whitelisting all the salesforce email IP ranges and SF has a wide range of email server IPs, that changes often. Thats the biggest trade off I know off.
0/9000

Hi All,

Currently we are trying to sync contact object of sales cloud and subscribers of marketing cloud. Also we want to update the email behavior like open, clicks, bounces to the Contact activity in sales cloud.

 

We dont have the option to use connector as Sales cloud Team is not accepting the connector setup. And we dont have the ETL licenses that can do a daily upload between sales cloud and marketing cloud.

 

Is there any other way that we can achieve this functionality ??? Also please elaborate how it can be done.

 

Thanks in advance.

2 comments
  1. Jan 31, 2018, 5:27 PM

    If they would like to create the api calls themselves, we have a developer area that can help them with creating much of the code and I have added the link to that page below. But as Milton stated, the MC Connector is the best app to use for connecting both programs, as it uses the api to make those numerous calls. So I am also baffled as to why they do not wish to use it, as it is solid and have been used for years by other MC accounts.

    https://developer.salesforce.com/docs/atlas.en-us.mc-getting-started.meta/mc-getting-started/index.htm
0/9000

Olá à Comunidade Salesforce Brasil,

 

Eu gostaria de compartilhar um aplicativos recém lançado pelo nosso time de Marketing que irá ajudá-los e escolher a melhor ferramenta Salesforce de integração com emails.

 

Se você se pergunta qual a diferença entre Salesforce Inbox and Lightning for Outlook. E por que usar Einstein Activity Capture em vez do Lightning Sync ou vice-versa, este aplicativo será muito útil em ajudá-los a entender as diferenças, as principais características e o que é suportado ou não por estas ferramentas.

 

Esperamos que gostem: https://www.salesforce-email.com/

Integração com Emails

2 comments
0/9000

I'm trying to brain storm and solve an issue we are having: Has anyone used Pardot forms and landing pages as way to take "orders" for existing customers and push it over as a fo-lead to convert to an opportunity?  We are trying to avoid setting a community portal license in SFDC for a particular customer and use marketing automation with/in Pardot to solve this.Any thoughts or ideas would be greatly appreciated.

1 comment
  1. May 19, 2016, 7:23 PM

    I use tasks for notification into SFDC as I don't know if the prospect is a net-new and will create a lead, an existing lead in SFDC or a contact.

    Using tasks as the trigger for the new opportunity in SFDC gets around this ambiguity. You will have trouble with SFDC campaigns on the opportunities that are created off of contacts as they need to have the campaign manually associated.

    You could have custom fields to hold the product info. Custom fields in Pardot aren't visible in SFDC.

    You could set the HTML in the form to populate the comments field, which you can make visible in SFDC so the product is visible to your sales team. Some javascript in the form to move the selected products info into the comments field on form submission.

    Pardot is a great accumulator of information. It isn't so good at holding onto discrete transactions like this. You have to be careful that bits of the prior order aren't pulled into the most recent order. I get everything pushed into the Comments field, as new entries are time-stamped. This gives a delimiter from last entry to the current entry.

0/9000