Freshsales
Send Bellwork district tables to Freshsales as accounts, contacts or leads, and contact lists
Bellwork sends a district table to Freshsales (Freshworks CRM), now or on a schedule. Each district becomes an account, its people become contacts on that account, its answers go into account fields, and the table's people can go on a contact list you start a Freshworks sequence from.
Nothing a rep made in Freshsales is deleted. Bellwork updates the records it matched and never clears a field.
Before you connect: two fields
Freshsales doesn't let other apps make fields, so an admin makes Bellwork's two once. In Freshsales, open Admin Settings, then Module Customization:
| Module | Field type | Name, exactly | Why |
|---|---|---|---|
| Accounts | Text field | Bellwork NCES ID | Each district's NCES ID, so later syncs find its account and never make a second. Tick unique if offered. |
| Contacts | Text field | Bellwork Contact ID | Recognizes people without an email. Optional: without it, they are left out and the sync says so. |
Until Bellwork NCES ID exists, a sync stops and says which field to add.
Connect
- In Freshsales, click your profile picture, then Settings, then API
Settings. Copy Your API key, and note your domain (for example
yourcompany.myfreshworks.com). - In Bellwork, open Settings, then Integrations, and click Connect Freshsales. Enter the domain and paste the key.
Bellwork writes as the person whose key you pasted, and sees only what they can. Use the key of someone who can edit accounts, contacts and lists. To change keys, click Reconnect and paste the new one for the same account.
Sync a table
Open a district table and click Sync to Freshsales in its toolbar. For each district fact and column, tick it and choose one of your account fields. Then choose whether to add the people to a contact list, and how often to repeat. Save and sync sends it now.
Because Freshsales can't make fields for Bellwork, send columns to account fields you already have. Choosing New field in the sheet tells you which field to add in Freshsales; add it, then sync again. A list answer can go to a Multiselect field; an item that isn't one of its choices yet is left out and listed, since only an admin can add choices.
A table that hasn't changed since its last sync sends nothing.
How districts become accounts
- By website. Your account's website is read however it was typed, so
https://www.katyisd.org/matches the districtkatyisd.org. A subdomain or a lookalike never matches. - By NCES ID, in the Bellwork NCES ID field. It is stamped on each account once matched, so later syncs find it by that.
A new account is created with the district's name and website.
How people become contacts or leads
Click Contacts or leads on the Freshsales card to choose.
- Contacts (the default): each person becomes a contact on the district's account, the step a rep does by hand today. Someone already in Freshsales with the same email is linked, not copied.
- Leads: on Freshworks CRM, each person becomes a contact at the Lead lifecycle stage, still on the district's account, with the lead source you choose ("Bellwork" by default). On Freshsales Classic, each becomes a Lead with the district's name as its company. Add the lead source in Freshsales first, or Bellwork leaves it out and says so.
Contact lists
With the list option on, the people sent go on a contact list named Bellwork: your table's name, ready for a sequence. Each person is added once, so someone taken off stays off. Freshsales Classic leads can't go on contact lists, so they are left off.
API use and limits
Freshsales limits API calls per hour (1,000 on Growth, 2,000 on Pro, 5,000 on Enterprise). A changed district costs about 5 to 10 calls; an unchanged one costs none. When the hour's calls run out, the sync waits and tries again every 5 minutes, then stops after an hour and says why.
Disconnect
Click Disconnect on the card. Every table stops syncing, and Bellwork forgets which Freshsales records it matched. Nothing in Freshsales changes.
Salesforce
Send Bellwork district tables to Salesforce as accounts, contacts or leads, and campaigns
Current rolling AI capacity GET
Returns a coarse state and a renewal date — deliberately never a balance, a count, or a percentage. Metered AI actions (chat, enrichment runs, and contact finds) draw against the trailing 168-hour allowance on the free tier. Each action returns exactly seven days after it was reserved; there is no calendar reset. Briefs are recorded but unmetered because follow slots already bound them. Enterprise and internal are unmetered and report `metered: false`. Clients should show nothing while `comfortable`, a quiet notice at `low`, and the upgrade path at `exhausted`. Requests refused for want of allowance return 402 from the acting endpoint, not from here.