Integrating PredictionIO with Salesforce
Open source was to stay free. Do not stand up a new PredictionIO service and call it an integration.
Platform & ArchitectureAn architect finds PredictionIO on an old platform diagram and opens a project to "integrate it properly". The plan has a new service, a sync into Salesforce, and a field where a prediction will land. The field name was coined in the diagram because the org did not have an obvious place. The service does not exist yet. The project proposes to stand it up, and to call the result an integration, because the 2016 acquisition sounds like a joining of systems.
Do not stand up a new PredictionIO service and call it an integration. That sentence is the whole of the allowed design. The open-source project was to stay free. It is not a current Salesforce product. A service you create so the arrow has a start is the failure, not a mature reading of an old deal.
What the 2016 report supports, and what to do if you already operate the project as its own estate, is PredictionIO stayed open source, and it is not a current SKU. The acquisition as a record is What happened to PredictionIO. The retired product people still name as the landing zone is RelateIQ and SalesforceIQ. This page is the diagram that stops a new service from being briefed as Salesforce work.
What the cited page says
The sentence this page quotes is the split the report described: "PredictionIO’s tech will remain open source and free to use, while the team works on evolving the project into a self-sustaining community." Salesforce acquired PredictionIO in 2016. Free and open source is one half. A community the team would work towards is the other. Neither half is a Salesforce SKU you can enable. Neither half is a service Salesforce owes you in the org you administer today.
Not a current product. Say that when the diagram still has a box. The acquisition is a decade old. Age does not promote an open-source project into a licence. A licence is something you can point at on an order form. This source does not put PredictionIO on one. If a seller adds it, ask which contract. When they cannot show it, the line comes off. Do not leave it as a placeholder "for the architecture".
The path people remember ran through SalesforceIQ. SalesforceIQ was later retired. That later fact closes the route the old conversation assumed. You cannot follow the name to a screen a seller can open. Do not rebuild the route with a new arrow from a new service into whatever analytics product you use now. Genealogy is not an architecture. The retirement is written up on its own page. Read it when someone says the prediction "ended up" in SalesforceIQ and therefore belongs in the successor they have in mind. A successor you choose is a new decision, with a new owner. It is not the 2016 integration finally finished.
This page will not name an API, a daily cap, a connector, a screen, or a price. Standing up a service in order to have those details is the failure. You do not get to discover a connector by creating the thing the connector would call.
The system
The system the report allows you to talk about is the open-source project, which was to stay free. Free to use is not the same as "running inside Salesforce". Free to use is a statement about the software's terms as reported. It is not a statement that your org hosts it, or that you should host a fresh copy and point Salesforce at it.
A new service is a system you would be creating. Calling it an integration borrows the acquisition to justify a deployment. The acquisition does not ask for that deployment. If the service is absent, leave it absent. Absence is a valid architecture. It is the system cell, filled as "do not stand one up".
If a service is already running in your estate, from work you did yourselves, it is your estate. It is not transformed into a Salesforce product by this page, and this page will not tell you how to build another one. The question for something you already run is who operates it, what it is allowed to read, and whether any write into Salesforce is a decision you have actually made. That question belongs to the operators and to the implementation page. It does not belong to a project that starts by provisioning a new host and naming it after the deal.
SalesforceIQ is not the system either. It was later retired. A diagram that still routes through it is routing through a product you cannot open. Take that box off. Do not replace it with a cloud shape labelled "ML" and hope the shape inherits a contract. Name a current product only if it is on a contract you hold, and then the design is about that product. It is not a PredictionIO integration with the label updated.
The object
The object people want is a prediction, written onto a Salesforce record so a seller can see it. This page will not name the field. A field coined for the diagram is an invented object. If the org has a field that already exists, and an owner who will accept a value, that is a decision those people can make for a system they actually operate. It is not a decision this acquisition makes for them.
A prediction without a definition is not an object you can integrate. What is being predicted. For which record. From which inputs. How old the value may be before it is stale. Who is allowed to see it. If you cannot answer, you do not have an object. You have a word. Do not stand up a service so the word has a runtime.
There is no object called "the PredictionIO score" on a current Salesforce screen, on this source. A custom object created to hold scores from a service you are about to deploy is the connector, wearing a data-model hat. Refuse the object. Scores attract downstream uses, including pay and routing, faster than the workshop expects. You will be explaining a number you cannot trace, from a service you did not need to start.
The free software's community, as the sentence describes it, is not an object in your org. "Self-sustaining community" is what the report said the team would work towards. It is not a support contract, and it is not a queue you can sync. Do not draw a community node on the architecture and attach a Salesforce flow to it. A community is not a system of record for your customers.
The failure
The failure is a new PredictionIO service, stood up and called an integration.
It starts as a small host, a repository pin, and a scheduled job. The job writes to Salesforce. The write is briefed as the integration the acquisition always implied. Nothing in the quoted sentence implies it. The sentence keeps the technology free and points the team at a community. Your new host is a choice you made, then mislabelled. Mislabelling matters because the next owner will think Salesforce operates it, or that a licence covers it, or that turning it off would undo an official product. Turning it off would undo your extra service. Those are different acts. The label hides the difference.
Do not "just prove the pattern" in a sandbox. A sandbox service is still a service you stood up. Sample predictions become the specification. The specification becomes production, because the pattern already worked. The pattern worked on data you invented. That is not evidence of an integration. It is evidence that a job can write a number.
A partner who offers to include PredictionIO on a Salesforce order form has mixed free software with a contract vehicle that does not sell it. Strike the line. A partner who offers a managed service and calls it the Salesforce integration has renamed the failure. Managed, hosted, or internal: if it is a new PredictionIO service dressed as the integration, it is the failure this page names.
The retired SalesforceIQ path is a second way to fail. Rebuilding it, because the old diagram had a box, recreates a product that ended. Read the retirement. Then stop. Do not keep the box so the architecture looks continuous from 2016 to now. Continuity of a picture is not continuity of a product.
The diagram
A diagram that does not name the system, the object, and the failure is a poster. The 2016 poster is a machine-learning box and an arrow. It has survived in slide archives. It is not a build.
| Label | What this integration names |
|---|---|
| System | The open-source project, which was to stay free. Not a current Salesforce product. Do not add a new service. |
| Object | A prediction. This page does not name a Salesforce field to receive it. |
| Failure | A new PredictionIO service stood up and called an integration. |
SalesforceIQ does not appear as a box. It is retired. If a reviewer asks where it went, point them to RelateIQ and SalesforceIQ, and then return to the empty arrow. The link explains a retirement. It does not supply a replacement connector.
No API name, no cap, no price, no screen. The three labels are the picture. A host name in the system cell means you have already started the failure. Take it off before you estimate the work.
What you write before anyone provisions a host
The refusal. This programme will not stand up a new PredictionIO service and call it an integration. The software was to stay free and open source. That is not a line on a Salesforce order.
The retirement. SalesforceIQ was later retired. No design in this programme routes through it. The note points at the retirement page so the argument does not have to be re-derived in every workshop.
The current need, if there is one. Stated without the 2016 name. Which decision a person is trying to support. Which product on a current contract might be relevant. Which field already exists. If those lines are blank, there is no project. There is only a nostalgic box.
The estate you already have, if any. Who operates it. It is not relabelled as the official integration. This page does not give instructions for deploying a copy. If operators need a decision about a write-back, they take it as their own change, with an owner, not as the completion of 2016.
Out of scope. A new host. A coined field. A score object. A connector name. A daily cap. A claim that Salesforce runs the community for you.
How the other two pages fit
This page stops the false integration. It does not retell the whole acquisition, and it does not operate the open-source project.
What happened to PredictionIO is the 2016 record. What was said about free software, and what you should not add. Send history questions there. Do not let history return as a provisioning request.
PredictionIO stayed open source, and it is not a current SKU is the page for the split between free software and a product you can buy, including the hiring test for a partner who still wants it on an order form. Use it when someone claims you already run the project and wants rules for that estate. Use this page when they want to start a service so the claim becomes true.
RelateIQ and SalesforceIQ is there so the retired name has a home that is not your new diagram. Mention it. Do not extend it into a fresh pipe.
A week that does not provision anything
Find the diagram that still has the box. Find the ticket that asks for a host. Find the order-form line if a seller added one. Attach the three-cell table to each. The work of the week is deletion and a note, not a deploy.
Ask one question of the person who wanted the prediction: what decision changes if the number exists, and which field already on the record would hold it. If they cannot name the field without coining one, the object is not ready. If they cannot name the decision, the service would have nothing honest to do. Either blank ends the project. Neither blank is filled by standing up software.
When the week ends, nothing new is listening on a port for this name. That is the integration outcome. A running service would be the failure, however neat the write into Salesforce looked in a demo.



