Voice agent · Custom HTTP guide · Pathway webhook + post-call webhook
Northsun + Bland
This guide maps Northsun's frozen caller-memory API to Bland's documented Pathway webhook and post-call webhook capabilities. It is a custom HTTP guide, not a native or certified adapter.
What Northsun adds to Bland
A caller-memory lookup you control.
Your server decides where Bland's documented webhook or outbound orchestration calls Northsun.
Explicit normalization.
Map Bland's current payload into the frozen Northsun request shape and test that mapping with controlled calls.
A proofable boundary.
A successful recording proves the exact Pathway or post-call configuration shown; it does not establish a native adapter.
How to connect Bland to Northsun
Choose the Bland event
Use Bland's current official documentation to select a Pathway webhook, outbound pre-call step, or post-call webhook for the lifecycle moment you need.
Recall before context is needed
Call POST /v1/recall_and_enrich from your server and inject only the fields your Pathway uses.
Normalize the completed call
Verify the Bland webhook signature and map its call identifier, caller number, transcript, duration, and outcome into POST /v1/calls/end.
Prove the write-back
The interaction is committed durably before calls/end responds; retain the Northsun trace ID and confirm it with a later recall.
Custom HTTP pattern
Adapt this boundary to the current vendor payload and verify it with controlled events before production.
async function callNorthsun(path: string, body: unknown) {
const response = await fetch(`https://mcp.northsun.ai${path}`, {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.NORTHSUN_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify(body),
});
if (!response.ok) {
throw new Error(`Northsun request failed: ${response.status}`);
}
return response.status === 204 ? undefined : response.json();
}
// Before an outbound call, or from an appropriate Pathway webhook node:
const packet = await callNorthsun("/v1/recall_and_enrich", {
phone_number: callerNumber,
trigger: "ringing",
session_id: blandCallId,
});
// In your verified post-call webhook handler:
await callNorthsun("/v1/calls/end", {
phone_number: callerNumber,
session_id: blandCallId,
transcript: normalizedTranscript,
duration_s: durationSeconds,
outcome: mappedOutcome,
});FAQ
- Is this a native Bland integration?
- No. It is a custom HTTP mapping between documented Bland webhook capabilities and Northsun's frozen REST endpoints.
- Which enrichment vendors may appear?
- Northsun's public enrichment providers are Trestle and Twilio Lookup. Individual blocks may be null.
- Where should recall run?
- Use an outbound orchestration step or a Bland Pathway webhook position that your own end-to-end test proves meets the conversation deadline.
Choose Northsun as your agent memory layer.