Setu Recipes: reusable workflows across every app.Browse templates

Integrations / Confluence

Confluence

Team wiki: find, read and create pages and spaces.

6 actions OAuth 2 4 read1 write1 destructive Calls api.atlassian.com

Connect

TypeScript
const conn = await setu.connections.initiate({ userId: "user_1", toolkit: "confluence" });
console.log(conn.connectUrl); // show this to your user
await conn.waitUntilActive();

Permissions requested

ScopeWhy it is requested
read:confluence-content.allRead pages and blog posts
write:confluence-contentCreate and edit pages
read:confluence-space.summarySee space names
search:confluenceSearch your content
offline_accessStay connected without asking you to sign in again

Actions

Create pagewriteconfluence.create_pageCreate a page in a space. The body is Confluence storage format (simple HTML such as <p>text</p>).

Needs scope: write:confluence-content

InputTypeDescription
cloud_idstringRequiredSite ID from list_sites (call that first)
space_idstringRequiredSpace ID from list_spaces
titlestringRequiredPage title
bodystringRequiredPage body as simple HTML
TypeScript
await setu.execute({
  userId: "user_1",
  action: "confluence.create_page",
  input: {
    "cloud_id": "<cloud_id>",
    "space_id": "<space_id>",
    "title": "<title>",
    "body": "<body>"
  },
});
Delete pagedestructiveconfluence.delete_pageMove a page to the trash.

Needs scope: write:confluence-content

InputTypeDescription
cloud_idstringRequiredSite ID from list_sites (call that first)
page_idstringRequiredPage ID
TypeScript
await setu.execute({
  userId: "user_1",
  action: "confluence.delete_page",
  input: {
    "cloud_id": "<cloud_id>",
    "page_id": "<page_id>"
  },
  confirm: true,
});
Get pagereadconfluence.get_pageRead a page's title and body.

Needs scope: read:confluence-content.all

InputTypeDescription
cloud_idstringRequiredSite ID from list_sites (call that first)
page_idstringRequiredPage ID
TypeScript
await setu.execute({
  userId: "user_1",
  action: "confluence.get_page",
  input: {
    "cloud_id": "<cloud_id>",
    "page_id": "<page_id>"
  },
});
List sitesreadconfluence.list_sitesList the Atlassian sites this connection can use. Call this first to get a cloud_id for the other tools.

Needs scope: read:confluence-space.summary

No input.

TypeScript
await setu.execute({
  userId: "user_1",
  action: "confluence.list_sites",
  input: {},
});
List spacesreadconfluence.list_spacesList Confluence spaces on a site.

Needs scope: read:confluence-space.summary

InputTypeDescription
cloud_idstringRequiredSite ID from list_sites (call that first)
TypeScript
await setu.execute({
  userId: "user_1",
  action: "confluence.list_spaces",
  input: {
    "cloud_id": "<cloud_id>"
  },
});