Instagram Feed
Display Instagram posts on your homepage with manual uploads or your own Behold feed
Instagram Feed
Add an Instagram section to your homepage. Visitors see your latest posts with a link to follow you — matching the luxury aesthetic of premium real estate sites.
Three connection modes are available:
- Manual Photos — Upload curated images, videos, and carousels from your media library. You control exactly what appears.
- Your Own Behold Feed (BYO) — Already have a free Behold.so account? Paste your Feed ID and your posts auto-update from your own Behold subscription.
- One-Click Auto-Sync — Coming soon. When enabled by 1 OAK, agents can connect Instagram in one click and we provision the Behold feed for you. Currently paused — use BYO or Manual in the meantime.
Example feed: @1oakmls — used as the placeholder example throughout the dashboard.
Enabling the Section
- Go to Dashboard → Website → Instagram
- Toggle the section on
- Choose your connection mode (Manual, BYO Behold, or wait for auto-sync)
- Configure photos, layout, and per-page placement
- Changes auto-save as you edit
Manual Photos
Full control over what appears — upload your own images, videos, or carousels.
Adding Posts
- Toggle the section on, then click "Or add photos manually instead" if needed
- (Optional) Set your Display handle — e.g.
@1oakmls - (Optional) Upload a Profile picture for the lightbox header
- Click Add Post
- For each post:
- Image — choose from your Media Library (required)
- Post URL — link to the original Instagram post (optional)
- Caption — shown in the lightbox (optional)
- Video URL — paste a hosted MP4 to make this a Reel-style post (optional)
- Timestamp — when this was originally posted (optional, shown in lightbox header)
- Make Carousel — toggle on to turn this into a multi-image swipe post; a sub-editor appears for adding additional slides
Layouts and Per-Page Placement
Manual mode supports all of the same layouts as Behold-connected mode: Grid, Carousel, Filmstrip, and Reels (Reels layout only displays items with a video URL).
You can also place the Instagram section on Footer, About, Contact, and Blog pages via the "Show on other pages" controls — same as Behold-connected workspaces.
Bring Your Own Behold (BYO)
Use your own Behold.so account so your posts update automatically without you uploading anything manually. Behold has a free tier that's sufficient for one feed of up to 6 posts with daily updates.
Setup Steps
- Create a free account at behold.so
- Connect your Instagram in Behold → Sources → Add Source
- Create a JSON feed in Behold → Feeds → New Feed
- Copy the Feed ID — open your feed and look at the URL or click "Embed Code". The Feed ID is the alphanumeric string at the end of the feed URL (e.g.
zFgp2Jbbk23Ovf1ZUOhq). - In your 1 OAK dashboard, go to Website → Instagram
- Open the "Use your own Behold account" panel
- Paste your Feed ID and click Verify and Connect
We hit the public Behold feed endpoint to verify the ID is reachable. If your Behold feed has a domain whitelist, either leave it empty or add your site's domain — otherwise verification will fail.
Why BYO?
- You pay Behold directly (free tier or $10/mo Starter)
- Independent of 1 OAK's platform billing
- Full access to all Behold features (Reels, carousels, hashtag feeds, etc.)
- Posts auto-update on Behold's refresh schedule
How It Works
When a visitor loads your homepage:
- The server fetches
https://feeds.behold.so/{FEED_ID} - Response is cached for 1 hour (Next.js ISR)
- Posts are mapped to optimized 700px WebP images
- Video posts include their MP4 for the Reels layout
- The
@handleand profile picture come directly from the Behold response
If the Behold feed is unreachable, the section gracefully hides itself.
One-Click Auto-Sync (Coming Soon)
When 1 OAK's Behold Platform subscription is active, agents can connect Instagram in one click — we provision the Behold feed for you in the background. This option is temporarily paused while we finalize platform billing.
In the meantime, Use your own Behold account delivers the same end result with a single field of setup.
Configuration Reference
// workspace.settings.site.instagramFeed
{
enabled: true,
title: "Follow Us on Instagram", // Uppercase eyebrow text
maxPhotos: 6, // 4, 6, or 8
source: "manual" | "behold",
// Behold mode fields (populated automatically):
beholdFeedId: "abc123XYZ",
beholdUsername: "1oakmls",
beholdProfilePicture: "https://...",
beholdProvisionMode: "byo" | "platform",
// Manual mode display overrides:
manualUsername: "1oakmls", // Optional; falls back to social.instagram URL parsing
manualProfilePictureUrl: "https://...",
// Items array (manual mode):
items: [
{
id: "ig-1234",
imageUrl: "https://...",
videoUrl: "https://.../reel.mp4", // Optional — makes this a Reel
mediaType: "IMAGE" | "VIDEO" | "CAROUSEL_ALBUM",
postUrl: "https://instagram.com/p/...",
caption: "Stunning waterfront view",
timestamp: "2026-05-13T18:00:00Z",
children: [ // Carousel slides (when mediaType is CAROUSEL_ALBUM)
{ id: "ig-1234-1", mediaType: "IMAGE", imageUrl: "https://..." }
]
}
]
}Instagram Handle Display
The section displays your @handle as a large clickable link above the posts.
Precedence:
- Behold-connected: handle from the Behold API response (
beholdUsername) - Manual mode:
manualUsernameoverride (if set) - Fallback: extracted from your Profile → Social Links → Instagram URL
Set your Instagram URL in Dashboard → Profile → Social Links if you're in manual mode and haven't set a display handle override.
Related Documentation
- Customizing Your Homepage — Overview of all homepage sections
- Media Library — Managing uploaded images and videos
- Branding & Social Links — Setting your Instagram URL