*
* Recoloring the span has been unreliable (Tailwind utility CSS
* specificity quirks, deploy lag), so we just remove the overlay
* entirely with display:none. The anchor's own background then
* becomes the visible color, which is exactly what we want. The
* mobile variant has no overlay span, so display:none on the
* span is a no-op there and the anchor bg wins by default.
*/
#navbar a[href="https://app.nango.dev/signup"] {
background-color: #29abe3 !important;
background-image: none !important;
border: 1px solid #29abe3 !important;
color: #ffffff !important;
}
#navbar a[href="https://app.nango.dev/signup"] > span:first-child,
#navbar a[href="https://app.nango.dev/signup"] span.absolute,
#navbar a[href="https://app.nango.dev/signup"] span[class*="bg-primary"] {
display: none !important;
}
#navbar a[href="https://app.nango.dev/signup"]:hover {
background-color: #217ea6 !important;
border-color: #217ea6 !important;
color: #ffffff !important;
}
/* ══ HIDE BOTTOM CHAT ASSISTANT INPUT ════════════════════════════ */
/*
* Mintlify pins an "Ask a question..." chat-assistant input at the
* bottom of every doc page. The navbar already has a separate Ask AI
* button, so this bottom input is redundant. Mintlify doesn't expose
* a docs.json toggle for it.
*
* Two layers needed:
* 1. The floating input bar itself (.chat-assistant-floating-input).
* 2. Its rounded-2xl wrapper div — which also appears identically
* inside the Ask AI sidebar panel, so the rule must be scoped to
* #content-area to avoid hiding the panel's own input container.
*
* Do NOT use [class*="chat-assistant"] (hides the panel) or
* #chat-assistant-textarea (that ID is duplicated on the panel
* textarea and would hide it too).
*/
.chat-assistant-floating-input,
#content-area div.rounded-2xl.pointer-events-auto[class*="bg-background-light"] {
display: none !important;
}
🚀 Quickstart
Connect to Confluence with Nango and see data flow in 2 minutes.
Authorize Confluence
Go to Connections -> Add Test Connection -> Authorize, then log in to Confluence. Later, you’ll let your users do the same directly from your app. Call the Confluence API
Let’s make your first request to the Confluence API. Replace the placeholders below with your secret key, integration ID, and connection ID:curl "https://api.nango.dev/proxy/wiki/rest/api/content" \
-H "Authorization: Bearer <NANGO-SECRET-KEY>" \
-H "Provider-Config-Key: <INTEGRATION-ID>" \
-H "Connection-Id: <CONNECTION-ID>"
Install Nango’s backend SDK with npm i @nangohq/node. Then run:import { Nango } from '@nangohq/node';
const nango = new Nango({ secretKey: '<NANGO-SECRET-KEY>' });
const res = await nango.get({
endpoint: '/wiki/rest/api/content',
providerConfigKey: '<INTEGRATION-ID>',
connectionId: '<CONNECTION-ID>'
});
console.log(res.data);
Or fetch credentials with the Node SDK or API.✅ You’re connected! Check the Logs tab in Nango to inspect requests. Implement Nango in your app
Follow our Auth implementation guide to integrate Nango in your app.To obtain your own production credentials, follow the setup guide linked below.
📚 Confluence Integration Guides
Nango maintained guides for common use cases.
Official docs: Confluence REST API Documentation
🧩 Pre-built syncs & actions for Confluence
Enable them in your dashboard. Extend and customize to fit your needs.
Others
| Function name | Description | Type | Source code |
|---|
pages | Fetches a list of pages from confluence | Sync | 🔗 Github |
spaces | Fetches a list of spaces from confluence | Sync | 🔗 Github |