Back to Dev.to in Google Sheets
SheetXAI logo
Dev.to logo
Dev.to · Google Sheets Guide

Bulk Publish Draft Articles to Dev.to From a Google Sheet

2026-05-14
5 min read

The Scenario

You're a developer relations manager and it's Tuesday morning before a product launch. The engineering team shipped ten tutorials last week — stored in a Google Sheet, markdown bodies in column B, titles in column A, tags in column C. The plan was to publish all ten to DEV Community over the weekend. That didn't happen. The launch is Thursday.

The bad version:

  • Open the DEV editor for article one. Paste the title. Paste the markdown body. Add each tag individually. Hit create. Check that the preview renders correctly. Mark column D in the sheet as "done." Close the tab.
  • Repeat nine more times, hoping the markdown renders the same in DEV's preview as it looked in the sheet.
  • Discover at article seven that the code fences in column B used single quotes instead of backticks. Go back and fix articles one through six.

You're supposed to be writing the launch announcement. You're not writing the launch announcement.

The Easy Way: One Prompt in SheetXAI

SheetXAI is an AI agent that lives inside your Google Sheet. It reads the data across your tabs and through its built-in Dev.to integration can publish articles on your behalf — conditionally, in bulk, and with the column mappings you've already set up. No extra tooling required.

Open the SheetXAI sidebar and paste:

Create a DEV Community draft article for every row in the ArticleDrafts sheet — column A is the title, column B is the markdown body, column C is a comma-separated list of tags (max 4). Set published=true for rows where column D says "publish", otherwise leave as draft.

What You Get

  • One DEV Community article created per row in the sheet.
  • Rows where column D says "publish" go live immediately; all others are saved as drafts.
  • The returned article ID and canonical URL are written back into columns E and F for your records.
  • Any row that returns an error surfaces in column G with the DEV API error message, so nothing fails silently.

What If the Data Is Not Quite Ready

The tags column has five tags instead of four

DEV Community enforces a maximum of four tags per article. If column C has five comma-separated values, the fifth gets dropped.

For every row in ArticleDrafts, publish to DEV Community using column A as title and column B as body. For tags, take column C but limit to the first four values only — truncate any remainder and note which rows were trimmed in column H.

Some rows are missing a title

A few rows in the sheet have a markdown body but column A is blank — someone started the draft and didn't name it yet.

Publish all ArticleDrafts rows where column A is not empty. Skip any row where column A is blank and flag it in column I with "missing title" so I can fill it in before the next run.

The markdown bodies contain image URLs that need updating

Column B has absolute image paths that point to a staging CDN. Before publishing, they need to be swapped for production URLs.

For each row in ArticleDrafts, replace any image URL in column B that contains "staging.cdn.example.com" with "cdn.example.com", then publish to DEV Community with the updated body — column A is title, column C is tags.

Clean up formatting, validate, and publish in one pass

Column B has inconsistent heading levels, mixed tab/space indentation in code blocks, and some rows have trailing whitespace in the title.

For every row in ArticleDrafts: trim whitespace from column A, normalize code block indentation in column B to spaces, fix any H1 headings in the body to H2, then publish to DEV Community. Set published=true for rows where column D is "publish". Write article URLs to column E.

The whole point of combining cleanup with the action is that you don't produce a clean draft and then manually trigger publishing. One pass, one result.

Try It

Get the 7-day free trial of SheetXAI and open the sheet where your DEV Community content lives — articles queued, drafted, and tagged — then ask SheetXAI to bulk-publish based on the column that marks which ones are ready. The Dev.to integration handles the rest.

See also: Pull your DEV article engagement metrics into a Google Sheet and the Dev.to integration hub.

Stop memorizing formulas.
Tell your spreadsheet what to do.

Join 4,000+ professionals saving hours every week with SheetXAI.

Learn more