Blog post, video, podcast, or newsletter
A content piece is the atomic unit of content: a single blog post, a video, a guide, a podcast episode, the thing a reader actually consumes. It is the asset, the artefact you can point at and count. The interesting question is rarely the piece itself; it is how much value one piece can yield once a team stops treating each one as a single-use object.
The concept is plain. The thinking that gives it weight is content atomisation, the practice of taking one substantial asset and breaking it into many smaller derivative pieces. A research report becomes a webinarWebinarCustomer EducationA live or recorded webinarView reference →, the webinar becomes five short clips, the clips seed a dozen social postsSocial PostMarketingA social media postView reference →, and the transcript becomes three blog articles. The economics changed once teams realised the cost of a content piece is mostly in the idea and the source material, so squeezing one source into many formats lowers the marginal cost of each piece sharply.
Repurposing as a deliberate motion grew alongside the pillar-and-cluster model that HubSpot popularised around 2017. If a pillar page anchors a topic and cluster pieces target specific questions beneath it, a single substantial piece of work can be decomposed into a structured family of assets that reinforce each other and the pillar. The content piece became a node in a system, valued partly for what it links to and supports, not only for itself.
This is where the asset divides cleanly from the strategy. A content piece is a thing that exists; content strategyContent StrategyGo-To-MarketA content strategy for thought leadershipView reference → is the plan that decides which pieces should exist and why. A library can be full of well-made pieces and still fail, because no plan connected them to an audience needNeedUserA user need, pain, desire, or constraintView reference → or a business goal. The piece is necessary and never sufficient.
A developer-tools company runs a webinar on migrating a legacy database, 320 live attendees. Before atomisation that webinar is one asset that decays the day after it airs. With a repurposing plan it becomes a content engine. The recording is gated as a lead magnet. The transcript is rewritten into a step-by-step migration guide targeting a specific search query. Three customer questions from the live Q&A become three short how-to posts. Six 90-second clips go to social, each linking to the guide. One webinar yields eleven content pieces, each tied to a keyword and a stage of the funnelFunnelGrowthA conversion funnel tracking user progressionView reference →, all tracing back to the original recording. The same source material now works for months across channels.
In the Unified Product Graph, Content PieceContent & KnowledgeA piece of content (article, video, etc.) sits in the content domain as the granular, countable asset that higher-level plans resolve into. A product owns its output through content_pieceProductpublishesContent Piecehierarchy, and demand pulls it into being via product_publishes_content_pieceSEO KeyworddrivesContent Piececross-domain. Scheduling runs through seo_keyword_drives_content_pieceContent CalendarschedulesContent Piecehierarchy, while purpose is captured by content_calendar_schedules_content_pieceContent PiecesupportsMessagingcross-domain and content_piece_supports_messagingContent Piecepart ofGrowth Campaigncross-domain. The atomisation pattern is modelled directly: content_piece_part_of_growth_campaignWebinargeneratesContent Piececross-domain records that one event spawned many derived assets. Holding the piece as its own node, with edges to the keyword that justified it and the messagingMessagingGo-To-MarketMessaging framework and key messagesView reference → it carries, makes an otherwise invisible library queryable, so a team can see which pieces serve no keyword, support no message, and belong to no campaign, the orphans worth retiring.webinar_generates_content_piece
Type-specific fields on BaseNode
content_typestringFormat of the content
urlstringURL where the content is published
idstringrequiredUnique identifier (UUID)
typeNodeTyperequiredDiscriminator for the entity type
titlestringrequiredDisplay name
descriptionstringOptional detailed description
statusstringLifecycle status
tagsstring[]Freeform tags for filtering
4 phases — initial: draft · template: PUBLISHING
7 edge types connected to this entity.
product_publishes_content_piececontent_calendar_schedules_content_pieceseo_keyword_drives_content_piececontent_piece_supports_messagingcontent_piece_part_of_growth_campaigncontent_theme_organizes_content_piecewebinar_generates_content_piece