---
ref: workflow:customer-calls-to-blog-post
title: Draft a blog post from what customers ask on calls
author: thedogwiththedataonit
tools: [tool:gong/get-call-transcripts, tool:webflow/create-cms-items]
tags: [capability:publish-content, capability:review-recordings, channel:website, has:api, motion:content]
updated: 2026-09-29
---

# Draft a blog post from what customers ask on calls

Reads recent Gong call transcripts, finds the question customers ask most, and saves a post answering it as a Webflow draft.

Set up the tools below, then run the steps in order for the user, carrying each step's results into the next. The run is done when the user has the outcome below.

## Outcome

- The question customers asked most on your recent calls, and how many calls raised it.
- A blog post answering it, with no customer names, companies or quotes, saved as a draft in your Webflow blog.

## Inputs

Ask the user for these before you start.

- `since`: how far back to read calls, e.g. 30 days ago
- `blog_collection`: the Webflow CMS collection your blog posts live in, by name, e.g. Blog Posts

## Set up

### Get call transcripts (Gong, tool:gong/get-call-transcripts)

Use the API.

- Base URL: https://{company}.api.gong.io
- Endpoint: `POST /v2/calls/transcript`
- Auth: send the header `Authorization: Basic $GONG_API_KEY`
- Get a key: https://app.gong.io/company/api

Note: `{company}` is your API host prefix from Gong's API settings, as in `company-17.api.gong.io`. `GONG_API_KEY` holds the base64 of `<access key>:<secret>`; 3 calls a second, 10,000 a day.

Note: When more records remain, repeat the request with the returned `cursor`. OAuth apps need the `api:calls:read:transcript` scope.

### Create CMS items (Webflow, tool:webflow/create-cms-items)

Use the first option your agent supports.

Note: Read the collection's fields first (`get_collection_details` on MCP). Setting `isDraft` to `false` only queues items for the next site publish: publish them to go live now. The 100-item limit counts every locale variant.

#### MCP (official, remote)

Add this server to your agent's MCP settings, then sign in when asked.

```json
{ "mcpServers": { "webflow": { "url": "https://mcp.webflow.com/mcp" } } }
```

Call the MCP tool `data_cms_tool` with `POST /collections/{collection_id}/items/insert`.

#### CLI (official)

Install the command and sign in with it, then confirm it runs.

```sh
npm install -g @webflow/webflow-cli
webflow --version
```

Run `webflow cms items create`.

Before step 1, confirm access to each service with its cheapest read-only call, like a list or a search. Never send or change anything to test access.

## Steps

1. **Read recent calls** with Get call transcripts (Gong). Request the transcripts with `fromDateTime` set to `since` and `toDateTime` set to now, following the `cursor` until none is returned. Keep each call's `callId` and its sentences.
2. **Find the question** yourself. Across the transcripts, find the product questions customers ask, group the ones that mean the same thing, and pick the one raised on the most calls. Keep the question, how many calls raised it, and the answers your team gave.
3. **Write the post** yourself. Draft a blog post that answers the question in full, building on the answers your team gave. Leave out every customer's name, company and words. Show the draft to the user, and keep the approved title, slug and body.
4. **Save the draft** with Create CMS items (Webflow). After the user approves, read the fields of `blog_collection`, then create one item in it with `isDraft` set to `true`, filling its name, slug and body from the approved post. Keep the item's ID.

## Notes

The post stays a draft: publish it from Webflow once someone has reviewed it. Transcripts can hold private details, so the post answers the question in your team's words, never a customer's.

## Rules

- Use only the services set up above. The read-only calls they need, like listing ids or polling for results, are fine.
- Ask the user before anything that sends messages, costs money, or changes data, and say how many records it touches. One approval covers a batch the user has seen.
- Never print API keys.
