Document Import

Document Import turns a small set of detailed documents into useful CRM records. Instead of copying facts from a proposal, meeting brief, request, or statement of work by hand, you upload the document and describe what the system should find and where it should go.

This is an AI-assisted record workflow, not a traditional spreadsheet importer. It reads the text it can extract from the uploaded files, compares that information with the workspace’s existing tables, fields, and relationships, and can create new records, update confidently matched records, and link related records. A person should review the result before using it for outreach, forecasting, a proposal, or a customer commitment.

Important: Document Import does not guarantee that every fact in a document will become a record or field. It is instructed to use evidence from the source, avoid guessing, search before creating records, and leave uncertain information blank. Give it a clear instruction and verify important values against the original document.

What it is for

Document Import is designed for a handful of rich documents where the meaning matters more than the number of rows. It is especially useful when a founder or small sales team needs to turn unstructured information into a connected working record:

  • a proposal can become an opportunity with amount, dates, decision makers, and next steps;
  • discovery notes can update a company and contact while preserving requirements and open questions;
  • a product or project brief can create a linked opportunity, company, and work item; or
  • a customer request can be filed against an existing record without retyping the whole request.

Use CSV & Notes Import for a large spreadsheet, a full CRM migration, many repeated rows, or a separate history of notes. Use Document Import when the source is a small number of detailed documents and you want the system to interpret the content before writing structured records.

Use cases

These examples follow the sales process used by many small businesses: outreach, meeting, proposal, closing, and keeping the CRM as the shared record of what happened.

Turn a proposal into an opportunity

After a sales call, the team receives a proposal or statement of work as a PDF. The document contains the customer, project scope, price, currency, proposed start date, renewal date, decision maker, and next step.

Upload the proposal and instruct the importer to create or update the opportunity, match the company and contact using reliable identifiers, and capture those facts in the corresponding fields. The result gives the salesperson a structured opportunity they can use for pipeline review instead of leaving the commercial details buried in a document.

Turn discovery notes into a connected account record

A founder writes a detailed discovery brief after a meeting. It mentions the company, several stakeholders, the current process, pain points, required features, budget range, decision timeline, and follow-up actions.

Ask the importer to update the matching company and contacts, create an opportunity if one does not already exist, link the records, and save the remaining context in the appropriate long-text field. Review the identities carefully: two people mentioned in the same document are not automatically the same person, and a document can contain companies that are only background context.

Process several documents for one deal

The proposal, pricing sheet, and scope document are separate files but describe one customer engagement. Upload all three together and tell the importer that they belong to the same opportunity. Ask it to use the proposal as the main commercial source, capture the agreed scope from the scope document, and use the pricing sheet for the amount and currency.

The client allows up to three files in one Document Import request. Combining related documents can give the importer more context, but it can also expose conflicting values. Tell it which source should take priority and verify the final amount, dates, and scope.

File a customer request against an existing record

A customer sends a PDF request or a short Markdown brief. The workspace already contains the company and contact. Ask the importer to find the existing records by email, domain, customer number, or another exact identifier, then update the request or opportunity fields and link the source context to the relevant records.

This helps a small team keep the request in the same place as the follow-up work. Do not rely on a similar company name alone when the request could belong to more than one customer.

Build records from a project or product brief

A productised service team receives a project brief containing goals, deliverables, stakeholders, deadlines, dependencies, and an expected budget. Ask the importer to create or update the opportunity and related company/contact records, place the opportunity in the current working group, and map each fact to a dedicated field where one exists.

This is useful when every customer has a slightly different sales process. The workspace can use its own custom tables and fields, while the instruction explains the team’s terminology and desired outcome.

Enrich a person from a document

A document contains a person’s email address, role, company, and profile URL. The importer can use a supplied social profile URL with the contact-enrichment logic when applicable, then map current profile information into the contact record. Review the result and keep the source document’s explicit facts separate from externally enriched information.

Getting started

Before you begin

Prepare:

  1. The document or documents you want to process. Keep the selection focused on one business outcome, such as “prepare this opportunity for proposal review.”
  2. A destination group view. Starting the import from a group view gives the request the current group and its table context.
  3. A clear instruction describing the records, fields, relationships, and group placement you want.
  4. A reliable way to identify existing records. Prefer an email address, phone number, website/domain, customer number, or other exact identifier over a display name by itself.
  5. Permission to edit records in the current group. The system checks record-writing permissions when the AI tries to create, update, or link records.
  6. The destination tables and fields already prepared. Document Import works with the workspace schema that exists; it is not a replacement for creating a new table or field.
  7. A backup or original copy of the source document. Keep it available for verification after the import.

Supported file types and limits

The Documents upload screen accepts:

  • PDF (.pdf);
  • DOCX documents (.docx);
  • plain text (.txt); and
  • Markdown (.md).

The client allows up to three files per request and shows the guidance up to 25 pages per file. Keep each document within that limit for the most reliable result. The upload service accepts files up to 100 MB, but document processing is limited to 50 MB per file by default. Keep files below 50 MB so that a successful upload is also processable.

The document processor extracts readable text. Text files and Markdown are read directly. DOCX documents and text-based PDFs are parsed for their text; scanned PDFs may require text recognition and can produce an incomplete result when the scan is poor, rotated, handwritten, password-protected, or otherwise hard to read.

Very long combined content can also be shortened to the configured processing limit before the AI works on it. If an important fact is near the end of a long document, use a shorter source or split the work into focused requests.

Permissions and where to find it

  1. Open the group view that should receive or guide the records.
  2. Click Import / Export in the group header.
  3. Under Import, choose Documents.

The group-level Import / Export control is shown to a group owner, group administrator, or group editor who can edit records in that group. A viewer cannot start this workflow. The document workflow uses existing workspace tables, fields, and relationships; if the document needs a new field or table, create that structure first through the normal workspace editing controls. The server remains authoritative, so a user should not assume that seeing the menu grants every possible record change.

Write a useful Custom Instruction

The Custom Instructions box accepts up to 8,000 characters. A good instruction answers five simple questions:

  1. What kind of document is this?
  2. Which table or record types should be created or updated?
  3. Which facts should be captured?
  4. Which records should be linked?
  5. What should happen when a fact or identity is missing?

For example:

This is a customer proposal for an active sales opportunity. Create or update the opportunity for the company named in the proposal. Match the company by website/domain or another exact identifier, and match the decision maker by email when present. Capture the proposal amount, currency, proposed start date, renewal date, scope, decision maker, and next step in the dedicated fields. Link the opportunity to the company and contact. Put the opportunity in the current active-opportunity group. Do not guess missing values; leave them empty and preserve conflicting facts for review.

Use the names that your workspace team actually uses for tables and fields. If the same word can mean different things—for example “account” could mean a company, customer, or opportunity—say exactly which record type you mean.

Start with a small sample

For a new instruction, upload one representative document first. Check the result before adding two more files or processing a complete set. This makes it easier to identify an incorrect table, weak matching key, misunderstood field, or unwanted relationship before the result affects the sales process.

How to use it

Step 1: Add the documents

On the Documents screen, either:

  • click Choose Files and select one to three PDF, DOCX, TXT, or Markdown files; or
  • drag the files into the upload area labelled Drop files here to automate setup.

The selected file names appear in the dialog. Remove a file with its remove control if it is not part of the request. Do not add unrelated documents just because they are available; unrelated content makes entity matching and field attribution harder.

You can run the workflow with only Custom Instructions and no file, because the button becomes available when there is either a file or non-empty instruction text. In practice, a file gives the importer evidence to work from. Instructions without source content are best used only when the requested data is already available in the context supplied by the workflow.

Step 2: Add the instruction

Write the instruction in Custom Instructions. Tell the importer the desired outcome, not just the document type.

Weak instruction:

Import this proposal.

Stronger instruction:

Read the proposal and prepare the existing opportunity for pipeline review. Match the company using its domain and the contact using the email in the proposal. Capture amount, currency, start date, renewal date, scope, decision maker, and next step. Update only facts supported by the proposal, link the opportunity to the company and contact, and leave anything not stated blank.

The current group is automatically included as context when the import is started from a group view. Still state the intended record type and outcome in the instruction. This prevents the importer from having to infer whether the document is for a company, contact, opportunity, project, request, or another custom record.

Step 3: Click Build My Records

Click Build My Records. The button is unavailable when there is no selected file and no instruction text, or while a request is already being submitted.

The client first uploads the selected files to workspace storage, then starts a background enrichment task. The selected files and instruction are processed together for that request. The dialog closes after the task starts and displays a start notification.

The task reads the extracted document text and the workspace schema. It can:

  • find existing records before deciding whether to create or update;
  • create a new record when the source supports it and no strong match exists;
  • update a confidently matched record without replacing unrelated existing information;
  • map facts to dedicated fields before using a long-text field for leftover context; and
  • resolve and create relationships when the document provides enough evidence.

Record deletion is not supported by this workflow. If the requested outcome would require deleting records, use a separate approved process.

Step 4: Monitor the task

Document processing runs in the background rather than keeping the upload dialog open. Check the task indicator and the completion notification. A task can be pending, processing, completed, or cancelled. The completion message may report how many items succeeded, failed, or were skipped.

For a single document request, the completion notification can include the assistant’s result summary. For several requests, it provides a count-based summary. A successful task means the workflow completed; it does not mean that every field or relationship is correct.

After completion:

  1. Open the current group and the records mentioned in the result.
  2. Compare important values with the source document.
  3. Check that the record type, owner, group, and related records are correct.
  4. Check dates, amounts, currencies, email addresses, and names character by character.
  5. Correct or remove unsuitable data before sending an email, updating a forecast, or sharing a proposal.

How matching and updating work

The workflow is designed to search before it writes. Give it exact identity anchors whenever the document contains them:

  • email address;
  • phone number;
  • website or domain;
  • profile URL;
  • customer or external reference number; or
  • another stable identifier already used by the workspace.

If an exact anchor identifies an existing record, the importer should reuse that record rather than create a second one. If no anchor is available, it can fall back to name-based matching, but names can be ambiguous. When the evidence is not strong enough, the safer outcome may be a new minimal record or an unresolved field rather than a risky link to the wrong customer.

The workflow can update an existing record when the intended record is confidently resolved. It is instructed to preserve existing values unless the source explicitly provides a newer value or a clear correction. It is not a blind “replace the record with the document” operation.

How relationships are handled

Relationships are created only when the document provides enough evidence to connect the entities. For example, a proposal may directly identify a contact by email and a company by domain, which gives stronger evidence than two names appearing on the same page.

When a related record is missing, the workflow can create a minimal related record and then link it when the source supports that decision. It should not merge people, companies, or opportunities just because they appear in the same document. A signature, email header, explicit “works for” statement, domain, or another direct relationship is more useful evidence than simple co-occurrence.

After the task completes, inspect both sides of an important relationship. For a proposal, open the opportunity and verify the company and contact links. For meeting notes, check that the stakeholder’s details were not accidentally copied onto another person mentioned in the discussion.

How to preserve useful context

Ask the importer to place important facts in dedicated fields: amount in a number or currency field, dates in date fields, status in a choice field, and the decision maker in a user or relation field when appropriate. Ask it to keep a short residual summary for information that has no dedicated field, such as:

  • the customer’s stated objective;
  • the main objection;
  • an unresolved question;
  • a dependency; or
  • the agreed next step.

Avoid asking it to put the entire document into one description field when the workspace already has fields for the important facts. Structured fields make the record easier to filter, report on, and use in future outreach.

Scenario: proposal to pipeline

Use this when a proposal should move an opportunity from “proposal sent” toward closing.

  1. Start in the group used for active opportunities.
  2. Choose Import / Export → Documents.
  3. Upload the proposal PDF or DOCX.
  4. In Custom Instructions, name the opportunity outcome and list the amount, currency, scope, start date, renewal date, decision maker, and next step.
  5. Tell the importer how to match the company and contact, preferably with domain and email.
  6. Tell it to update the existing opportunity when identity is certain, or create one only when a strong match cannot be found.
  7. Click Build My Records.
  8. Verify the amount, currency, dates, stage, owner, and relationship links before using the opportunity in a forecast.

Scenario: discovery brief to account plan

Use this when a meeting brief contains useful information but no standard form was completed.

  1. Upload the discovery notes or Markdown brief.
  2. Ask the importer to update the company and relevant contacts, create or update the opportunity, and preserve requirements, pain points, budget, timeline, and next actions.
  3. Provide the email, domain, or customer identifier for any record that must not be duplicated.
  4. State that people or companies described only as background should not be created.
  5. Review the contact-to-company and opportunity-to-company relationships after completion.

This works especially well for a founder-led sales process where one person takes the meeting and another person later needs enough context to write the proposal or follow up.

Scenario: three files for one customer engagement

Use this when one engagement has a proposal, scope file, and pricing sheet.

  1. Confirm that all three files refer to the same customer and opportunity.
  2. Upload them in one request.
  3. State which file is authoritative for the amount, dates, scope, and customer identity.
  4. Ask for one opportunity and the necessary company/contact links, not a new opportunity per file.
  5. Review conflicts and check the final record against each source document.

If the files describe different customers or opportunities, run separate requests. Combining unrelated files can make it harder to attribute a fact to the correct entity.

Scenario: customer request to a support or sales record

Use this when a customer request arrives as a document and the team needs a structured item for ownership and follow-up.

  1. Start in the group used for incoming requests or active customer work.
  2. Upload the request document.
  3. Ask the importer to find the existing company and contact by exact identifiers, create or update the request record, capture the requested outcome and urgency, and link the request to the company and contact.
  4. Ask it to leave urgency or deadlines blank when the source does not state them.
  5. Verify ownership and the next action before treating the request as committed work.

Troubleshooting

I cannot see Import / Export

The control is available from a group view to users who can edit records in that group. Ask the group owner, group administrator, or group editor to run the import or grant the appropriate access. A viewer cannot start it. If the workflow needs workspace structure changes, such as new fields, ask a workspace administrator or editor to prepare them first.

Documents is not available in the menu

Make sure you opened Import / Export from a group view rather than another page. If the group view is read-only, the menu may not be available. Reload the workspace after a role change and ask an administrator to confirm both group and workspace permissions.

A file is rejected as an unsupported format

The Documents upload control accepts PDF, DOCX, TXT, and MD files. It does not accept an arbitrary spreadsheet, image, presentation, ZIP, or legacy .doc file through this screen. Use CSV & Notes Import for structured spreadsheet data, or convert the source into a supported document format before trying again.

I selected too many files

The client keeps a maximum of three files for this workflow. Remove unrelated files and combine only documents that support the same business outcome. If the source has many documents, process them in focused batches and verify each batch.

The file has too many pages or is too large

Keep each file to 25 pages or fewer and below 50 MB for document processing. A file can be accepted by the general upload service and still fail during document processing if it exceeds the digest limit. Split the document, remove unnecessary pages, or use a shorter export containing only the relevant section.

Build My Records is unavailable

Select at least one supported file or enter a non-empty Custom Instruction. If the button remains unavailable, remove an invalid file and add it again using Choose Files. If the request is being submitted already, wait for the current upload to finish.

The task started but no records were created

Check whether the document contained readable text and whether the instruction named a concrete record outcome. A blank or unreadable source, a vague instruction, or a document with only background information can result in no useful writes. Try one shorter document and explicitly name the table, fields, matching identifiers, and desired group.

The result is incomplete

The importer only writes facts it can ground in the document and may leave ambiguous fields empty. Check for a scanned or password-protected PDF, poor image quality, handwriting, tables that were extracted poorly, or content beyond the processing limit. Shorten the document and ask for a specific list of fields rather than “import everything.”

The wrong table or record type was used

The importer uses the workspace schema and the current group context, but it still needs a clear instruction. Say “update the existing opportunity” or “create a customer request,” rather than “import this document.” Use the exact workspace table name when two tables have similar names. Review the result before sending emails or changing pipeline decisions.

Existing records were duplicated

Provide a stronger matching key in the instruction and in the source document. Email, phone, domain, customer number, or profile URL is safer than a display name alone. Do not rerun the full batch immediately; identify which rows produced duplicates and ask support for help if cleanup is needed.

An existing record was not updated

The workflow updates only after it can confidently resolve the intended record. If the document has only a similar name, conflicting identities, or no stable identifier, it may create a new minimal record or leave the value unresolved. Add an exact anchor and state that the existing record should be updated when that anchor matches.

A field is empty or contains the wrong kind of value

Check the instruction and the destination field. Name the field’s meaning and give a short example of the expected format—for example, “store the proposed start date in the Start Date field” or “store the amount as a number and keep the currency in Currency.” Do not ask the importer to put structured values into a general description field.

The wrong relationship was created

Review the source evidence and the instruction. State the desired relationships explicitly, such as “link this opportunity to the company identified by domain and the contact identified by email.” Names appearing on the same page are not enough to prove that every person belongs to every company. Correct or remove an unsuitable relationship before relying on the record.

Facts from two people or companies were mixed together

This usually happens when a document contains multiple messages, signatures, quoted text, or background entities. Ask the importer to keep each entity separate and to attribute each email, phone number, title, and company detail only to the person or company the document directly associates with it. Split the document into smaller requests if the source contains several unrelated threads.

Important information near the end of the document was missed

Document processing has page, size, and combined-text limits. Put the relevant pages into a shorter file, split the document, or state the exact section to use. Then compare the output with the shortened source before processing more documents.

The task is still running

Document processing is asynchronous. Check the task indicator and notifications rather than reopening the importer repeatedly. Larger or more complex documents take longer because the system extracts text, searches records, resolves relationships, and performs writes in sequence.

The task failed

Check the failure notification and retry with one smaller, supported document and a more specific instruction. Confirm that the source is readable and that you have group record-editing access. If the same document fails again, keep the file name, approximate size, page count, instruction, and task details and contact support.

The task was cancelled

Cancellation prevents the remaining work from continuing, but it is not a rollback. Records written before cancellation may remain. Inspect the workspace before retrying and avoid starting a second full run until you know which records were already created or updated.

The workspace has too many tasks running

The server limits the number of active enrichment tasks for a workspace. Wait for existing tasks to finish, then retry. Avoid starting the same request repeatedly; repeated runs can produce additional records or repeat updates when the original task partially completed.

I need to import hundreds of records

Document Import is intended for a small number of detailed documents and connected records. For hundreds of rows, repeated structured data, a full CRM migration, or a separate note history, use CSV & Notes Import. Contact support when the migration has complicated relationships or when existing records must be updated in bulk.

Safety checklist

Before clicking Build My Records, confirm:

  • the current group is the intended working context;
  • the files are supported, readable, focused, and no more than three;
  • each file is within 25 pages and below the processing size limit;
  • the instruction names the desired table, fields, relationships, and group outcome;
  • matching identifiers are supplied wherever duplicate prevention matters;
  • the instruction says what to do with missing or ambiguous facts;
  • sensitive information is necessary for the task and may be shared with the intended workspace members; and
  • the team will review the result before using it in outreach, a forecast, a proposal, or a customer commitment.

Ready to put this guide into practice?

Make the next step easier to carry forward.

Bring one real workflow. We will show you how SoftSync keeps the context and next action connected.