Integrations
Works inside the tools your team already opens.
Briefs land on the CRM record, approved drafts leave from the rep's own mailbox and the review queue can live in chat. Nothing new to check every morning.

Sixteen connections, set up in minutes.
Filter by the kind of tool or search by name. Each row says which way the data moves.
sample directory · names are fictional16 of 16 integrations
- PipelaneBriefs and drafts land on the account record; approvals sync back.CRMTwo-way
- DealbookReads owners and stages so the agent skips accounts already in play.CRMTwo-way
- AccountlyWrites the brief as a note and links each source.CRMWrite
- MailroomApproved drafts go out from the rep's own mailbox.EmailSend
- InboxaReplies are matched to the draft that started the thread.EmailTwo-way
- SendwellSequences pick up after the first approved touch.EmailWrite
- FirmographCompany size, region and industry for list filters.DataRead
- SignalyardHiring and funding events, refreshed daily.DataRead
- QuarrybaseYour warehouse tables as an account source.DataRead
- TallysheetUpload a spreadsheet of accounts to research.DataRead
- SlotwiseCall prep runs the evening before each meeting.CalendarRead
- MeetbookBooked meetings close the loop on the draft that earned them.CalendarRead
- ThreadlyReview queue alerts in a channel you choose.ChatWrite
- HuddlepostApprove or reject a draft without leaving chat.ChatTwo-way
- NotewellPull call notes into the follow-up draft.DataRead
- RingdeskLogged calls update the account brief.CalendarRead
No integration matches that search. Ask us about it
Connected in an afternoon, not a quarter.
Most teams connect their CRM and mailbox in one sitting. The agent reads only the fields you switch on.
- CRM
- Briefs land on the account record
- Mailbox
- Approved drafts send as the rep
- Chat
- Review alerts in your own channel


Or call it from your own stack.
One request starts a brief for an account. The response carries every claim with the address of the page it came from.
- POST /v1/briefsResearch one account
- GET /v1/briefs/:idBrief, sources and draft
- POST /v1/approvalsApprove or reject a draft
curl https://api.prowlen.example/v1/briefs \
-H "Authorization: Bearer $PROWLEN_KEY" \
-H "Content-Type: application/json" \
-d '{"domain": "ledgerline.example", "voice": "rep_1042"}'
const res = await fetch("https://api.prowlen.example/v1/briefs", {
method: "POST",
headers: { Authorization: `Bearer ${process.env.PROWLEN_KEY}`,
"Content-Type": "application/json" },
body: JSON.stringify({ domain: "ledgerline.example", voice: "rep_1042" }),
});
const brief = await res.json();
import os, requests
brief = requests.post(
"https://api.prowlen.example/v1/briefs",
headers={"Authorization": f"Bearer {os.environ['PROWLEN_KEY']}"},
json={"domain": "ledgerline.example", "voice": "rep_1042"},
).json()
sample API · not a live endpoint





