Dirty data in a CRM means "ivanov ivan ivanovich" crammed into a single name field, phone numbers written ten different ways, typos in emails and comments. A database like that breaks document generation, email personalization and duplicate detection. This guide covers the robots that clean data right inside a business process: tidying a full name and splitting it into parts, checking the email before a mailout, bringing phone numbers to one format, and fixing typos in text.

Where does dirty data in a CRM come from, and why does it hurt?

There are three sources. Forms and chats: the customer types their name in lowercase and in any order. Imports: an old database brings its own formats along. Manual entry: a sales rep is in a hurry — "smith j.m.", a number with no country code, typos. From there the mess spreads through the system: a template-generated contract ends up addressing "dear smith john", a mailout goes to addresses that don't exist and damages the sender domain's reputation, and duplicate detection can't tell that "+44 20 7946 0958" and "020 7946 0958" are the same person (more on this in the article on duplicates in Bitrix24). The best time to clean data is the moment it appears — with robots in the lead- or contact-creation process, before the mess spreads any further.

How do I split a full name into last, first and middle name?

The field holds "john michael smith" as a single string, casing random and a typo or two along the way. For documents and salutations you need the parts separately, but there's no built-in way to slice the field apart. Two robots do it in sequence. The Fix typos robot goes first: it runs the string through a spell-checking service, repairs common misspellings and text typed in the wrong keyboard layout, and returns the corrected value plus a flag for whether anything was changed. Then Split string by delimiter cuts the cleaned string on the space and returns the parts as a multiple value along with their count. The parts go into separate contact fields, and the count is your safety check: neither robot guesses which part is the surname, so fix the order in your web form and send anything that doesn't split into the expected number of parts to a rep as a task to check the card by hand.

How do I validate email before a mailout?

An empty address field means a contact silently missing from the mailout; a typo in the address means an undelivered message and a bounce against your sender reputation. Business processes have no built-in email validation, but the first and most common failure — the field simply isn't filled in — is catchable inside the flow. The Check if a field is filled robot takes the entity type, its ID and the field code, and returns a Y/N flag together with the current value. The recipe: a contact-creation process checks the email field; on N the card is flagged, kept out of the mailout segment, and the rep gets a task to request the address. Deliverability itself — whether the mailbox exists and accepts mail — is the mailout service's job: it marks bounced and disposable addresses after the first send, and those marks are what you write back into the card.

How do I bring phone numbers to a single format?

The number sits in the card in whatever notation the rep typed it, so nothing that keys off it lines up: duplicate search misses, telephony doesn't match the call to the card, the SMS gateway rejects the string. The Format phone number: custom prefix robot takes a number in any notation, strips spaces, brackets and dashes, and rebuilds it as the prefix you type in — +, +1, +44 — plus the digits; if the number already starts with those digits they aren't doubled. It returns the normalized number, a digits-only variant and a "Recognized" flag (Y/N). What it does not do is look up the carrier or the region behind the number — that's a paid lookup service, and if you need it, call the provider's API from the flow with the HTTP request GET/POST robot and write the answer into the card. Normalization on its own already earns its place: numbers that match across cards, and an N flag that weeds out junk before a list goes to the dialer.

How do I fix typos in text?

"Good morning" easily turns into "good mornign", and a company name turns into gibberish typed in the wrong keyboard layout. In comments that's tolerable; in fields that feed documents and emails, it isn't. The Fix typos robot runs text through a spell-checking service: it corrects common typos and recognizes words typed in the wrong keyboard layout. The output: the corrected text and a flag for whether a correction was made. The recipe: before generating a document, the field is run through the robot; if a correction was made, the updated text is written back, and the flag lets you mark the card for a spot check — machine corrections occasionally need a human eye.

Checklist

Clean data on the way in: in the lead-creation process — fix typos, split the full name, normalize the phone and check the email is actually there; before a mailout — drop the addresses your mailout service has marked as bounced; before generating documents — run the text fields through typo correction. All of these robots are in the Roboteka catalog, install for free from the Bitrix24 Market and work in the workflow designer alongside the built-in actions. Missing a check you need? Describe the task and we'll build the robot for free and add it to the shared library.