Overview
SheetXAI's Ghost integration allows you to create, publish, update, and import blog posts and pages directly from your spreadsheet. This powerful feature transforms your spreadsheet rows into fully formatted Ghost posts with just a simple chat command — and supports multi-site management for users with multiple Ghost blogs.
Platform Availability: Ghost integration works in both Google Sheets and Excel versions of SheetXAI.
Before You Start: Ghost Setup
Step 1: Configure Ghost Connection
Before using the Ghost integration, you need to set up your Ghost credentials in SheetXAI:
Open SheetXAI Settings
- Click the Settings button in the SheetXAI sidebar
- Navigate to the Ghost section
Get Your Ghost Admin API Key
- In your Ghost admin panel, go to Settings → Integrations
- Click Add custom integration
- Give it a name like "SheetXAI"
- Important: Copy the Admin API Key — you'll need it for SheetXAI
Enter Your Ghost Details in SheetXAI Settings
- Ghost URL: Your full Ghost site URL (e.g., https://yourblog.com)
- Admin API Key: The Admin API key from your custom integration
Security Note: Admin API keys provide full access to your Ghost content. Keep them secure and only share with trusted integrations.
How Ghost Integration Works
SheetXAI reads your spreadsheet data and maps each column to specific Ghost post fields (title, content, status, tags, etc.). Each row becomes a separate Ghost post or page. You specify all your preferences directly in your chat request to SheetXAI.
Getting Started
Step 1: Create a Template
The easiest way to start is by generating a Ghost template:
Command: "Create a Ghost template in this sheet"
What You Get: A new sheet with all recommended columns:
- Title — Post headline
- Content — HTML body content
- Status — published, draft, or scheduled
- Excerpt — Short summary for previews
- Tags — Comma-separated tags
- Feature Image — URL to the featured image
- Meta Title — SEO title
- Meta Description — SEO description
Step 2: Prepare Your Content
Fill in the template with your content. At minimum, you need:
Required Columns:
- Title — Your post headlines
- Content — The main body text (HTML format)
Optional Columns:
- Status — published, draft, or scheduled
- Excerpt — Short summaries
- Tags — Comma-separated tags (e.g., "tutorials,getting-started")
- Feature Image — URLs to header images
- Meta Title — Custom SEO title
- Meta Description — Custom SEO description
Step 3: Publish to Ghost
Important: Before making your request, click the + icon next to "current sheet" and select Ghost (if not already added).
Use natural language to specify your publishing preferences:
Example Requests:
- "Publish these posts to my Ghost blog"
- "Create Ghost posts from this spreadsheet as drafts"
- "Send these rows to Ghost with status published"
- "Create pages on my Ghost blog from these rows"
Import Ghost Posts
Import All Posts from Ghost
Pull existing posts or pages from your Ghost blog into your spreadsheet for review, editing, or optimization.
How to Import Ghost Posts
-
Make sure Ghost integration is added — Click the + icon next to "current sheet" and select Ghost (if not already added)
-
Request the import — Ask SheetXAI:
- "Import all my Ghost posts"
- "Import published posts from Ghost"
- "Import all Ghost pages"
- "Import Ghost posts tagged 'tutorials'"
-
SheetXAI will process — The AI will:
- Connect to your Ghost blog
- Retrieve posts matching your filters
- Create a new sheet with all your content
- Organize the data with columns for title, content, status, tags, etc.
Filtering Imports
You can filter what gets imported:
- By status: "Import only published Ghost posts"
- By tags: "Import Ghost posts tagged 'marketing'"
- By type: "Import all Ghost pages" (instead of posts)
Imported Data Structure
When you import Ghost posts, SheetXAI creates a sheet with columns including:
- Title — Post titles
- Content — Full post content (HTML)
- Status — Post status
- Tags — Associated tags
- Excerpt — Post excerpts
- Feature Image — Featured image URLs
- Post ID — Ghost post ID (used for updating)
- URL — Published URL
Update Existing Ghost Posts
Update Posts by Post ID
After importing and editing your Ghost posts, you can push the updates back to Ghost.
How to Update Ghost Posts
-
Import your posts (see Import Ghost Posts section above)
-
Edit your posts in the spreadsheet:
- Update titles, content, tags, etc.
- Make bulk changes across multiple posts
- Add or modify any post fields
-
Request the update — Ask SheetXAI:
- "Update these posts on Ghost"
- "Push these changes to my Ghost blog"
- "Update Ghost posts using the Post IDs in column A"
-
SheetXAI will process — The AI will:
- Match each row to the corresponding Ghost post by Post ID
- Update each post with your changes
- Report success or errors per row
Complete Workflow: Import → Edit → Update
Step 1: Import
"Import all my Ghost posts"
Step 2: Edit in Spreadsheet
- Update titles, content, tags, excerpts
- Make bulk changes
- Optimize SEO metadata
Step 3: Update Back to Ghost
"Update these Ghost posts with my changes"
Bulk Publishing
Publishing Multiple Posts at Once
Each row in your spreadsheet becomes a separate Ghost post. SheetXAI processes them all in one batch with per-row error tracking.
Example:
| Title | Content | Status | Tags | Feature Image |
|---|---|---|---|---|
| SEO Tips for 2026 | Complete guide to SEO... | published | seo,marketing | https://image1.jpg |
| Ghost Tutorial | How to use Ghost... | draft | tutorials | https://image2.jpg |
| Content Strategy | Best practices for... | published | marketing,strategy |
Request: "Publish these posts to my Ghost blog"
Result: All 3 posts created on Ghost with their respective statuses, tags, and images. Any row that fails gets a clear error message without stopping the rest.
Multi-Site Support
If you manage multiple Ghost blogs, SheetXAI supports multi-site configuration:
- Add the URL and API key for each Ghost blog in Settings
- When running commands, SheetXAI will prompt you to select which Ghost site to use
- Each site's credentials are stored separately
Example Requests
Basic Publishing
- "Create Ghost posts from this spreadsheet and publish them"
- "Upload these blog posts to Ghost as drafts"
- "Create pages on my Ghost blog from this data"
With Specific Options
- "Publish these posts to Ghost with tags 'featured' and 'blog'"
- "Create Ghost drafts from these rows with featured images"
- "Send these posts to Ghost — use the status in column C"
Importing
- "Import all my Ghost posts"
- "Import published posts from Ghost tagged 'tutorials'"
- "Import all Ghost pages into this sheet"
Updating
- "Update these Ghost posts with my changes"
- "Push these edits back to Ghost"
Best Practices
Content Preparation
- Use HTML content: Ghost expects HTML in the content field — format accordingly
- Use the template: Start with "Create a Ghost template" to get the right column structure
- Start with drafts: Publish as drafts first to review on your Ghost site before going live
- Include SEO metadata: Fill in Meta Title and Meta Description for better search visibility
Publishing Workflow
- Test with one post: Publish a single post first to verify formatting
- Use consistent tags: Keep tag naming consistent for better organization
- Batch similar content: Group related posts for efficient processing
- Clear instructions: One detailed request works better than multiple clarifications
Updating Workflow
- Preserve Post IDs: Don't delete or modify the Post ID column when editing imported posts
- Backup first: Consider exporting your Ghost content before bulk updates
- Test first: Try updating a single post before doing a bulk update
Troubleshooting
Ghost Connection Problems
Symptom: Operations fail with authentication errors
Solution:
- Verify your Ghost URL is complete (include https://)
- Confirm your Admin API key is correct
- Check that your custom integration is still active in Ghost Settings → Integrations
- Generate a new API key if the current one isn't working
Content Formatting Issues
Symptom: Posts appear incorrectly formatted on Ghost
Solution:
- Ensure content is properly formatted HTML
- Check that tag names don't have extra spaces
- Verify image URLs are complete and accessible
- Review your Ghost theme's content styling
Import Issues
Symptom: Import returns fewer posts than expected
Solution:
- Check your filter criteria (status, tags)
- Verify you're importing the right type (posts vs. pages)
- Ensure your API key has permission to read all content
Ready to streamline your Ghost publishing? Set up your Ghost credentials in SheetXAI Settings, create a template, fill in your content, and make a detailed request — SheetXAI handles the rest!