
OK
About David Masri
Previously Dave was the Director of Professional Services at Plative, a Salesforce Silver Partner. Before that he was the Technical Director of Data Strategy and Architecture for Capgemini Invent's Salesforce Practice. He has more than 20 years of hands-on experience building integrated ERP, BI, e-commerce, and CRM systems, and for the past seven years has worked exclusively with the Salesforce platform. Dave holds more than ten professional certifications, including nine Salesforce certifications, the PMP (Project Management Professional), and Google's Data Engineer Certification.
David is a lifelong New Yorker, born and raised in Brooklyn NY, where he currently lives with his loving wife Nancy and their kids Joey, Adam, Ally and Lilly.
Customers Also Bought Items By
Are you an author?
Author Updates
-
-
Blog postA few weeks ago, I gave a talk at the UK Salesforce Republic meetup titled "Winning the War against bad CRM Data". I covered exactly that, first a discussion on the root causes of bad CRM Data and then a deep dive into a 5-step battle plan. If you missed it, here is the recording!3 months ago Read more
-
Blog postIf you missed my Xforce session talk last week (9/24/2020) the recording is now available online! Salesforce Data Migrations and Attribute Driven Design.4 months ago Read more
-
Blog postI recently had the pleasure of being a guest on Xi Xiao's podcast "Salesforce Way". We discussed a variety of topics related to Salesforce and data architecture. A very interesting talk - Check it out!4 months ago Read more
-
Blog postFrom the moment I decided to change my major to computer information systems (away from finance) I knew I wanted to work with data. A big part of it was the data processing course I took. I found a beauty in data theory that was unmatched in my other computer science courses. It may very well be because at the time Baruch College (CUNY) decided to teach Java over C++, which was in its infancy, and the textbook assigned was horrendously full of errors (which could make any new programmer wan4 months ago Read more
-
Blog postPerforming analytics on data warehouse data is a core use case for many of our (Plative's) clients who look to purchase Salesforce Einstein Analytics, so it's no wonder that Salesforce decided to introduce a native connector to Google's BigQuery as part of Einstein Analytics. This Article will walk you through configuring BigQuery and setting up the connection in Einstein Analytics.5 months ago Read more
-
Blog postEver need to integrate Salesforce with a local FAT application? This article will explain exactly how to do that with no backend code! That's right! You can a launch locally installed FAT apps directly from Salesforce! This article explains exactly how (using custom protocols).6 months ago Read more
-
Blog postIntroducing r/SFBlogs! I wrote a bot that monitors the RSS feeds of the best Salesforce blogs and automatically posts them to Reddit on the r/SFBlogs subreddit. This article explains exactly how and why I did it.8 months ago Read more
-
Blog postHere's my review of "Developing Data Migrations and Integrations with Salesforce", a book I recommend to any Salesforce Architect (functional or technical) - or, in fact, for anyone planning a migration or building integration on the Salesforce platform. David Masri, a Salesforce Data Strategy and Architecture Lead, shares all that he has learned in this enjoyable book. I have to commend him here for not adding a throwaway title to the rapidly growing inventory of Salesforce books. Not8 months ago Read more
-
Blog postWhen Plative entered the ERP space, NetSuite was an obvious choice, it's a top tier ERP, its cloud-based, and from a user base perspective, it has significant overlap with Salesforce. As you can imagine we do quite a bit of NetSuiteSalesforce integration work and depending on the requirements, the project can be time-intensive. That's why we were thrilled when Salesforce announced the NetSuite connector for Einstein Analytics. Not only can we use that connector to build great dashboards usi9 months ago Read more
-
Blog postLast week I had the honor of moderating a forum on #MarTech (Marketing Technology) as part of our very first virtual #SalesforceRepublic meetup - it was a lot of fun and a huge success, we had nearly 50 people join, and we learned a quite few great things from our panel of experts. I would like to personally thank the panel, so Thank you - Blair Jones, Patrick Downing, Alarra Tozin,Tigh Loughhead and Pia Chon.9 months ago Read more
-
Blog postSome six months ago, I was thrilled when I heard that Phil Weinmeister was releasing a second updated edition of his book Practical Salesforce Development Without Code: Building Declarative Solutions on the Salesforce Platform. I trusted that Phil always creates solid content, having read his last book, Practical Guide to Salesforce Communities, (also worthy of 5 Stars, and highly recommended); not to mention Apress' reputation (the publisher) for quality.12 months ago Read more
-
Blog postLike most multi-user systems, Salesforce does not block users from viewing a record via the UI while an update is in progress. This can cause an issue where two users are updating the same record at the same time. I don't mean "Click Save" at the same time, I am referring to an "update interval", something like the following sequence of events:1 year ago Read more
-
Blog postHistorically when migrating email messages to Salesforce we have been asked to load them as tasks, but with the release of the Enhanced Email functionality a while back, it's becoming increasingly common to want to migrate historical email data into the EmailMessage Objects. Unfortunately loading these objects can be tricky, and worse, error messages returned are often obscure. Sometimes it will tell you that we have "Insufficient Access Rights" even if we are an admin, and other times1 year ago Read more
-
Blog postWhen discussing data migrations, I often talk about the importance of "repairability", the ability to fix data caused by an error in your data migration, weeks or even months post go live. In fact, some time ago I wrote an article on that exact subject. In that article I briefly mentioned the importance of centralizing your transformation code but didn't really delve into why.1 year ago Read more
-
Blog postI really hate the Salesforce's Apex Data Loader, I really do. Not because it's a bad app, it's quite a good one (at least as far as utilities go), the reason I hate it is simply because it exists. Let me explain, but first a bit of background. I recently authored an article on Salesforce Ben titled: Choosing the Right ETL Tool or Middleware for Your Salesforce Data Migration or Integration, in that article I noted: "The APEX data loader is almost never the right tool for the job because i1 year ago Read more
-
Blog postOften, when talking with people who have been put in charge of building a data migration or integration with Salesforce, the first question they ask is "What tool should we use?". My response is always something along the lines of: "whoa, slow down! We need to gather the requirements first, then have our requirements drive that decision." Naturally, the next question is: "What are the key requirements that drive that decision?". In this post, I will guide you to cho1 year ago Read more
-
Blog postA few month ago I authored an article titled "Why are CRM systems so susceptible to bad data?", and in that article I laid out what I felt (and still do feel) are the root causes of bad CRM data. To quickly review the 6 root causes I identified are as follows (see the article for details):...1 year ago Read more
-
Blog postJust like most relational database systems, Salesforce locks records when they are being modified, to prevent two people from updating the same record simultaneously, which would result in a conflict. So when someone "asks" Salesforce to update a record, Salesforce first locks the record so no one else can update it until the lock is released. If someone tries to (asks for an) update the record while it's locked, Salesforce will try up to 10 times to obtain a record lock, before giving2 years ago Read more
-
Blog postExperienced Salesforce techs know that a well-planned data migration is a key component of all successful implementations. But data migration action items are often overlooked during the planning phase. The activities are usually crammed into the production cutover section, without fully understanding the complexity they bring to the project. A quick Google search for "Salesforce data migration best practices" will return a handful of articles. Most of the articles are quite short and2 years ago Read more
-
Blog postPK Chunking is a feature that was added to the bulk API back in 2015, that when used, is supposed to improve the performance of large data downloads from Salesforce. Most native objects and all custom objects are supported (official documentation with details here). Basically when sending a Bulk API request, as part of the header we tell Salesforce to use PK Chunking and the Chunck Size. Then when processing the request, Salesforce will get the Min & Max Ids (or Primary Keys- PKs) of the2 years ago Read more
-
Blog postQuality of data being in the right place, for the right person, at the right time so it's actionable is critical to the success of a CRM project. While a nice user interface, fancy reports and workflow automation are also important elements in a CRM, these would significantly lose their value if the underlying data that supports these areas are problematic. Within this book, we are provided a comprehensive plan on how to turn the most critical and riskiest area of a project involving dat2 years ago Read more
-
Blog postThis is the first installment of a new blog series "Heroes of Data History", this series will focus on commemorating some our great heroes as Data people. I'll take some creative freedom with regard to history, as all good writers do - the point here is to honor those great heroes, not teach a history lesson. Today's Hero - John Snow, no not Jon Snow, John Snow, with an h. Unlike Jon, John was not a bastard, a Targaryen or a queen slayer - he was something much more, a forgotten Hero o2 years ago Read more
-
Blog postSalesforce, and the Salesforce Ohana, do a great job providing lots of wonderful content and resources (specifically with the Trailhead and Developer sites) for self-training and learning. When I decided to write my book (Developing Data Migrations and Integrations with Salesforce: Patterns and Best Practices) , I knew that what I absolutely did not want to do was simply to organize and rehash information that was available elsewhere. If I was going to write a book, it was going to be one o2 years ago Read more
-
Blog postLast night I visited Third Republic's new NYC headquarters, to visit a series of SFDC-focused events they're kicking off in 2019. There were a few friends I already know, but I was fascinated by the first discussion on the subject of Salesforce data migrations. David Masri, the Technical Director of Data Strategy and Architecture at Capgemini Invent (Global Salesforce Practice) Capgemini gave an excellent talk about how we plan to migrate and import data, and then laid out the convoluted pr2 years ago Read more
-
Blog postAs good Salesforce consultants we tend to live in the world of CRM, and we tend to focus on the big 3 components of CRM: Sales, Marketing and Customer Service. But as you move towards more Client-sideClient centric roles you are exposed to a much wider ecosystem of business applications. If you are a integration specialist it's your job is to make sure these systems talk to each other. As a Salesforce IntegrationData Architect, rarely does a week go by that I am not asked what one of thes2 years ago Read more
-
Blog postWhen I look at how Salesforce integrationmigration specialists (dev) tend to go about migrating data to Salesforce code, I often see a process that looks something like this: 1) Data Is delivered 2) The dev then does some data analysis and authors some sort of data mapping document 3) The dev Transforms the data for the first object (at the top of the hierarchy), 4) The dev loads that object to SF 5) The dev fixes errored rows for that object 6) Rinse and repeat for the rest of the objec2 years ago Read more
-
Blog postIt's no secret that CRM systems are often plagued with bad data. Recently I asked myself "Are CRM systems more susceptible to bad data then other Systems, and if so, why?". I think the answer is clearly YES. If I'm right (and I am), all this means is that when it comes to CRM systems you need a much stronger focus and resolve to keep data clean, using fairly traditional approaches (maybe I'll write about that some other time). I do think it's important to understand why CRM systems are2 years ago Read more
-
Blog postIt's a surprisingly common question, I get asked it at least once a month: What is the difference between a Data Migration and a Data Integration? From a strictly definitional perspective, a data migration is when we need to move data from one system (legacy or source) to another (target), where the target system will wholly replace the functionality of the source system. So, after the data is moved over and the new system goes live, there is no need to work in the legacy system any more (2 years ago Read more
-
Blog postThis is a lesson I learned early on in my career the hard way. Although I have no proof that people are doing this, I'm know it's incredibly common. Consider the following situation and think about how you would handle it. Be honest with yourself, (it's not like you have to tell anyone). You are developing a complex integration to Salesforce and after weeks of hard work, you come across some edge case in your data that was not considered and has the potential to cause upheaval to your time2 years ago Read more
-
Blog postI know I usually write about Salesforce and Data, so this is somewhat off topic for me, but it is such an importantinteresting subject that I feel can help a lot of people. It's also around that time that people forget about their New Year's resolutions and need to be reminded to think about self-betterment. Regardless I use my blog to expand on topics that I briefly touch on in my book, and I do touch on this in it, so it's fair game... The Stereotype Content Model If you have studied or2 years ago Read more
-
Blog postIn this article I outline everything you need to (at least) be aware of about setting up users prior to coding your data migration or integration with Salesforce. Let's get started! The Salesforce User Object supports user External Ids, you should use it. Even though you can create an External Id on the User Object, you can't always use it when Upserting (polymorphic fields are not supported - for example: Activity WhoIDs and custom object owners). But you should still set them for all u2 years ago Read more
-
Blog postNot many people know this, but I have been a on and off again blogger for almost 20 years, I have had at least four blogs on various sites, as well as participated as part of a team of bloggers on a very well-known blog. The reason no one really knows about this is because it has always been under various pseudonyms. This worked well for me because I valued my privacy, and was not in any way looking to self-promote, I was just looking for a creative outlet. So, about a month or so b2 years ago Read more
-
Blog postSalesforce triggers need to be coded in such a way as to be able to process batches of data. This process is referred to as "bulkifying" the trigger. If a Salesforce trigger is not properly bulkified, anytime we push a batch with more than one record, it will fail. In addition, with bulkified triggers, if one record fails, the entire batch may fail, so every record in the batch will fail each with an obscure error message. This is usually because of some aggregation done within the tri2 years ago Read more
-
Blog postIt has now been about 3 weeks since the official release of my book "Developing Data Migrations and Integrations with Salesforce: Patterns and Best Practices" (The response from the Salesforce Ohana has been so great, I almost regret not being more involved in the community sooner.) I want to publicly thank everyone who helped make this book possible. Unfortunately, LinkedIn does not allow for tagging people in articles, so, in leu of that, I will at-mention them in the comments sectio2 years ago Read more
-
Blog postEarlier this week I did an AMA (Ask Me Anything) on reddits's rsalesforce subreddit, this article is a paraphrased recap of the best questions. You can find the full AMA here. I'm curious about MuleSoft, do you cover MuleSoft in the book and what Salesforce's long-term strategy is for integrations? The book is ETLMiddleware agnostic - It's a patterns and Best practices book - so although there is some code in the book, code is not the focus (the code pattern is)...2 years ago Read more
-
Blog postI spend a great deal of time dwelling on what makes a good Data Migration. I identified the six attributes of a good data migration, which form the foundation of my book "Developing Data Migrations and Integrations with Salesforce: Patterns and Best Practices". These characteristics are what I call the "why" behind the best practices that I discuss later in the book. The principle attribute is "well planned", for one simple reason:...2 years ago Read more
-
Blog postI'm proud to announce that my book "Developing Data Migrations and Integrations with Salesforce: Patterns and Best Practices" has been officially released and is available for sale just about everywhere! (Direct from Apress, BN.Com and of course Amazon. ) Generally, its tradition to print the back-cover text with such announcements, but you can view that text at each of the links above, so instead I will include the "How This Book Is Structured" section from the book's introd2 years ago Read more
-
Blog postWhen you are migrating your data to Salesforce it's not uncommon to be migrating dozens of objects and hundreds of fields. Regardless of how thorough your testing is, defects may be found weeks, even months after go-live. Your users are going to want you to fix the data, but if you simply Upsert over the bad field, all changes made by users since go live will be lost (at least for that field). The key here is to identify the effected records, and then Identify which of the effected records2 years ago Read more
-
Blog postThis article will walk you through my experience codeing a simple Chrome extension (inNote) as a learning exercise. It allows you to enter notes against LinkedIn Contacts and Companies. You can download it here for free. In my book, when discussing integrations, I categorize integrations in one of 2 ways, as either a "data integration" or an "Application UI automation integration", and define them as follows: Data integrations: When the integration is centered around a data i2 years ago Read more
-
Blog postMost Salesforce integration specialists know to always mark data loaded to Salesforce with an external Id even if they are performing an Insert or Update as opposed to an Upsert. This makes perfectly good sense; an external Id gives you a mechanism to track back specific records in Salesforce to specific records in some other system, plus if you enforce uniqueness on it, it will prevent you from accidentally inserting a duplicate. But not many people think about marking records with a JobId2 years ago Read more
-
Blog postAnytime you move data from one system to another or from one format to another, you run the risk that something will be lost or modified in the translation. This situation is a classic case of leaky abstractions. If the data is delivered as .csv files and you open them in Excel, Excel drops the leading zeros or may convert text to numbers, adding decimals. Oracle may convert NULL dates to January 1, 1900. Exporting to .csv files may result in files that are not formatted properly (particula2 years ago Read more
-
Blog postThis is a question I get asked a lot, and my answer is always the same: "By far, the biggest mistake you can make when migrating data to Salesforce, is thinking of your data migration as a one-time task."2 years ago Read more
-
Blog postWhen coding data migrations or integrations with Salesforce it's not uncommon to have a need to specify specific record Ids in your code...2 years ago Read more
-
Blog postThe nature of data migrations is such that it's often not on the critical path, except as a dependency to start of QAUAT. Because of this, early in the project, data tasks are often looked at as lower priority, and not set to start until midway through. This is a mistake, for a few reasons...2 years ago Read more
-
Blog postWhen coding your migrations or integrations you'll come across bad data. It's better to alter your transformation code to fix that data rather than fix the data itself...2 years ago Read more
There's a problem loading this menu right now.
Migrate your data to Salesforce and build low-maintenance and high-performing data integrations to get the most out of Salesforce and make it a "go-to" place for all your organization's customer information.
When companies choose to roll out Salesforce, users expect it to be the place to find any and all Information related to a customer—the coveted Client 360° view. On the day you go live, users expect to see all their accounts, contacts, and historical data in the system. They also expect that data entered in other systems will be exposed in Salesforce automatically and in a timely manner.
This book shows you how to migrate all your legacy data to Salesforce and then design integrations to your organization's mission-critical systems. As the Salesforce platform grows more powerful, it also grows in complexity. Whether you are migrating data to Salesforce, or integrating with Salesforce, it is important to understand how these complexities need to be reflected in your design.Developing Data Migrations and Integrations with Salesforce covers everything you need to know to migrate your data to Salesforce the right way, and how to design low-maintenance, high-performing data integrations with Salesforce. This book is written by a practicing Salesforce integration architect with dozens of Salesforce projects under his belt. The patterns and practices covered in this book are the results of the lessons learned during those projects.
What You’ll Learn
- Know how Salesforce’s data engine is architected and why
- Use the Salesforce Data APIs to load and extract data
- Plan and execute your data migration to Salesforce
- Design low-maintenance, high-performing data integrations with Salesforce
- Understand common data integration patterns and the pros and cons of each
- Know real-time integration options for Salesforce
- Be aware of common pitfalls
- Build reusable transformation code covering commonly needed Salesforce transformation patterns
Who This Book Is For
Those tasked with migrating data to Salesforce or building ongoing data integrations with Salesforce, regardless of the ETL tool or middleware chosen; project sponsors or managers nervous about data tracks putting their projects at risk; aspiring Salesforce integration and/or migration specialists; Salesforce developers or architects looking to expand their skills and take on new challenges