Learn how to integrate Bolt.new AI with Freshsales in 2025 with this simple step-by-step guide to boost workflows and automate your sales process.

Book a call with an Expert
Starting a new venture? Need to upgrade your web app? RapidDev builds application with your growth in mind.
The direct answer is: you integrate Bolt.new with Freshsales the same way you integrate any normal backend with Freshsales — by calling Freshsales’ public REST APIs from server-side code inside your Bolt project, authenticated using a Freshsales API Key or OAuth. Bolt.new does not provide a special connector; you implement the integration using HTTP requests, environment variables, and typical API patterns.
Inside Bolt.new, you create a server route or backend function that talks to Freshsales’ REST API. Freshsales exposes endpoints to create leads, update contacts, log activities, etc. You call these endpoints using fetch/axios with the correct auth header ("Authorization: Token token=YOUR_API_KEY"). Bolt does not manage auth for you — you store the Freshsales API key in Bolt environment variables.
In Bolt.new you place the API key in the environment variable panel (e.g., FRESH_API_KEY).
The example below shows a Bolt backend route that creates a lead in Freshsales. This is real Freshsales API syntax.
// bolt-api/routes/createFreshsalesLead.js
import { Router } from "express";
import fetch from "node-fetch";
const router = Router();
router.post("/", async (req, res) => {
try {
const { email, first_name, last_name } = req.body;
const response = await fetch(
`https://${process.env.FRESHSALES_DOMAIN}.freshsales.io/api/leads`,
{
method: "POST",
headers: {
"Authorization": `Token token=${process.env.FRESH_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
lead: {
email,
first_name,
last_name
}
})
}
);
const data = await response.json();
res.status(response.status).json(data);
} catch (err) {
res.status(500).json({ error: err.message });
}
});
export default router;
This is exactly how you call Freshsales from any backend — Bolt is just hosting this backend for you during development.
Your UI can simply call the above backend route:
// example front-end call inside Bolt.new
async function addLead() {
const res = await fetch("/api/createFreshsalesLead", {
method: "POST",
headers: {
"Content-Type": "application/json",
},
body: JSON.stringify({
email: "[email protected]",
first_name: "John",
last_name: "Doe"
})
});
const json = await res.json();
console.log(json);
}
The Freshsales API key must never be placed in the front-end; always route through the backend as shown.
This is the exact same integration you tested in Bolt, just running in your actual deployment environment.
When it comes to serving you, we sweat the little things. That’s why our work makes a big impact.