100% Free Forever
AI-Powered Learning
Industry Expert Content
Certificates & Badges
Learn At Your Own Pace
Programming

Building an Intranet Site

A step-by-step approach to designing and building a modern SharePoint communication-site intranet, from architecture through automation.

PracticeIntermediate10 min readJul 10, 2026
Analogies

Planning the Intranet Architecture

A modern SharePoint intranet is typically built as a communication site — a site template optimized for broadcasting news and information to a wide audience rather than team collaboration — set as the top-level hub that departmental team sites associate to. Before creating anything, map out the audience segments (all employees, specific regions, specific departments) because SharePoint supports audience targeting on navigation links, news posts, and web parts, showing different content to different Entra ID security groups without maintaining separate sites.

🏏

Cricket analogy: It's like a broadcaster building one central match feed but running targeted regional commentary tracks (Hindi, Tamil, English) for different audience segments instead of producing five entirely separate broadcasts.

Building the Home Page

The intranet home page is built from web parts — News, Quick Links, Highlighted Content (dynamically pulling recent documents by tag), Events, and Hero — arranged into sections and columns using the modern SharePoint page editor. The News web part should pull from a curated news source rather than every site's news feed, otherwise the home page turns into noise; use a dedicated 'Announcements' site page library or the hub's own news, and configure audience targeting so regional news only surfaces to the relevant regional groups.

🏏

Cricket analogy: It's like a cricket broadcast's on-screen ticker curating only key match alerts (wickets, milestones) rather than showing every single ball bowled across every match happening globally.

Hub navigation should stay shallow — a handful of top-level items (Home, News, Departments, Policies, Help) with mega-menu flyouts if deeper links are needed, since intranet users abandon navigation that requires more than two clicks to find something routine like the expense-report policy. Apply the organization's brand theme (colors, logo, site header) once at the hub level via the SharePoint site theme so every associated site inherits it automatically, rather than manually re-theming every departmental site.

🏏

Cricket analogy: It's like a stadium's signage system keeping directions to just a few key zones (Gate, Stands, Food Court) instead of a maze of signs that fans give up following after two wrong turns.

Automating Content with Power Automate

Common intranet automation includes a Power Automate flow that posts an approval task when a new policy document is uploaded to the Policies library, another that emails the communications team when a news post is scheduled but not yet published, and a scheduled flow that archives news items older than 90 days by moving them out of the 'Featured' view. These flows are triggered directly off SharePoint list/library events (item created, item modified) and keep the intranet self-maintaining instead of relying on someone remembering to manually curate content every week.

🏏

Cricket analogy: It's like an automated DRS system flagging a review the instant a close call happens, rather than relying on an umpire to remember to check replays manually after the over ends.

json
{
  "comment": "Simplified Power Automate flow definition triggered on SharePoint item creation",
  "trigger": {
    "type": "SharePoint - When an item is created",
    "site": "https://contoso.sharepoint.com/sites/intranet-hub",
    "list": "Policies"
  },
  "actions": [
    {
      "type": "Start and wait for an approval",
      "approvalType": "Approve/Reject - First to respond",
      "assignedTo": ["comms-lead@contoso.com"],
      "title": "Approve new policy: @{triggerOutputs()?['body/Title']}"
    },
    {
      "type": "Condition",
      "if": "Outcome == 'Approve'",
      "then": [
        { "type": "Update item", "field": "Status", "value": "Published" },
        { "type": "Post message in Teams channel", "channel": "Company Announcements" }
      ],
      "else": [
        { "type": "Update item", "field": "Status", "value": "Rejected" }
      ]
    }
  ]
}

Audience targeting for navigation and web parts requires the target audiences to be Entra ID security groups or Microsoft 365 groups — distribution lists don't work for this feature, so confirm group type before building targeting rules.

Per the project's frozen header/footer policy, an intranet built inside this codebase must never add its own inline footer component on any page — the global layout already renders one. Any request to change shared navigation or footer components requires explicit sign-off before touching Navbar.tsx or GlobalFooter.tsx.

  • Build the intranet as a communication site set as the top-level hub with departmental sites associated below it.
  • Use audience targeting on navigation, news, and web parts to serve different content to different security groups.
  • Curate the home page News web part from a dedicated announcements source rather than every site's raw feed.
  • Keep hub navigation shallow — a handful of top-level items with mega-menu flyouts for deeper links.
  • Apply branding once at the hub theme level so every associated site inherits it automatically.
  • Use Power Automate flows triggered on list/library events to keep content self-maintaining (approvals, archiving).
  • Audience targeting requires Entra ID security groups or Microsoft 365 groups, not distribution lists.

Practice what you learned

Was this page helpful?

Topics covered

#Programming#SharePointStudyNotes#BuildingAnIntranetSite#Building#Intranet#Site#Planning#StudyNotes#SkillVeris#ExamPrep