Integrating Contentful with Salesforce: name the field the entry fills
Contentful completed on 1 September 2026. A sandbox does not clone it. An entry is not a record until you name the field, and the failure when it is unpublished.
Platform & ArchitectureThe product page went blank on Thursday. The entry that held the description had been unpublished. The Salesforce product record still showed last month's paragraph, because someone had pasted it into a rich-text field and called the paste the integration. A sandbox refresh the same morning wiped a draft in that field. The live site had been serving Contentful the whole time, which nobody had switched off. Editors spent the afternoon arguing about which system was allowed to change the headline. The completion date had been used as a cutover. The call from the entry had never named a field, so when the entry was unpublished there was nothing to fail on purpose. The page just disappeared.
That Thursday is the integration this page is about. Salesforce completed the Contentful acquisition on 1 September 2026. Contentful is a composable content platform. A Salesforce sandbox does not clone Contentful. A content entry is not a Salesforce record until someone names the field it fills, and the failure when the entry is unpublished. A diagram that skips those is a poster. The build sits on the Contentful implementation page. The ownership story sits on what happened to Contentful. This page is the field and the unpublished entry.
The system
This page quotes the completion once: "Salesforce completed its acquisition of Contentful on September 1, 2026." Read it as a date. Completion was 1 September 2026. The sentence does not describe your content model, your channels, or your product record. It does not say a sandbox now includes the platform. It does not say a rich-text field is the migration. It does not give a price or an end date. Write 1 September 2026 in the pack, and stop adding a cutover the sentence does not contain.
Contentful holds the entry. Salesforce holds the record, if you have named a field the entry may fill. A Salesforce sandbox does not clone Contentful. Refreshing the sandbox copies Salesforce metadata and, depending on the type, some CRM data. It does not copy entries, content types, or the site that renders them. Anyone who says the sandbox now contains Contentful should open the sandbox and try to unpublished an entry there. The absence is the finding. You point a test at Contentful on purpose. You do not inherit it from an org refresh.
Name the system that publishes, and the system that stores the record. Editors publish in Contentful. Sellers may read a field on a product, a campaign, or another object you name. The completion changed the owner of the product. It did not, on the facts this page uses, move the site into the CRM. Customers who already publish from Contentful keep publishing from Contentful. Say the entry when you mean the entry. Say the record when you mean the record.
Count the places an entry can appear before you name the field. A product page on the site, a seller's layout, and a slide someone exported last quarter are three places. Only the field you name is the integration. The exported slide is a copy with no failure rule, and it will still show the headline after you unpublish the entry. Say, in the design, that copies made before the integration are not the integration. Someone has to retire them, or accept that they will lie. The live page and the named field follow the unpublished rule. Everything else is a poster someone saved.
The seller's layout is the check you can do without a deploy. Open the record. The field should be empty, or on the stated fallback, when the entry is unpublished. It should match the entry when the entry is published. If the layout shows a formula, a rich-text paste, and the named field, you have three writers. Remove two. Leave the one the design named. A formula that copies the paste will keep Thursday's stale paragraph on screen after the entry is gone. The editor will be told the integration worked, because the formula still has a value. It did not work. The entry was unpublished, and the record did not know.
This page will not invent an API name, a middleware SKU, or a price. The cited sentence does not publish a licence fee. A paste of the homepage into a rich-text field is not an integration. It is a copy that a refresh can wipe, which is what Thursday's draft did. This page does not give Contentful an end date. The completion was not a shutdown.
The object
A content entry is not a Salesforce record until someone names the field it fills. The headline on a product page is a fair field when you can say the entry is the only writer and the product record is allowed to show that headline to a seller. The whole entry, pasted as HTML into a long text area, is not a field. It is a copy of a page, and it will disagree with the site the moment an editor changes a word.
Name the entry, or the content type, and the field. One entry may fill one field. A second field is a second line, with its own failure. "The product story" is not a field. If you cannot point at the field on a layout a seller uses, you have not named it. Leave the entry in Contentful and link the record to it. A link is a respectable design. It does not pretend the record contains the page.
Write who may change the field. If editors change it only by publishing the entry, close the field to everyone else, or accept that a seller's typing will fight the entry. Thursday's argument was two writers and no named field. Pick the writer. Permission on the record is the control. A note in the content model does not stop a seller who can edit the rich-text area.
The entry has its own object, the content type. Do not rebuild that type as a custom object because the vendor is now the same. Channels that render the entry stay channels. A campaign record can store a reference. The reference is not the body. Write the reference field if that is all you need. You may be finished, and you will have avoided the blank page that still left a stale paragraph in Salesforce.
The failure when the entry is unpublished
The failure is the unpublished entry. The page that rendered it should not keep showing a stale body and call that a success. The Salesforce field the entry was allowed to fill should not keep last month's paragraph and call that the integration still working. Write what each place shows when the entry is unpublished.
A fair rule: the site stops showing the body, and the field on the record clears or shows a stated fallback, and a named editor is told. A poor rule: the site goes blank, the record keeps the paste, and the team argues. The poor rule is what you get when the field was never named and the paste was the design. Write the fair rule before the entry is shared.
Unpublished is not the same as deleted, and it is not the same as a failed login. The entry still exists. It is not allowed to render. A design that only handles "Contentful is down" will miss Thursday, because Contentful was up and the entry was deliberately withheld. Say who may unpublish, and who tells the seller that the headline on the record is no longer the one the site shows.
A sandbox refresh that wipes a pasted draft is a related failure, and it is not a Contentful failure. The draft lived only in the org. The entry lived in Contentful. If your integration is a paste, you will lose it on refresh and you will still not have the unpublished rule. Do not add a second paste to recover. Name the field, or keep the link.
This page states no price for the blank hour and no connector name for the unpublish. The cited sentence does not. The failure plan is the field, the fallback, and the person who is told.
A diagram that omits three names is a poster
A diagram that does not name the system, the object, and the failure is a poster. Contentful's logo inside a Salesforce sandbox, with an arrow into "product", does not say which entry, which field, or what happens when the entry is unpublished. Draw Contentful outside the sandbox. The sandbox does not clone it. Draw the field. Draw the unpublished state.
Do not draw the whole site as one rich-text field. That drawing is the paste. Cross out every part of the entry you have not named a field for. Those parts stay in Contentful. The record holds the field, or a reference, and nothing you were too busy to name.
Do not draw 1 September 2026 as a cutover. The quoted sentence is a completion. A box that says the sandbox now contains the site has used a date as a clone. It is not a clone.
| What you name | A design says | A poster says |
|---|---|---|
| System | Contentful for the entry, Salesforce for the field | The sandbox includes Contentful |
| Object | The field the entry may fill | A rich-text paste of the page |
| Failure | Unpublished, and what the record shows | The page just goes blank |
| Writer | Who may change that field | Editors and sellers both type |
| Date | 1 September 2026, a completion | A cutover |
What you settle before an entry fills a field
Write five lines before anyone pastes a page. The entry or content type. The field on the named record. Who may write that field. What the site and the record show when the entry is unpublished. Who is told.
Then say what you are not buying. You are not buying a sandbox that contains Contentful. You are not buying a rich-text migration of the site. You are not buying a price this page does not state. You are not buying an end date. Leave the content model where it is until the field is named.
The implementation page is where a paste into a campaign field is refused as a migration. What happened to Contentful is where 1 September 2026 and the refusal to invent a purchase price are kept. Use those pages when the meeting argues about the acquisition. Bring the meeting back to the unpublished entry.
Agree who may add a second field. A second field is a second unpublished rule. The poster does not grow a paste to cover it.
A test you can run
Publish an entry that fills only the field you named, into a record that is not the live product if you can help it. Read the field as the seller. Read the page as the customer. They should match on that field and nowhere else you did not name.
Then unpublish the entry. Read both places again. They should match the rule you wrote, not last month's paragraph and a blank site. If the record still shows the old paste, the integration was the paste. Remove it. If the site still shows the body, you did not unpublish the thing you think you unpublished.
Refresh a sandbox and confirm Contentful did not come with it. The entry should still be only in Contentful. The sandbox should not contain a second content model. If a proposal says the refresh cloned it, ask to be shown the entry in the sandbox. The absence is the answer.
The integration is ready when a new editor can see the entry, the field, and the unpublished rule without pasting the page into a record. If the design still says the sandbox contains the site, send it back. 1 September 2026 did not fill the field for you.



