Česká spořitelna, banka, kterou v Česku zná asi každý. A v Salesforce komunitě asi každý ví – protože headhunteři už museli každého oslovit alespoň dvakrát – že používají Salesforce. V roce 2023 začali s implementací, o rok později šlo do živa první MVP a od té doby to rolují na další a další věci a Salesforce je tak jedním z hlavních stavebních kamenů jejich systémů.
Podcast jsme plánovali dlouho, ale nakonec vznikl – jako většina skvělých věcí – v podstatě ze dne na den. Ohromné díky Spořce za jejich interní studio, které se postaralo o skvělou kvalitu zvuku a my jedno brzké ráno věnovali povídání s Martinem Vágnerem a Michalem Řehákem. Čas byl omezený a tak mám pocit, že je to asi jeden z nejrychleji mluvených podcastů co jsem kdy natočil, tak případně si to zpomalte.
Zápisky
Salesforce ve Spořitelně není „jen CRM“, ale celý ekosystém, který propojuje sales, service, marketing, data i interní procesy.
CRM v bance neslouží jen k evidenci klienta, ale hlavně k řízení interakcí, přípravě na schůzky a podpoře poradenství.
Velké organizace netrpí technologií, ale hlavně procesy, prioritami a stakeholder managementem.
Procesní změna je často náročnější než samotná technická implementace.
Cílem není přepis starého systému, ale zjednodušení a inovace procesů, ideálně jejich úplné odstranění.
Vendor lock-in existuje vždy, ale důležité je vědomě ho řídit, maximalizovat jeho hodnotu, držet systém standardní a udržitelný. Největší riziko není vendor lock platformy, ale závislost na jednom dodavateli lidí/know-how.
AI už dnes pomáhá (např. knowledge chatbot), ale největší bariéra je regulace, ne technologie, plně autonomní poradenství je zatím legislativně problematické
Budoucnost: AI asistenti pro bankéře, kteří připraví schůzku, doporučí produkty i styl komunikace.
AI není jen o byznysu – má velký dopad i na vývoj – urychluje prototypování, mění roli seniorních vývojářů, vyžaduje nový mindset. Ne každá AI dává smysl – je potřeba oddělit „fancy“ use-cases od těch, které skutečně přinášejí hodnotu.
Největší problém velkých transformací – adopce uživatelů a komunikace změn, ne samotná technologie. I při skvělé adopci platí, že uživatelé často neví, že funkce existuje, pokud není dobře komunikovaná. A i potom.
Klíčový faktor úspěchu není jen technologie, ale lidi, kultura týmu a schopnost spolupracovat napříč organizací.
AI here, AI there, AI everywhere. A while back Salesforce announce their integration with ChatGPT, a week ago a customer asked about report creation they will import into Claude which will do its magic, two weeks ago a CEO of a customer asked me to setup integration with Claude Code because he has some spare time and want to play with it.
And while I do use AIs and LLMs for some tasks (like podcast summaries) I’m not really a super heavy user who would understand what they really want to do with that. Meaning it didn’t really have a high priority on my tasks list, but eventually I got to it.
I hoped that Sally would show me everything in her video, but it was just first part, developer heavy and I didn’t get much out of it.
Luckily there is a documentation – which I found before – and I went through that, did all the settings and failed. Hence this article, where I will share the updates I found and maybe explain why I feel it makes sense for regular users to connect it as well.
Step 1 – Enable MCP server
When you google how to connect Claude with Salesforce you won’t find this article, but without it the authentication will fail with super weird error 405 method not allowed.
Let’s start with that and enable MCP servers in Salesforce.
If that sounds like some mambo jumbo to you I’m not surprised, but somehow behind the scene when AI asks Salesforce when it can find something or what fields are available it will give it the answers. As you can see on the screen and in the relevant article, there are plenty of different servers/end points and you enable the ones you like. I especially like the sobject-reads which will give you read only access, no worries AI will mess anything in your org.
Open the record you like and hit the Activate button and step 1 is completed.
Step 2 – External Client App
The relevant article is easy to follow, but when you set it as specified it won’t work – some scope is missing. After some googling around I found out which one – the mcp_api is crucial one!
Save, wait some time to propagate everything across servers and get the Consumer Key, you will need to add into Claude.
Step 3 – Connect Claude
Surprisingly or even maybe shockingly, Claude doesn’t have a dedicated Salesforce connector, so you need to add it manually. Good news for bigger companies – the Claude Owner/Admin can add it on the org level and users will just connect it with their own credentials.
If you want to do it manually just follow the respective article, this one works. Actually it might be better to copy the URL from the Step 1 as it is listed there clearly (and have different URL at the same time).
Settings, Connectors, Custom Connector, ugly looking URL at the of which you will add the server you like and enabled in Step 1 (no need if you copy the URL from the Step 1). In the OAuth Client ID you will paste the Consumer Key from previous step.
Success, hopefully. If not pay attention to the URL of the error page, most likely at the end you can spot what is wrong:
app doesn’t exist means wait a bit longer/double check the Consumer Key
invalid Scope – most likely you didn’t add all the scopes, including mcp_api
405 method not allowed – most likely the MCP server is not enabled.
Step 4 – Use it
I suppose you might struggle how to use it and I was the same. But then I came with simple use cases, it gave me some data which looks relevant and save some time.
For CzechDreamin I wanted to analyze who are our top speakers – meaning they spoke the most. We have every single one as a lead in our Salesforce. As a lead for every single year they submitted a topic/spoke. When Data Cloud 360 came we tried to unify them and while it kind of worked it needed some admin work for setup and wasn’t really user friendly to get this statistic. Running a report might work but it is a lot of clicks -> Claude to save me!
Can you analyze all our leads of type Speaker and tell me which email address is the most common one (top 10). Make them unique by year (count only once per year). Count only those accepted (or in working status), basically anything besides declined. Can you also parse https://czechdreamin.com/2024/ and https://czechdreamin.com/2025 and extend it with speakers from these years (map them across the years also by name in its fuzzy form)
I can imagine you will not want to get my requirements in such form, but Claude managed. A lot of thinking from its side, a few clicks to approve their approach and what they will query from Salesforce and we are done. I must admit this conversational analysis is super cool thing!
Key findings after adding 2025:
Aaron Crear remains #1 — now confirmed across 5 years (2019, 2020, 2023, 2024, 2025)
Melissa Shepard, Katka Vokrinkova, Mark Jones, George Avilov, Pei Mun Lim, Todd Halfpenny, Hanna Nimchuk, Lukas Vavrin, David Fernandez Rivero all gained a 2025 year, jumping to 3–4 total appearances
Several 2025 speakers (like Andrew Fawcett, Markus Fröhler) appear website-only with no SF Lead record — worth checking if they should be created
I must admit that I start seeing the value and maybe being braver and allow the write access as well so it can create tasks for me, update opportunities etc would be worth it.
Check my salesforce and tell me how many opportunities we have for this year
You have 3 opportunities for 2026, all currently in the „Invoice sent“ stage with a 95% probability. Here’s the breakdown:
Opportunity
Amount
Close Date
XXXX 2026 (Silver)
$1,100
Jan 31, 2026
YYYY 2026 (Gold + DemoJam)
$5,700
Jan 31, 2026
ZZZZ 2026 (Silver)
$4,400
Feb 28, 2026
Total pipeline value: $11,200 — and since all three are at 95% probability, you’re in great shape to close them. Would you like to dig into any of these further?
can you mark all the opportunities you listed above as Closed Won?
I have the 3 opportunity IDs from earlier. Let me update all three simultaneously.All 3 opportunities have been marked as Closed Won ✅ Total closed: $11,200. Nice work! 🎉
actually create a follow-up task for me in a week time to check whether they have all information for each of those opps.
Good, got your user ID. Now creating 3 tasks — one per opportunity — due in a week (April 28).All 3 tasks created and linked to their respective opportunities, due April 28 ✅
They’re assigned to you (Martin Humpolec) and will show up in your SF task list and activity timeline on each opp.
I always have a feeling it takes for ever, but it is probably quicker than open Salesforce and go one by one or even mass update from a list view. Yes, they all have been updated to Closed Won a few seconds later and tasks have been created.
And I’m probably sold, this conversational work – which compared to my previous experience is really spot on and doesn’t need to constantly confirm that it found the right records and everything – makes it easy to work, maybe instead of typing use voice and much more.
I’m pretty sure I’m just scratching the surface of what is possible and you do on daily basis – will you share some example how you utilize it or what you feel it will allow you to do?
Another great user group (actually it happened a month ago already :-)), this time we spoke with Leanne about what it takes to be a business analyst. It might surprise some people that you aren’t (should not be) just a transcriber, that you are and should be curious and understand the requirements fully as only then you can design solution which would fit your need and probably solve also the need you didn’t realize you really have.
A few of my notes:
“Accidental admin” is the norm Many people don’t plan a career in Salesforce — they grow into it by solving real business problems, which leads to a very practical mindset.
End-to-end thinking > platform thinking A strong BA looks beyond Salesforce:
understands integrations (e.g. SAP)
sees the full business process
avoids siloed responsibility
Users don’t care about systems — only outcomes They interact with one interface, but expect everything behind it to work seamlessly.
Delivery often fails before it starts The real issues are:
poor data
unclear processes
missing ownership
“You can’t automate what you can’t trust” Bad data = unreliable automation → validate data readiness early.
AI / buzzwords must be translated into outcomes “We want AI” → define:
measurable goals
specific capabilities
Start with enablers, not shiny features Before advanced solutions:
fix data
clarify processes
ensure visibility
Success metrics are often missing Teams build and move on without checking impact → no learning loop.
Curiosity builds trust, not resistance Asking thoughtful questions (instead of pushing back directly) leads to better collaboration and better solutions.
Stakeholders must co-own solutions Involving them early → stronger adoption, better outcomes, and internal champions.
Check the recording on your own! And presentation if you wish to just quickly skim through.
Neziskovým organizacím Salesforce poskytuje v rámci své Pledge 1% aktivity 10 licencí zdarma a v Česku (i ve světě) to hodně organizací využívá. Ať už pak ke své činnosti používají AFN (Agentforce Nonprofit), NPSP (NonProfit Success Pack) nebo čistý Sales Cloud případně rozšířený o balíček FPack, který zajišťuje napojení na okolní systémy, které se typicky v Česku používají (banky, Darujme.cz).
Interesting question every then and now – do we need to purchase a middleware or do a point-to-point integration?
When I recall all the CTA related scenarios, there probably wasn’t any, where we wouldn’t propose ESB in the picture. But worth to know that these solutions don’t have any budget constrains which makes real life decision a bit different.
All the points in the article are valid, but the real life might be different, like on our last project.
Imagine a company, which has existing Salesforce implementation, connected to their DWH via Pentaho, because that’s a tool they know and use for everything. Now they are entering phase 2 with 8 more integrations and the question is obviously on the table.
The answer is not that clear anymore, once you describe the integrations:
Company register, when they are creating a new account in SF they want to just enter its identification number and get all the details from the government run register – no typing, no extra clicks, load also relevant contacts;
Being able to check the company health via a dedicated provider – click on a link, it will open the website with already filtered out the respective company. There is no write back of data into the system, just visual check how it looks now and whether we can proceed with doing business with the company;
eSignature of orders (think DocuSign or similar);
LinkedIn integration as additional source of contacts;
Sending SMS based on activities done in the system and as a reminder for meetings;
Integration with mass mail sending system;
And the list goes on. What might have look pretty clear at the beginning – 8 separate systems to integrate with obviously might be a great reason for purchasing ESB solution.
But when you describe the system and use cases it isn’t so clear to me anymore.
You ask why?
Let’s go one by one:
You will need to develop the custom LWC component which would wrap the logic and user interaction. You can call the end system directly from here or call ESB which would call the system. Added value? When you will change the data provider you can just change the mapping on the ESB level and not touch the SF side at all. But how often that would happen and is it really easier than change the logic in the Apex controller or Flow? Because we would not use any other benefit of ESB – such as retry, load balancing, etc. We might still use it to store the debug or track the usage off-platform, but we can probably do it easily on SF side as well;
This is just a URL link with some identifier – most likely the company identification number – at the end, no added benefit of opening the URL via ESB which would just redirect elsewhere;
eSignature and all the following share one main reason – most likely there is already an existing AppExchange app, which handles that, you can just install and configure it and be up and running. Do you really want to develop your own LinkedIn integration (impossible) or integrate the emailing system from scratch? There is no point and the ESB doesn’t provide any value here.
When does it make sense?
To me the use cases are pretty clear when typically looking in the mirror as the typical company slowly evolves and add additional systems in the landscape. What made sense to do point-to-point at the beginning (like connecting SF to DWH directly) suddenly doesn’t make much sense as you need to develop each integration on its own, update all the data mapping on multiple places if new tables are added, etc.
Once you have complex integration where you need to query one system, based on results query another one, transform data and then act on them – that might be great use case.
When you have a lot of calls going here and there and you might be able to use ESB as some kind of cache to save on the SF calls.
When you need to update data during night based on external system it makes sense to run it off-platform and don’t waste scheduled job development on SF side.
When it is happening in the background and you need to have a way to retry failed operations – it might be easier to do on ESB side rather than develop on SF side.
When you need to connect to on-prem systems and IT isn’t willing to open a firewall to you – you will most likely want to run this operation from inside and just call out to Salesforce.
Not the easiest decision
What looked like an easy choice at the beginning isn’t that easy at the end. You rarely have all the information at start, the fixed system landscape, understanding of the complete data flow. Starting point-to-point might be easier and then, a few years down the road, you will realize it wasn’t the best choice and you should redo everything. Sad, but probably no one should be blamed, that’s life.