Learn how to integrate Bolt.new AI with Insightly in 2025 with this clear step-by-step guide to boost automation and workflow efficiency.

Book a call with an Expert
Starting a new venture? Need to upgrade your web app? RapidDev builds application with your growth in mind.
You integrate Bolt.new with Insightly by calling Insightly’s public REST API from inside your Bolt.new server code using your Insightly API Key stored in Bolt.new environment variables. Bolt doesn’t have a special Insightly plug‑in — you treat Insightly like any external API: authenticate using HTTP Basic Auth with the API key, send JSON requests, and handle responses. That’s it. The integration is just standard HTTPS requests to Insightly’s REST endpoints.
Bolt.new lets you write a small Node/Express server (or any backend supported in the workspace). From that backend you can call Insightly's REST API. Insightly does not use OAuth for simple API access — it uses Basic Auth with the API key as the username and an empty password.
This is standard, secure, predictable, and works perfectly inside Bolt.new.
In Bolt.new, open the Environment Variables panel. Add:
This keeps your secret out of your source code.
This Node/Express code is 100% real and valid for Insightly’s API. It uses Basic Auth, with the Insightly API key as the username and an empty password.
// Example Express route in a Bolt.new backend
// Calls Insightly to fetch contacts
import express from "express";
import fetch from "node-fetch"; // Bolt.new supports this import
const router = express.Router();
router.get("/insightly/contacts", async (req, res) => {
try {
const apiKey = process.env.INSIGHTLY_API_KEY; // from Bolt.new env vars
const response = await fetch(
"https://api.insightly.com/v3.1/Contacts", // Insightly REST endpoint
{
method: "GET",
headers: {
Authorization:
"Basic " + Buffer.from(apiKey + ":").toString("base64"), // username=api key, password=""
"Content-Type": "application/json",
},
}
);
const data = await response.json();
res.json(data);
} catch (err) {
res.status(500).json({ error: err.message });
}
});
export default router;
// Create a contact in Insightly via POST
router.post("/insightly/create-contact", async (req, res) => {
try {
const apiKey = process.env.INSIGHTLY_API_KEY;
const response = await fetch(
"https://api.insightly.com/v3.1/Contacts",
{
method: "POST",
headers: {
Authorization:
"Basic " + Buffer.from(apiKey + ":").toString("base64"),
"Content-Type": "application/json",
},
body: JSON.stringify({
FIRST_NAME: req.body.firstName,
LAST_NAME: req.body.lastName,
EMAIL: req.body.email,
}),
}
);
const result = await response.json();
res.json(result);
} catch (err) {
res.status(500).json({ error: err.message });
}
});
Your React front-end just calls your backend route. The backend handles authentication and talks to Insightly.
// Example React code calling your backend from Bolt.new
async function loadContacts() {
const res = await fetch("/insightly/contacts");
const contacts = await res.json();
console.log(contacts);
}
Once your integration works in Bolt.new, deploy the same backend to real hosting (Vercel, Render, AWS, etc.). Set environment variables in your production platform, keep the API key secret, and everything works the same — because the integration is just REST over HTTPS.
This is the correct, real, production-grade way to integrate Bolt.new AI with Insightly.
When it comes to serving you, we sweat the little things. That’s why our work makes a big impact.