Skip to main content

#Integration51 discussing

I am currently architecting a data pipeline for our Workforce and Continuing Education department and would love some real-world advice.

 

Our immediate goal is to set up a nightly automated flat-file (CSV) ingestion from Modern Campus (Lumens) into Salesforce EDA, and possibly our main SIS, Ellucian Colleague.

 

My primary requirement is keeping this an "admin-centric," declarative (no-code) solution so our CRM team can fully own, troubleshoot, and maintain the architecture without relying on our internal IT department. They are against any integration they have to maintain. 

 

Right now, I am weighing two cloud options:

  1. Skyvia: I am currently testing a free trial and like the visual, drag-and-drop interface for mapping the CSV to our EDA objects.
  2. Lingk: I know they are an industry standard for Higher Ed and have native Modern Campus & Colleague connectors. I have submitted several requests and haven't been able to get a hold of their sales team to actually see it in action.

Has anyone here used either of these tools specifically for Modern Campus or Colleague? I would love to hear any pros, cons, or hidden gotchas before committing to a platform. 

 

#Higher Education  #Education Data Architecture  #Integration  #Salesforce Admin

1 answer
  1. Eric Burté (DEVOTEAM) Forum Ambassador
    Today, 5:27 PM

    Hello @Carissa Hansen you an leverage Skyvia, Talend or other ETL / iPaaS solutions that you would already have in your IT ecosystem.See if the solution has on-the-shelf connectors, and see also the price / support to see which one of them will match your requirements the best. Eric

0/9000

Hi all,

 

I'm working on integrating Salesforce with Amazon S3 and a serverless image handler to manage image and video assets, but I'm encountering some challenges. I've attempted to follow a guide similar to the one outlined in https://dzone.com/articles/building-an-aws-integration-for-salesforce-image-h, but unfortunately, I haven't been successful so far.

 

I would greatly appreciate any guidance or advice from someone who has experience with this type of integration. If you have successfully implemented a similar solution or have expertise in Salesforce and AWS integrations, your insights would be invaluable in helping me overcome these hurdles. Thank you for any assistance you can provide.

4 answers
  1. Yesterday, 8:16 PM

    Recently worked on something similar and came across this thread while looking for options. If the Salesforce to S3 part is what’s causing trouble, Skyvia might be worth a look for that piece. You can use it to move Salesforce data to S3 without building the whole transfer in Apex, then keep the image/video processing on the AWS side.

0/9000

Hi All, 

I'm currently working on a Proof of Concept (POC) for the Data Consumption Framework, but I've encountered a roadblock. It seems I might be missing a step or making an error in the process. Here's a summary of the steps I've taken:

 

Created an Integration Definition (both APEX Defined and External Service Defined).

Skipped the MuleSoft Connect option as we are utilizing other External Services for data retrieval.

As per the documentation, the next step involves passing the Integration Definition to the Integration Procedure. Upon execution, it should return the desired results. However, I'm unclear on certain aspects, especially when creating an APEX-defined integration—specifically, where to set the endpoints and authentication.

 

Any assistance or guidance on this matter would be greatly appreciated.

 

Thank you in advance for your support.

 

Best regards,

 

#Trailhead  #Automation  #Integration 

1 answer
  1. Yesterday, 5:54 AM

    Short answer: For an APEX-defined Integration, the endpoint and authentication are not set inside the Integration Definition record itself — they're set inside your Apex.class that implements the DataSource.Load (or VlocityOpenInterface) interface. Inside that class's load() method, you build an HttpRequest and set the endpoint URL there, and for auth, best practice is to use a Named Credential (endpoint = callout:YourNamedCredential/path), so Salesforce handles the token/credentials instead of hardcoding them in code. 

    In the Integration Definition, you only specify: 

    • Type = "Apex Class"
    • The name of the class implementing the interface
    • The request/response JSON structure (so the Integration Procedure knows how to map the data)

     

    Then in the Integration Procedure, you just drop in an "Integration Action" element pointing to that Integration Definition — it calls your Apex class, which handles the endpoint and auth internally. 

      

    If you're using External Service Defined instead, the endpoint/auth is already configured via Named Credential when you set up the External Service itself (Setup > External Services) — no extra Apex needed in that case. 

      

    Bottom line: endpoint/auth lives in the Apex class (or Named Credential), not in the Integration Definition record.

0/9000
Hi,

I am trying to connect my sales cloud account(unlimited edition) to marketing cloud edition (Enterprise 2.0), multi org is enabled on marketing cloud side and most of the configuration like installing managed package and changing layouts are done, also salesforce integration option is done in marketing cloud side.

I am getting error "There was an error communicating with Salesforce, verify your connected app is set up properly and try again." while performing steps mentioned on https://help.salesforce.com/articleView?id=mc_co_connect_marketing_cloud_api_user.htm&type=5.

I get the above mentioned error when I try to put my username before clicking integrate.

Any help is appreciated.

Thanks in advance.
3 answers
  1. Aug 28, 4:45 AM

    Hey everyone, I ran into this exact same issue while setting up the Marketing Cloud connection in Trailhead/Sandbox and finally got it resolved. 

     

    If you are getting the error "There was an error communicating with Salesforce, verify your connected app is set up properly and try again" when clicking Integrate

    on your Marketing Cloud API user, here is the exact 2-step fix that worked for me:  

     

    1. Assign the Connected App Permission Set to the User:  

    Go to

    Setup > Permission Sets > Marketing Cloud Connected App > Manage Assignments

    . Add your CRM integration user here.  

     

    2. Add the User's Profile to the Connected App Policies: 

    If your Connected App is set to

    "Admin approved users are pre-authorized"

    , you must explicitly add the user's profile to the app.  

    Go to

    Setup > App Manager > Salesforce Marketing Cloud (click dropdown on right, select Manage). Scroll to the bottom to the Profiles section, click Manage Profiles

    , and check the box for your integration user's profile.  

     

    Once I completed both of these steps, I went back to Marketing Cloud, hit Integrate, re-entered the username, and it connected instantly! Hope this helps anyone else stuck on this step. 

0/9000

I work in the social-media tools niche, particularly around TikTok, and I’m interested in understanding how a Salesforce workflow could handle data coming from a social-media tool.

For example, if a tool collects information related to social-media content or user activity, what would be the recommended approach for sending that data into Salesforce?

Would you normally use an API integration, MuleSoft, Salesforce Flow, or another approach?

I’d also be interested in any best practices for handling authentication, API limits, and keeping the data synchronized. 

 

#Integration

1 answer
  1. Aug 27, 4:37 PM

    Good architecture question. Pick the pattern by volume and latency, not by tool first. 

     

    Direction: since the social tool collects the data, decide push vs pull. Push (the tool calls Salesforce) is best for near-real-time — expose a custom Apex REST endpoint or publish to Platform Events. Pull (Salesforce calls the tool on a schedule) suits periodic syncs — a scheduled Apex callout or a Flow HTTP Callout. 

     

    Tool by scale: 

    - Low volume / simple: Salesforce Flow with the HTTP Callout action (no code), or a low-code iPaaS like Zapier or Make. 

    - Custom logic / medium: Apex (inbound REST resource, or scheduled/queueable callouts outbound). 

    - High volume, many systems, heavy transformation: MuleSoft or a similar iPaaS — it absorbs throttling and retries and shields your Salesforce API limits. 

    - If the goal is analytics/segmentation rather than CRM records: ingest into Data Cloud instead of core objects, so you do not bloat Accounts and Contacts. 

     

    Best practices you asked about: 

    - Auth: Named Credentials plus External Credentials, never hardcode tokens. TikTok's APIs use OAuth 2.0. 

    - API limits: batch writes (Composite or Bulk API) instead of one call per record; for outbound respect the 100-callouts-per-transaction limit — move volume to Queueable or Batch Apex with backoff. 

    - Sync without duplicates: put the TikTok record id in an External ID field and upsert on it; track a last-sync timestamp for incremental pulls. 

     

    For most social-data cases, a scheduled pull that upserts on an external id, secured by Named Credentials, is the simplest reliable start — reach for MuleSoft or Data Cloud only when volume or unification demands it. 

     

    if this helps, please mark it as the Best Answer so it helps the next person — thanks 🙂

0/9000

Hello Salesforce Developer Community,

We are optimizing background listener stability and webhook handling when syncing lead payloads into Salesforce CRM endpoints.

Technical Setup:

  • Our integration layer at Frontline Sales Consultancy (flsc.co.uk) triggers automated sales notifications and syncs inbound lead pipelines via Salesforce REST Webhooks.
  • Listener sockets are configured using TLS 1.3 encryption over secure HTTPS.

The Issue:

  1. Under high concurrent transaction spikes, external POST webhook listeners occasionally hit HTTP 504 gateway timeout thresholds before acknowledging payload completion.
  2. Direct REST API calls to the org endpoints resolve normally under 150ms.
  3. Are there recommended Apex asynchronous queueable job patterns or buffer queue settings to optimize inbound payload ingestion without dropping connection sockets?

Any advice on managing high-volume asynchronous API triggers would be appreciated!

Thanks!  

 

#Salesforce Developer  #Tableau APIs & Embedding  #Integration

1 answer
  1. Aug 26, 5:03 PM

    Hey Tony, 

     

    The core fix here is architectural: your Apex REST endpoint should do almost nothing synchronously. Right now, if your handler is doing lead validation, dedup logic, or DML inline before returning a response, that's what's blowing past the 504 threshold under load, real business logic execution easily drifts past 2-3 seconds, which the gateway treats as a dropped connection. 

     

    Recommended pattern: 

    1. Inbound Apex REST method only: validates the payload/signature, publishes a Platform Event with the raw data, and returns HTTP 200 immediately. Nothing else happens in that thread. 

    2. A separate Platform Event trigger picks up the event asynchronously, does your actual business validation, then enqueues a Queueable job (implementing Queueable, Database.AllowsCallouts if you need outbound calls) to do the real processing/DML. 

    3. Cap callouts below Salesforce's 100-per-transaction limit, chain overflow records to a new Queueable automatically rather than dropping them. 

    4. If Apex's async queue itself hits a capacity rejection under heavy concurrent load, catch that exception and fall back to a Scheduled job (e.g., retry in ~20 seconds) so nothing gets silently dropped. 

     

    This decouples network response time from your actual processing time entirely, so gateway timeouts stop being a factor regardless of how complex the downstream logic is. Your observation that direct REST calls resolve under 150ms but webhooks spike under concurrency confirms it's specifically the synchronous processing inside the handler causing the bottleneck, not the API layer itself. 

     

    Also worth adding: idempotency (dedupe on a unique payload ID) since Platform Events and async retries can occasionally redeliver, and Named Credentials for any outbound calls so secrets stay out of code.

0/9000

First off, thank you to this amazing platform for enabling us to ask questions and share ideas — it's incredibly valuable! 

 

We’re currently implementing a brand new WhatsApp integration via Digital Engagement, and I was hoping to gather some best practices from those who’ve done this before.

Specifically, I have a few questions: 

 

  1. Meta Business Account setup  

    Is it best to register a

    Meta Business Account under the client’s business entity rather than using a personal Meta account? - I think this is a "No brainer - Yes"  

      

     

  2. Phone number strategy  

    Is it a good practice to:

    • Use one phone number for the Production setup, and
    • Get a separate number linked to the same Meta Business Account for the Dev/Sandbox environment to support development and testing? I believe we should not test using the Number that is in use for day-to-day business purpose.
  3. General setup advice  

    What are some “must-do” items or best practices when setting up WhatsApp for Salesforce? 

 

Any recommendations, advice and suggestions would be of great help.

5 answers
  1. Aug 25, 9:33 AM

    is the video out? I just came to know about this group thanks

0/9000

It would be good if Trailhead Trackers capabilities could

Include available points per badge

How many points a user has earned for each badge

If you complete a badge and it is the revised and extra content is added how you can be made aware

Also could certification and quest data be added so they can be assigned to users without manually creating a badge and then this data also pulled from a user’s trailhead profile

#Automation #Trailhead #Integration
1 answer
  1. Aug 20, 8:54 PM

    Hi Dan - the app is Trail Tracker (Salesforce Labs, free on AppExchange). It syncs each user's earned + in-progress badges, points and trailmixes daily via an API integration user, lets you ASSIGN badges/trailmixes, and ships with pre-built reports and dashboards. So 'how many badges/points a user earned' and assigning learning are covered out of the box. 

     

    The specific things you listed are NOT native, though: 

     

    - Available points per badge (earned vs available): it syncs what's earned, not a catalogue of available points - you'd maintain that reference yourself. 

     

    - Alerts when a completed badge is revised or gets new content: no mechanism. Trailhead doesn't surface 'this badge changed' through the sync. 

     

    - Certifications: not synced. Certs aren't badges (they live in a separate system), so it won't pull them - track those manually or via a separate integration. 

     

    - Quests: not a standard synced object either (quests are temporary badge campaigns). 

     

    The upside: Trail Tracker is a Labs app, so you get the objects and code - you can extend it (custom fields for available points, a flow to flag changes, a custom object for certs) rather than build from scratch. Out of the box, though, it's badge/points/trailmix tracking + assignment, not the full picture you're after. 

     

    If this helps, please mark it as the Best Answer so it points the next person the right way - 🙂

0/9000

We have a customer that would like to create and manage their support cases for us (we use Salesforce), instead of logging into our community to submit. I am sure this is possible, but I am not sure where to start (or IF I should)? Does anyone have any recommendations?   To be clear, our customer wants to connect their ZD org to OUR SF org. Just one customer. We do not have ZD, only SF.

5 answers
  1. Aug 20, 7:52 AM

    Best approach is typically determined by user requirements.

     

    But I would Higly reccommed to go with AppExchange product for this approcah some of the free apps below.

     

    ADL Connect - Free Salesforce - Zendesk Connector

     

    This below comparision will be helpfullBest approach is typically determined by user requirements. But I would Higly reccommed to go with AppExchange product for this approcah some of the free apps below.

0/9000

Hi everyone, 

 

I'm integrating Meta WhatsApp Cloud API → Salesforce Apex REST using a Salesforce Site.

The Apex REST endpoint works correctly when tested through Postman, and the same Meta webhook works successfully when pointed to a Render

endpoint. 

 

However, when Meta sends the real WhatsApp webhook to the Salesforce Site endpoint, the Apex @HttpPost method does not appear to execute. The endpoint is publicly accessible and the Meta messages webhook is subscribed. 

 

Are there any Salesforce-specific limitations, security settings, Guest User considerations, or other requirements for receiving external webhooks such as Meta WhatsApp directly through a Salesforce Site/Apex REST endpoint? 

 

Any guidance or known considerations would be appreciated. 

 

#Salesforce  #Integration

1 answer
  1. Aug 17, 3:04 PM

    Hi Rangadas - the pattern you describe (works from Postman and Render, but Meta's real webhook to the Site never reaches @HttpPost) almost always comes down to one thing: Salesforce is returning a redirect (a 302), and Meta - unlike Postman or a Render test - does not follow redirects, so the POST body is dropped and your Apex never runs. 

     

    Why the Site redirects, and what to check: 

     

    1. Guest user Apex class access (the most common cause). For a public Site, the Site's guest user profile must have the Apex class explicitly enabled (Site > Public Access Settings > Enabled Apex Class Access > add your class). If it's missing, Salesforce redirects the unauthenticated request toward login (a 302), which Meta silently drops - looking exactly like 'the method didn't execute'. Postman/Render either followed that redirect or you were authenticated, which is why it seemed to work there. 

     

    2. Prove it's a redirect. Hit the exact Site endpoint with curl -i (or Postman with 'follow redirects' turned off): curl -i -X POST

    https://<yoursite>/services/apexrest/<yourmapping>

    . If you see a 302 with a Location back to a login page, that's your smoking gun. 

     

    3. Exact URL + trailing slash. Make sure Meta calls the full Site path

    https://<site>/services/apexrest/<urlMapping>

    with no trailing-slash mismatch - Site URL rewriting can 301/302 on canonical differences. 

     

    4. Re-verify the GET handshake against the Site itself. Meta's initial verification is a GET with hub.mode / hub.challenge / hub.verify_token that must echo hub.challenge back. If your class only has @HttpPost, or you only verified while pointed at Render, add an @HttpGet that returns the challenge and re-subscribe against the Site URL. 

     

    5. Respond fast, process async. Meta expects a quick 200; do the heavy work in a Queueable or @future so you don't hit the timeout and trigger retries. 

     

    My money's on #1 - grant the guest user the class and re-test with the redirect-revealing curl. Also confirm the Site is Active and 'Require Secure Connections (HTTPS)' is on. 

     

    Hope that cracks it!

0/9000