MuninMunin
Logg innKom i gang gratis
Home/Journal/Innholdet ditt bør gå ut uten en markedsføringsansatt.
Field note · 9 min read

Innholdet ditt bør gå ut uten en markedsføringsansatt.

Seks jobber står mellom en idé og en publisert artikkel. Fem av dem er prosedyre — temarotasjon, research, skriving inn i et typet skjema, et forsidebilde, selve publiseringen. Én er dømmekraft. Her er runden som gjør de fem, og køen som gir deg den sjette.

A well-used cobalt blue wheelbarrow standing against a low drystone wall on a Norwegian coastal smallholding under heavy overcast cloud, grey-green sea beyond.
Én trillebår, og den samme som triller den.

Hvert lille selskap har en innholdskø som leses som en liste over ting det allerede vet. Endringsloggen som svarer på spørsmålet tre kunder stilte forrige uke. Sammenlikningssiden et prospekt lette etter og ikke fant. Onboarding-guiden som i dag finnes som en Loom-lenke og fire Slack-meldinger. Kunnskapen er i bygget. De to timene er det ikke.

Kan du drive en firmablogg uten en markedsføringsansatt?

Ja, hvis publiseringssystemet er noe programvare kan betjene fra ende til ende. En markedsføringsansatt er stort sett seks jobber: å velge tema, å researche det, å skrive det, å lage et forsidebilde, å publisere det, og etterpå å finne ut om det gjorde noe. Fem av dem er prosedyre. Én er dømmekraft. En agent kan holde de fem og arkivere den sjette til deg.

Grunnen til at dette ikke virket for tre år siden, er ikke at modellene ikke kunne skrive. Det er at CMS-et i den andre enden var et nettskjema. En person måtte sitte i en nettlesersesjon og klikke inn i et rik-tekst-felt for å få et avsnitt fra et utkast inn i en database. All automatisering stoppet ved det vinduet og la ut en Slack-melding om at noen måtte lime inn noe.

Det som endret seg, er at innholdshåndtering fikk en ordentlig verktøyflate. Munins CMS er et sett MCP-verktøy — cms_create_entry, cms_update_entry, cms_publish_entry, cms_schedule_publish, cms_get_preview_link — som ligger på den samme Postgres som CRM-et, innboksen og kunnskapsbasen. Det er ikke noe vindu i midten. Det samme gjelder nå hos Contentful og Sanity, og jeg kommer tilbake til hva hver av de tre faktisk er til.

Hva må faktisk skje før én artikkel går ut?

Seks steg, og bare ett av dem er skriving. En planlagt runde velger et tema mot en rotasjon, sjekker det eksisterende biblioteket så den ikke gjentar en vinkling, verifiserer hver eneste ytre påstand med nettsøk, skriver inn i samlingens typede blokkskjema, genererer et forsidebilde, og arkiverer det hele som et utkast. Ingenting publiseres. Du leser en kø.

Rotasjonen er den delen folk undervurderer. Overlatt til seg selv driver enhver skribent — menneskelig eller ikke — mot det de selv synes er mest interessant, som for et gründerdrevet selskap betyr essayer om arkitektur og ingen side en kjøper noen gang ville søkt etter. En nedskrevet rotasjonsregel fikser det bedre enn gode intensjoner gjør, fordi den kontrolleres mot de siste fem oppføringene hver eneste kjøring framfor å bli husket.

  • 01Les biblioteket først. cms_list_entries på samlingen, med fields snevret inn til titler, kategorier og datoer. Runden teller hva de siste fem oppføringene var før den får velge en sjette.
  • 02Verifiser alt eksternt. Konkurrentpriser, lisenser, datoer, sitater — hvert enkelt kontrollert mot leverandørens egen side og merket som veiledende. Et uverifisert tall som smigrer deg, er det en teknisk leser fanger.
  • 03Skriv inn i blokker, ikke inn i et tekstfelt. Teksten er en ordnet rekke av typede blokker, så selve skjemaet utelukker en totusenords vegg av prosa.
  • 04Lag forsiden. media_generate_image_cms_asset returnerer en assetId lagret som en CMS-ressurs, som cms_update_entry fester til cover_image.
  • 05Arkiver det som et utkast. cms_create_entry med status: "draft". Leverings-API-et serverer bare publiserte oppføringer, så et utkast er usynlig for det offentlige nettstedet ved konstruksjon, ikke ved konvensjon.
  • 06Stopp. Publisering er et eget verktøy og en egen beslutning. Køen er der dømmekraften din kommer inn.
jsoncén artikkel, arkivert som utkast
{
  "name": "cms_create_entry",
  "arguments": {
    "collection": "journal-blocks",
    "slug": "open-source-intercom-alternatives",
    "status": "draft",
    "data": {
      "title": "Intercom-alternativer med åpen kildekode i 2026",
      "dek": "…",
      "category": "Essay",
      "author": "Kjell Rune Monsø",
      "body": [
        { "type": "lead",     "props": { "text": "…" } },
        { "type": "prose",    "props": { "markdown": "## Finnes det et alternativ…" } },
        { "type": "takeaways", "props": { "items": ["…"] } }
      ]
    }
  }
}

Hvorfor betyr innholdsmodellen mer enn prompten?

Fordi en prompt er et råd og et skjema er en vegg. Be en modell variere strukturen sin, og den gjør det, en stund, og så produserer den elleve avsnitt på rad. Gi den et body-felt som bare godtar en ordnet rekke av over et dusin navngitte blokktyper — lead, prose, pull_quote, callout, editorial_list, definitions, code_block, stats, takeaways, divider, footnotes og resten — og elleve avsnitt på rad blir en valideringsfeil framfor en dårlig dag.

Det samme trikset bærer husstilen. Hver blokktypes beskrivelse i skjemaet er håndhevingsdokumentasjon: callout-typen sier under omtrent nitti ord, én idé, og at et avsnitt som innrømmer noe ikke må ende på innrømmelsen. definitions-typen sier bruk editorial_list i stedet når nøkkelen er et enkeltord framfor en frase. Den veiledningen følger med feltet, så den når hver forfatter på hver kjøring — som er et mye bedre sted for en stilguide enn en wiki-side ingen åpner. Jeg skrev om avveiingene ved å modellere et CMS slik i innholdsmodellen din er en prompt.

Det er verdt å være presis på hva dette gir og ikke gir deg. Et skjema kan håndheve form, obligatoriske felt og fraværet av en vegg av tekst. Det kan ikke gjøre et argument godt. Gjennomgangskøen gjør fortsatt reelt arbeid.

Utkast er standard, og å publisere er et annet verb

cms_create_entry er utkast som standard, og det offentlige leverings-API-et returnerer bare publiserte oppføringer. Å få en artikkel ut krever cms_publish_entry eller cms_schedule_publish — egne kall med egen intensjon.

Hver skriving bærer ifVersion for optimistisk samtidighetskontroll, cms_list_versions og cms_restore_version dekker historikken, og cms_get_preview_link lager en signert URL så du kan lese utkastet tegnet av den ekte frontenden før noe av det skjer.

Hvem lager forsidebildet?

Den samme runden, gjennom det samme grensesnittet. media_generate_image_cms_asset — et verktøy på den separate MCP-serveren Munin Media Tools — tar en prompt, alternativ tekst og et filnavn, genererer bildet, lagrer det som en CMS-ressurs, og gir tilbake en assetId og en URL. Munin utleder opptil fire webp-bredder — 320, 640, 1024 og 1536, begrenset av kildebredden — så frontenden får et responsivt sett uten et byggesteg. cms_update_entry fester ressursen til cover_image.

Det interessante er ikke generering, som alle har. Det er at prompten lagres på ressursen, som betyr at neste kjøring kan lese hvordan de fire forrige så ut og bevisst gjøre noe annet — annen setting, annen skala, annen kameravinkel, hender eller ikke hender i bildet. Uten den hukommelsen vil en bildemodell produsere det samme fotografiet av en gjenstand på et trebord ved et vindu til hele oversikten ser ut som én ettermiddags fotografering. Husstilen er en nedskrevet regel; variasjonen håndheves ved å gjøre tidligere beslutninger lesbare.

En prompt er et råd. Et skjema er en vegg. Bare den ene av dem virker fortsatt på ellevte avsnitt.

Hvordan finner du ut om artikkelen gjorde noe?

Fordi CMS-et og CRM-et er ett skjema, spør du i én spørring framfor å avstemme to eksporter. Hvert CMS-leveringssvar sender med en _tracking-blokk nøklet på den stabile oppførings-id-en, så å registrere en visning krever ingen egen nøkkel og ingen andre leverandør. Visninger lander som analysehendelser mot den samme kundeposten avtalen ligger på.

Det er hele grunnen til å holde innhold på kundeplattformen framfor ved siden av den. Spørsmålet et lite team faktisk har, er ikke hvor mange økter bloggen fikk — det er hvilke to artikler de som signerte leste først. analytics_get_contact_journey og analytics_list_top_subjects svarer på det mot én tabell, som jeg gikk gjennom i hvilket blogginnlegg lukket avtalen.

Sløyfen lukkes også den andre veien. En publisert oppføring kan speiles inn i kunnskapsbasen så supportagenten kan sitere den, med den samme publiser-og-distribuer-runden som også slipper en kunngjøring inn i en samtalekanal. Det er speilbildet av kunnskapsbasen som fyller seg selv fra løste saker — svar blir artikler, og artikler blir svar.

Hvordan skiller dette seg fra Contentful eller Sanity?

Alle tre kan nå styres av en agent, og det er en genuint fersk utvikling som fortjener å krediteres ordentlig framfor å vinkes bort. Contentful kjører en driftet ekstern MCP-server på mcp.contentful.com/mcp, generelt tilgjengelig, pluss en lokal server med åpen kildekode, og et dashbord der romadministratorer velger hvilke verktøy en AI-klient får se. Sanity kjører en ekstern server på mcp.sanity.io med OAuth, skjemabevisst dokumentoppdatering og GROQ-spørringer; den eldre lokale pakken @sanity/mcp-server er utfaset til fordel for den.

Så spørsmålet er ikke lenger om programvare kan skrive inn i CMS-et ditt. Det er hva posten ellers er festet til, og hva måleren teller.

  • ContentfulBedriftsinnholdsplattformen, og det bredeste redaksjonelle verktøysettet i denne sammenlikningen — Studios visuelle lerret, Personalization, Launch, Tasks, et stort app-marked. Free koster 0 $ med 10 brukere, 100K API-kall i måneden, 50 GB CDN-båndbredde og ett Starter Space begrenset til 25 innholdstyper og 10 000 poster. Lite koster 300 $/måned med 20 brukere og 1M API-kall. Enterprise prises på forespørsel, og det er nivået der AI Actions og EU-datalagring dukker opp.
  • SanityUtviklerens valg for strukturert innhold, med et Studio du kompilerer selv og GROQ, et kraftig spørrespråk for strukturert innhold. Free dekker 20 seter; Growth koster 15 $ per sete i måneden opptil 50 seter og legger til private datasett, kommentarer, planlagte utkast og AI Assist; Enterprise prises på forespørsel.
  • Munin CMSÉn modul av seks på én Postgres, så en oppføring, en kontakt, en samtale og et kunnskapsdokument deler én database og én grense for row-level security. Typede blokker med forfatterregler per type, signerte forhåndsvisningslenker, versjonering med ifVersion, genererte forsideressurser og visningssporing per oppføring som lander på kundeposten. MIT, selvdriftbart med docker compose up, driftet i EU på Munin Cloud. Free koster 0 €/måned med 5 000 MCP-kall, 250 kontakter og 100 MB; Premium koster flate 99 €/måned per organisasjon med målt overforbruk, og kommer snart.

Hva Munins CMS ikke leverer

Det finnes ingen visuell dra-og-slipp-sidebygger, ingen personaliserings- eller A/B-testmotor, og intet app-marked fra tredjeparter. Contentful har brukt år på nettopp det, og et innholdsteam på tolv som setter sammen landingssider uten å røre kode, bør kjøpe Contentful.

Munin er for det andre innholdsproblemet: ingen setter sammen landingssider fordi ingen setter sammen noe som helst. Det du trenger, er et kompetent utkast mandag morgen med en forside på, arkivert mot kundeposten som senere forteller deg hvilken artikkel kjøperen leste.

Hvem bør velge dette?

Velg Munins CMS når sperren er at ingenting blir skrevet i det hele tatt, og når artikkelen til slutt skal leses av noen som allerede er en rad i CRM-et ditt.

Utkastet vet ting. Supporttrådene, avtalefasen, kunnskapsbasen og det publiserte biblioteket er ett skjema med én contacts-tabell bak alle seks modulene. En runde som skriver en sammenlikningsside, kan søke i kunnskapsbasen etter hva som faktisk er sant om produktet framfor å finne opp en funksjon som høres plausibel ut.

Den kjører der du allerede jobber. Claude, Claude Code, Cursor, ChatGPT, OpenAI Agents SDK, eller en kjører du skrev selv — ett MCP-endepunkt, de samme verktøyene, det samme revisjonssporet. Det finnes ingen egen innholdsapp å logge inn i, som stort sett betyr noe fordi det du var i ferd med å hoppe over, var å logge inn.

Prosedyrene er tekst du kan redigere. Publiseringsoppskriftene er medfølgende markdown-ferdigheter, ikke en arbeidsflytbygger. Når rotasjonsregelen er feil for din virksomhet, endrer du en setning, og neste kjøring oppfører seg annerledes.

Og det passer et selskap på én. Cloud Free koster 0 € i måneden, selvdrift er docker compose up under en MIT-lisens som dekker publiseringsverktøyene og hver annen modul i det samme repoet, og modellkostnaden er det leverandøren din tar framfor et gebyr per artikkel til oss. Det samme regnestykket jeg kjørte for et selskap med én stol og seks avdelinger. Hvorfor modellen og verktøyene er to separate kjøp — og hva det gjør med prisen mot HubSpot eller Ghost — er argumentet i en senere tekst.

Ofte stilte spørsmål

Kan en AI-agent publisere blogginnlegg automatisk? Den kan skrive og arkivere dem automatisk. I Munin er cms_create_entry status: "draft" som standard, og det offentlige leverings-API-et returnerer bare publiserte oppføringer, så en ugjennomgått artikkel er usynlig for nettstedet ditt ved konstruksjon. Å gå ut er et eget kall — cms_publish_entry eller cms_schedule_publish — og det er der en person avgjør.

Hva er det beste CMS-et for en AI-agent å skrive inn i? Ett med en typet innholdsmodell og en reell verktøyflate, framfor et rik-tekst-felt bak en innlogging. Contentful, Sanity og Munin kjører alle MCP-servere i dag. Contentful og Sanity er innholdsplattformer; Munins CMS ligger på den samme Postgres som CRM-et, innboksen, kunnskapsbasen, den utgående kontakten og analysen, så en publisert oppføring og kontakten som leste den er én kobling fra hverandre.

Trenger jeg en utvikler for å sette dette opp? For å tegne nettstedet, ja — du trenger en frontend som leser leverings-API-et, og det API-et er anonymt uten CORS, så hentingen kjører på serversiden. For å betjene det etterpå, nei. Å lage samlinger, skrive oppføringer, feste ressurser og publisere er alt sammen MCP-verktøykall du gjør ved å be om dem på vanlig norsk.

Hva koster det å drive en blogg på denne måten? Munin Cloud Free koster 0 € i måneden med 5 000 MCP-kall, 250 kontakter og 100 MB lagring; Premium koster flate 99 € i måneden per organisasjon med målt overforbruk, og kommer snart. Selvdrift under MIT koster det serveren din koster. I tillegg betaler du modelleverandøren din direkte for skrivingen og bildegenereringen. Til sammenlikning koster Contentfuls Lite-plan 300 dollar i måneden og Sanitys Growth-plan 15 dollar per sete i måneden. Alle tall er veiledende og lest av hver leverandørs egen prisside 10. august 2026.

Vil AI-skrevne artikler rangere? Rangering er feil mål å optimalisere for alene nå. En voksende andel kjøpere spør en assistent framfor et søkefelt, så teksten må være siterbar: spørsmålsformede overskrifter som speiler hvordan noen ville formulert seg, et selvstendig svar på førti til syttifem ord under hver av dem, navngitte entiteter, reelle tall, og en oppsummeringsblokk som står alene. Strukturer for gjenfinning, så følger rangeringen stort sett etter.

Kan jeg beholde CMS-et jeg har og bare legge til agenten? Ja, og for et innholdstungt nettsted med et etablert redaksjonsteam er det ofte det bedre svaret — Contentful og Sanity eksponerer begge driftede MCP-servere du kan peke en klient mot i dag. Munin er valget når du heller vil at artikkelen, kunden og samtalen bodde i den samme databasen.

Kortversjonen

  • Seks jobber står mellom en idé og en publisert artikkel. Fem er prosedyre en agent kan holde; den sjette er dømmekraften du beholder.
  • Låsen som åpnet seg, var at CMS-et fikk en verktøyflate. Munins er MCP-verktøy på den samme Postgres som CRM-et, innboksen og kunnskapsbasen — ingen nettlesersesjon i midten.
  • Et typet blokkskjema gjør det en prompt ikke kan: over et dusin navngitte blokktyper med forfatterregler per type, så husstilen følger med feltet på hver kjøring.
  • Utkast er standard, og leverings-API-et serverer bare publiserte oppføringer, så en ugjennomgått artikkel kan ikke nå nettstedet ditt ved et uhell.
  • Forsidebilder genereres gjennom det samme grensesnittet, og prompten lagres på ressursen, så neste kjøring bevisst kan komponere noe annet.
  • Contentful og Sanity kjører begge driftede MCP-servere og leverer brede redaksjonspakker — visuelle byggere, personalisering, app-markeder. Munin er MIT, starter på 0 € på Cloud Free, og holder artikkelen på den samme posten som kjøperen som leste den.

Lag én samling, be assistenten din arkivere et utkast inn i den, og les hva som dukker opp i køen — start på Munin Cloud, eller les dokumentasjonen for hvordan du former skjemaet først.

Ansettelsen var aldri det som manglet. Timen var det.

Kjell Rune Monsø, gründer.