Anexus pushes each captured contact onto whatever board you point us at, as a new item. The whole integration turns on one question monday.com asks and other CRMs don't: which typed column does each value belong in?
Boards, items and columns — monday's vocabulary
Nothing in monday.com is called a "record" or a "lead object". Three words carry the entire integration, and knowing them makes every step below obvious:
- Board — the table your leads live in. It has a numeric ID and sits in a workspace. A board is Main (visible to the workspace), Shareable (guests too) or Private (only its subscribers can see it — including via the API).
- Item — one row. Its name is the only field every item is guaranteed to have. Items sit inside Groups (the coloured bands down the board).
- Column — a typed field: email, phone, text, long text, status, people, date, numbers. The type is fixed the moment the column is created, and monday.com rejects a value that doesn't fit the type rather than coercing it.
If you use the monday CRM product, its Leads and Contacts boards are ordinary boards underneath — same numeric IDs, same typed columns, same API. Point Anexus at the Leads board and it behaves exactly like any other board.
Before you start
- A monday.com plan that includes API access (most paid plans do). The account's API allowance scales with the plan tier, and monday.com meters it by query complexity as well as by call count.
- A board ready to receive items. A simple "Leads" board with an Email, a Phone and a Text column is enough. If you don't have one, create it first in monday.com.
- A monday.com user with edit rights on that board to generate the token from. A token inherits its owner's permissions exactly — a Viewer or Guest seat can read a board but cannot create items on it.
Step 1 — Shape the board before you connect anything
Do this first, not last. A monday.com column's internal ID is assigned once, when the column is created, and renaming the column later does not change it. Getting the columns right before you connect takes a minute and saves you from chasing half-empty items afterwards.
Open (or create) the board that will hold your leads.
Add a real Email column, a real Phone column and a Text (or Long Text) column — picked from monday's column-type picker. A text column merely titled "Email" is still a text column.
Name them Email, Phone and Text. Anexus looks for a Text column named "notes" or "text" to put the message in, so keep that column's English name even on a French or Spanish board; naming the other two to match keeps everything readable. Keep it simple — one Email column, one Phone column, one Text column.
Step 2 — Copy your personal API token
In monday.com, click your profile avatar (bottom left) → Developers to open the Developer Center.
Open My access tokens and click Show next to your personal token.
It is a JWT: a long eyJ... string, usually 200+ characters, in three dot-separated segments. Copy all of it. A JWT truncated at a line break still looks plausible and fails validation instantly.
The token is personal. Anexus asks for a personal API token, and that token acts as you — it is bound to one person. If that user is deactivated, removed from the account, or downgraded to a Viewer seat, the token stops being able to create items. On a shared account, generate it from a user who will still be there next year.
Step 3 — Read the board ID out of the URL
Open the board you want items created on.
Look at the URL in your browser. It looks like:
https://yourcompany.monday.com/boards/1234567890
The digits straight after /boards/ are the board ID. Copy the digits only.
If the URL carries more after that — /views/… or /pulses/… — ignore it. A view ID and an item ID (monday calls items "pulses" internally) are different numbers entirely, and pasting one of those is the most common cause of an "invalid board" error.
Step 4 — Connect in Anexus
In Anexus, go to Settings → CRM Integrations → monday.com → Connect.
Fill in:
- Board ID: the numeric ID you copied from the URL
- Personal API Token: the full
eyJ...JWT
Click Save & connect.
What an Anexus contact becomes on your board
One captured contact becomes one item. The item name is the only part that is always written; every other value needs a matching typed column to land in.
| What Anexus captured | Where it lands in monday.com | Which column it needs |
|---|---|---|
| Full name | The item name | built in — falls back to the email address when no name was given |
| The board’s Email column | any column of the email type | |
| Phone | The board’s Phone column | any column of the phone type |
| Message | A Text column named "notes" or "text" | text or long text type, found by that name |
| Company, job title | Not among the columns filled automatically | add your own columns and fill them in monday, or read them in the Anexus Mini CRM |
| A contact with no valid email | No item is created | skipped before it reaches monday.com |
If your board uses differently-named columns, the item is still created with just its name — nothing is thrown away because a column is missing, and you can fill the rest in by hand afterwards. For best results, name your columns email, phone and text.
A column title and a column ID are not the same thing
Every monday.com column carries two names. The title is what you see on the board and can rename whenever you like. The column ID is generated once, at creation, and never changes — so renaming a column titled "Work email" to "Email" leaves its ID exactly as it was. The API addresses columns by ID, never by title.
That is why a board that looks perfect can still fill items with nothing, and why renaming a column changes nothing. Read the real IDs before you touch the board — the next paragraph shows how. Do not delete a column that already holds data to try to force a different ID: deleting a monday.com column deletes every value stored in it, on every item of the board. If a column still won't fill, nothing is lost — the full record stays on the contact in Anexus's Mini CRM. Fill the board in by hand and contact support.
To see the real IDs, use the API playground in monday's Developer Center and query your board's columns — it returns each column's id, title and type side by side, which settles the question in about ten seconds.
A board is not a contact database — plan for duplicates
Classic CRMs treat the email address as a unique key and quietly merge a second submission into the existing record. A monday.com board has no such notion: an item is a row, and the same person met twice is two rows. Design for it instead of fighting it — sort or group the board by the Email column, or add a monday.com automation ("when an item is created…") to assign an owner, notify someone, or move the item into a review group so nothing sits untouched.
If something goes wrong
"monday: invalid board"
The board ID is wrong, or the board is one your token cannot reach. Work through these in order:
- You copied only the digits after
/boards/— not a view ID, not a pulse (item) ID, no slashes - The board is Private. A private board is invisible to anyone who isn't a subscriber, API included — add the token's owner as a board subscriber, or move the board to Main
- The board hasn't been archived or moved to the trash. An archived board keeps its ID but stops accepting new items
- You can open that board while signed in as the person whose token you pasted — not as yourself, if they are different people
The item appears, but every column is empty
This is the classic monday.com symptom and it is almost never the token — the token clearly worked, because the item exists. Either the board's columns carry internal IDs that aren't what the integration expects (see above), or the column type doesn't match the value: an email address offered to a status or numbers column is refused outright rather than stored as text. Check each column's type and its real ID in the API playground before you change anything, and don't delete a column that already holds data. If it still won't fill, accept manual entry and keep the rich record in Anexus's Mini CRM.
The Phone column stays blank while Email fills in fine
monday.com's phone column doesn't store a plain string — it stores a number together with a country. A number typed without a country code, or wrapped in spaces, dashes and parentheses, can be accepted and then display as empty. If most of your leads are Canadian and type 514-555-0123, expect that. The number is not lost: it stays on the contact in Anexus's Mini CRM, and asking for the country code on your exchange form is the cleanest cure.
It worked for months, then stopped authorising
Personal tokens die with their owner's access. Check whether that monday.com user was deactivated, removed from the account, downgraded to a Viewer seat, unsubscribed from the board — or whether somebody clicked Regenerate on the token. Generate a fresh token, paste it again, and use the Test button on the connected card to confirm before you rely on it.
A large "Sync past contacts" run stalls part-way
monday.com's API budget is measured per account, not per app, and it counts query complexity as well as calls. A backfill therefore competes with every other integration, automation and app installed on the same monday.com account. Contacts that get refused stay pending and the next click of Sync past contacts picks them back up — so run the backfill outside your busiest hour and click it a second time afterwards.
The items are not where I am looking
Before concluding nothing arrived, check two things. Look in every group on the board, not only the one you watch. And board views remember their filters — a view filtered to a status or an owner hides brand-new rows that have neither. Switch to the Main Table view and clear the filter.
Disconnecting and rotating the token
Click Disconnect in Anexus and we stop creating items immediately. Items already on the board stay exactly where they are — we never reach back into monday.com to delete anything.
To kill the credential on monday's side: Profile avatar → Developers → My access tokens → Show → Regenerate. One warning specific to monday.com — a personal token is a single credential, not one per app. Regenerating it invalidates it for every tool, script and automation that user has ever pasted it into, not just Anexus.