cutePR

Reviewed Excel import

Review your PR contact import before it changes your workspace.

Moving a PR contact file is not a copy-and-paste exercise. The source may mix people with outlets, use several languages for the same market, repeat a shared address, or hide a no-go note in a free-text column. Preserve the original file and decide what each column means before accepting any rows.

cutePR creates an import session first. It parses the file, normalizes recognized values, shows ready, skipped, rejected, and error rows, and adds duplicate hints. Nothing becomes an accepted contact until blocking errors are fixed or rejected and the operator accepts the session. The fictional Aster & Rue Solstice file below illustrates the process.

By cutePR · Updated

Start with the format the parser actually supports

The current importer accepts CSV, XLS, and XLSX. It reads the first worksheet of an Excel workbook. CSV input uses semicolon-separated rows and is decoded as Latin-1 for compatibility with the current source files. Files outside these assumptions should be converted or handled in an agreed migration rather than described as natively supported.

The limits protect the review workflow: 8 MB per file, 2,000 contact rows, 80 columns per row, and 2,000 characters per cell. A larger or more relational source should be split and mapped deliberately. Rows without usable contact fields do not create contacts; they are skipped during parsing. Filename-based market inference exists for a small set of legacy country names, but it is safer to include an explicit market column and verify the preview.

Input ruleCurrent behavior
FormatsCSV, XLS, or XLSX
Excel worksheetFirst worksheet only
CSV conventionSemicolon separator; Latin-1 decoding
Maximum file size8 MB
Maximum contact rows2,000
Maximum columns80 per row
Maximum cell length2,000 characters

Map the fields, then read the warnings

Recognized aliases cover a combined name or split first and last names, media or outlet, role, email, markets, languages, topics, tier, source, and notes. English, French, and selected Spanish legacy headers are accepted. Several markets, languages, and topics can be separated by commas, semicolons, slashes, or vertical bars; only recognized controlled values are normalized without warning.

A name is required, except that a row with a media value can become a clearly labeled generic Editorial contact. Invalid source emails are not stored as contact emails: they remain visible as warnings and can be preserved in notes. Unknown market, language, or topic values remain review items. Do not remove them from the source merely to make the preview look clean.

Source meaningExample accepted headers
Namename, first name plus last name, nom, prénom plus nom de famille, nombre plus apellido
Outletmedia, média, outlet, media outlet, magazine
Rolerole, rôle, title, fonction, cargo
Emailemail, e-mail, mail
Segmentationmarkets, langues, topics, tier and their recognized aliases
Contextsource, origine, provenance, notes

Exact matches and probable matches are different decisions

The preview flags an email repeated inside the file and an email already attached to an existing contact. It also flags a same-name, same-outlet record as a probable match. These are clues, not interchangeable deduplication rules. Two similar names at different outlets may be two people; a generic newsroom address may legitimately serve several editorial roles.

On acceptance, an exact existing email links to the existing contact rather than creating a hidden duplicate. A same-name, same-outlet case can create an open merge candidate for human review. The import flow does not promise that every similarity can be undone later. Keep the source copy, reject or fix blocking rows before acceptance, and resolve merge candidates through the dedicated review workflow.

SignalOperator response
Same email twice in the importInspect both rows and keep one intended record
Email already belongs to a contactConfirm the existing relationship should receive the imported context
Same name and same outletReview as a probable match; do not treat the name alone as identity
Invalid emailCorrect from a verified source or keep the warning; it is not stored as sendable
Unknown controlled valueMap deliberately or leave it unresolved for the migration review

Reconcile the fictional twelve-row file

The first Solstice preview contains twelve populated source contact rows. One row needs a name or a deliberate generic-media decision, one address is invalid but the row can remain reviewable, and two rows share an exact email. Two contacts with the same name work at different outlets and remain separate. The point of the example is not to produce a perfect acceptance count in advance. It is to explain every difference between source rows, ready rows, ignored rows, created contacts, linked contacts, and merge candidates.

After acceptance, sample the imported records rather than trusting the total alone. Open a contact with several topics, one with an outlet, the exact-email link, and the probable duplicate. Check that notes and relational markets, languages, and topics arrived where expected. The accepted session records created, linked, ignored, and merge-candidate counts for reconciliation.

Use the founding beta for an agreed migration

Founding customers receive help with an initial migration as part of the paid beta. Before any processing, the founder and customer agree the exports, record types, volume, relationships, sensitive handling, and unsupported fields. The customer reviews the import preview and counts before acceptance in a private per-user workspace.

Migration help does not authorize a public upload, an external AI chat, or direct database changes outside the validated app flow. If the source includes custom objects or several client partitions, the workable first scope may be smaller. The beta has no shared seats or multi-client permission model, and email sending remains in Outlook or the customer's existing tool.

Ready to connect your PR files?

The founder helps you get started and handles the agreed initial migration. Your feedback helps shape what comes next.

Request access

Preferential pricing during the beta, then standard pricing announced in advance.