Doti, Slack, and enterprise search after the acquisition
Doti is agentic enterprise search. Slack is the place a person asks. It is not a vault that now holds every company document.
Platform & ArchitectureA procurement lead pastes "doti data migration to salesforce quote" into a brief and asks for a number by Friday. In the same week a Slack owner tells the steering group that company documents will now live in Slack, because that is where people will ask. Both sentences are ahead of the record. One treats Doti as a database you extract. The other treats a chat client as an archive. The acquisition supports neither.
You can still do useful work this month. You can name the sources a search may read, the identity it runs as, and the Slack rooms where an answer is allowed to appear. That list is the quote. A single figure without the list is a guess.
What closed on 1 December 2025
Salesforce's own close notice is one sentence: "Salesforce completed its acquisition of Doti on December 1, 2025." Read it as a date. The deal is done. The sentence does not name your tenants, your file stores, or your channel list. It does not say a migration project has a standard shape, and it does not say a price.
Doti is agentic enterprise search. The announcement said the team would advance search with Slack as the conversational interface. That is a product direction. A person asks in Slack. Search does the finding. The interface and the store are different objects. Keep them apart in every diagram you draw for this programme, including the one-slide version someone will paste into a steering pack.
A completion date is also not a licence change you can infer. If a seller asks whether their current Salesforce edition now includes Doti search, the honest answer is that this source does not say that. Ask your account team what you have bought, in writing, against your contract. Do not let a news sentence stand in for an order form.
Slack is where you ask, not where the files moved
A conversational interface can sit in Slack and still read from systems Slack does not store. A contract can remain in the contract system. A wiki page can remain in the wiki. A case can remain on the case. The reply can show up in a thread. That is the design the announcement points at. It is not a statement that Slack now contains every company document.
Collapsing those two ideas causes a real failure. People stop maintaining the source, because they believe the copy in the thread is the record. Other people paste restricted text into a public channel, because they believe the channel is now the official store and the old permission model no longer applies. Neither belief is in the announcement. Both are expensive to unwind, because the thread has already been read.
Work one question before you generalise. A seller asks, in a public Slack channel, for the renewal terms on an account. A sound design names the system that holds the contract, the identity the search uses, and whether that identity may quote the file to the people in the channel. If the contract is visible to two people and the channel has forty, the answer does not belong in the channel. Offer a pointer the asker can open under their own login, or refuse. Do not paste the clause to be helpful.
The same rule applies to drafts. A document the author has not shared is not "findable" merely because search is agentic. Agentic means the search can plan steps. It does not mean the steps may ignore the grant on the file. If you cannot explain the grant, you are not ready to turn the reply on in a busy channel.
The migration keyword asks for the wrong object
"Doti data migration to salesforce quote" assumes there is a Doti database you lift and load into Salesforce objects. This source does not describe that database, and it does not describe that load. Search, in the ordinary sense, keeps pointers, text extracts, and permissions. Copying the text and dropping the permissions gives you a pile of words nobody is allowed to trust.
If you had a Doti tenant before the close, the inventory is still concrete. Which sources were connected. Which identities were mapped. What was kept of the questions people asked. How long those questions are retained. Whether an export exists, and in what format. Who the tenant admin is, and whether that admin account is still staffed. That inventory is the input a serious quote needs. A partner who skips it and still offers a fixed migration price is selling a story.
Some of that inventory may be empty. An empty export is a finding. Write it down. Do not fill the gap with a made-up object model so the statement of work has line items. The line items should match the systems you actually have.
There is a second confusion hiding in the word Salesforce. Slack can be the interface, and Salesforce can be one source among others, because accounts and cases live there. Loading search history into a custom object is a different project from letting a person ask a question in Slack. Decide which of those you want. If you want both, say so as two scopes, with two owners. One scope does not imply the other.
What you name before anyone prices the work
Write these on one page. If a line is blank, the quote waits.
The sources. File stores, wikis, ticket tools, and CRM records. Each source has a human owner and a classification. A source without an owner will be connected because a demo needed it, and it will still be connected next year.
The identity. Search runs as a person, a service account, or a token. That identity is the ceiling on every answer. If the identity can open a confidential folder, the answer can quote that folder, including into a thread. Choose the identity the way you would choose a new starter's access, not the way you choose a sandbox login that happens to work.
The Slack boundary. Which workspace. Which kinds of channel may receive an answer. A public channel is a publication. A private channel is still a group. Direct messages are still copied when someone forwards them. Write the rule for each, in a sentence a channel admin can apply without a meeting.
The refusals. Five questions that must return nothing. Another team's pay. A draft the author has not shared. A customer record the asker cannot open in Salesforce. A file in a legal hold folder. A source you have not connected. Test them. A refusal that exists only in a slide will not survive a keen user.
The log. Who asked, which source was touched, and what text came back. If you cannot read that log a month later, you cannot explain an answer to the person who owns the file. Logging is part of the design, not a later phase.
The stop. When the search is unsure, it stops. It does not invent a clause. The stop message names the gap in plain language: no source, no permission, or no confident match. "I think the renewal is annual" is not a stop. It is a guess wearing a helpful tone.
Cost is a list of scope, not a figure
This page will not give you a dollar amount, a day rate, or a percentage of a programme. Those numbers are not in the announcement, and inventing them would not make your project smaller. Price the work you can point at.
- An inventory of connected sources, each with an owner and a classification.
- A map from each source's permissions to the identity search uses.
- A decision for each Slack workspace and channel type: may an answer appear here, and may it include text or only a link.
- Five refusals, written as questions, and a test that shows they return nothing.
- A retention rule for prompts, answers, and logs, agreed with the person who owns privacy.
- A named owner for the search identity, and a review of that identity when the owner leaves the organisation.
- Time from each source owner to confirm the connection is still wanted after the close.
- A short note on what you will not migrate, so the statement of work cannot grow a fictional database.
A quote that is a single number, with none of these lines, is not a cheaper quote. It is an unfinished one. Send it back. The cost of doing the list yourselves, before a partner arrives, is mostly meeting time. The cost of skipping it is a channel full of text you cannot justify.
The test hiding inside "best agency"
The keyword "best doti salesforce integration agency" asks you to pick a winner from a league table that does not exist. Nobody is the best agency for your sources. A firm that did a careful job on another company's wiki has not thereby earned a ranking on your file store. Badges do not read your permission model.
Use a test instead. Before you sign, the firm has to do these things in writing, on your estate, not on a sample tenant they brought with them.
They name the identity and three things it must not read. They refuse to place restricted text in a public channel, and they say what they will return instead. They run at least one of your five refusals and show you the empty result. They do not describe Slack as the new home of every document. They can tell the close date apart from the work still open. They will say when they do not know, including when your contract, not their blog, is the place to confirm a licence.
"Hire doti salesforce consultant" is the same test with a different job title. A consultant who cannot show the empty result is not cheaper because they are one person. An implementation partner who wants to start with a data load, before the identity exists, has picked the wrong first week. Implementation here means the list above. It does not mean a migration off a product the close notice does not describe as a database.
If every firm in the conversation fails the test, do not lower the test. Finish the inventory. The partner you want can pass it in a workshop. The partner you do not want will offer a rank, a bundle, and a date.
What to have on the table before the quote
| Check | What you write | A pass looks like |
|---|---|---|
| Sources | Each system search may read, plus an owner | No anonymous connection |
| Identity | The account or token, and its owner | It cannot read what the asker cannot open |
| Slack rooms | Workspace and channel type | Public channels get links, or a refusal, not restricted text |
| Refusals | Five questions that must fail | They fail in a test you watched |
| Log | Where the question and the source are stored | You can explain an answer a month later |
| Out of scope | The database you are not migrating | The quote has no line for a fictional load |
Run the five refusals with the identity you intend to keep, in a channel that matches production, not in a private test channel that hides the publication problem. If the only passing test used an admin token, the test did not pass. Change the identity and run it again.
A plain-language question aimed at warehouse tables is a different grant, with a different way to get it wrong. That neighbouring problem is set out in Waii and Data 360. Do not fold it into this quote to make the programme look complete.
The other searches
The project quote is on doti implementation cost. That page does not print a figure. Who bought the company is on what happened to doti. The connector is on integrating doti with Salesforce. Whether to move is on should I migrate from doti. The customer fee is on doti licence cost. Who to hire is on hiring for doti. This page does not rank an agency.



