Create spreadsheets & documents with Slack
Create a spreadsheet from Slack — via a slash command, a Workflow step, or a bot — and post the link straight back to the channel. Your handler receives the Slack payload, POSTs rows to OpenOfficeAI, and replies with the shareable URL. Great for "/export" style commands.
app.command("/export", async ({ command, ack, respond }) => {
await ack();
const res = await fetch("https://openofficeai.com/api/v1/sheets", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.OPENOFFICEAI_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
title: command.text || "Slack export",
sheets: [{ rows: [["Item", "Value"], ["Example", "123"]] }],
}),
});
const { url } = await res.json();
await respond(`Here's your spreadsheet: ${url}`);
});How to create a spreadsheet with Slack
- 1Build a Slack app (Bolt) with a slash command or workflow step.
- 2In the handler, POST your rows to /api/v1/sheets.
- 3Read the url from the response.
- 4respond() or chat.postMessage the link back to the channel.
Why use OpenOfficeAI with Slack
- Let your team generate shareable sheets without leaving Slack.
- Post the link straight into the conversation.
- Combine with Slack Workflow Builder + a webhook step for no-code.
Frequently asked questions
Can I do this without writing a bot?
Yes. Use Slack Workflow Builder with a "Send a web request" step (or route through Zapier/n8n) to POST to the API and post the returned link back to a channel.
How do I gather the data to export?
Pull it from wherever your command implies — a database query, a previous Slack message, or command arguments — and shape it into the rows array before posting.
Can I upload the result as a file to Slack?
Yes. Fetch /api/v1/download/{id}?format=xlsx and use Slack's files.upload (or the newer upload flow) to attach it, in addition to sharing the link.
Start creating documents with Slack
Free tier includes 500 API calls per month — no card required.