What Project Pulse does
Project Pulse is a short status update for each project — work in progress, blockers, and quotes to prepare — built from what's already recorded in BOQ Manager (jobs, daily site logs, procurement, POs and BOQs). Every fact in it comes from your records; the AI only writes the summary around them, and each point links back to the item it's about.
You can always see it in the app under Pulse (top navigation). This guide connects it to Zoho Cliq so that:
- each project's Pulse is posted to that project's own Cliq channel on a schedule, with a thread under it;
- anyone in the channel can type /pulse to get the update (or ask a question) on demand;
- the team can reply in the Pulse thread with updates, comments and changes, and snooze items.
Pulse only ever uses the Cliq channels you've set as a project's channel in BOQ Manager. It ignores every other channel, even if the Pulse bot is in it.
How blockers are worked out
Blockers are one item per job order. Pulse builds each job's blocker from:
- its status — a job marked Blocked shows how many days it has been blocked;
- its blocked reason and its comments (newest first);
- the daily update entries linked to that job (pick the job order when you post the update);
- replies about the job in the Pulse thread in Cliq;
- items on the job: blocked subtasks, recent delays, high risks, critical or major punch items, and dependencies that are holding it up;
- materials and POs for that job: a request still waiting for approval, approved materials with no PO, a PO that's late or only partly received. They count only when they're tied to the job: requested from the job, or on a PO with lines for it. Untied requests and POs appear under Work in progress.
Each blocker gives one plain reason and lists its evidence underneath. When the AI writes the reason, it quotes the comment, site-log line or thread reply it used, and Pulse checks that the quote is really there. Without the AI (trial workspaces, an empty token wallet, or /pulse) the reason is the job's recorded blocked reason and latest comment.
Pulse also flags jobs not marked Blocked when their comments, linked site log or thread replies say work has stopped. These are labelled reported, not marked Blocked. Check them and set the job to Blocked if that's right. Site-log entries with no job picked, and BOQs on hold, are still shown as blockers for the project as a whole.
- Plan: Cliq delivery is part of Integrations, available on the Professional plan and above. The in-app Pulse page works on every plan.
- Who: a BOQ Manager admin, or a user with edit access to the Integrations module. Steps 4–6 also need a Cliq organisation admin (creating bots and commands is done in Cliq).
- Zoho API client for Cliq: Pulse signs in to Cliq with a Zoho API Console client you register for it (step 1). It's separate from the Zoho People client.
- AI tokens: summaries and reading thread replies use AI tokens from your workspace wallet. Trial workspaces get the update without the AI summary. If the wallet runs out, the update is still sent — just without the summary.
Step 1 — Register a Cliq API client (once)
- Go to api-console.zoho.com and sign in with a Zoho account in your organisation.
- Add client → Server-based Applications.
- Name it (e.g. "BOQ Manager Pulse") and set Authorized Redirect URI to
https://boqmanager.com/api/tenant/zoho-cliq/callback(use your BOQ Manager address if it's different — the settings page shows the exact URI). - Create it and copy the Client ID and Client Secret.
- In BOQ Manager: Settings → Integrations, choose Project Pulse in the Platform list, paste both values under Cliq API client and save.
Step 2 — Give each project its Cliq channel
- Settings → Integrations → Zoho Cliq, then the Per-project overrides — Zoho Cliq table.
- For each project, paste its channel's URL:
https://cliq.zoho.com/api/v2/channelsbyname/<channel unique name>/message. You'll find the unique name in the channel's details in Cliq. - Save. (Send test on that table checks the URL using your workspace's Cliq access token, if one is set above — Pulse itself doesn't need that token.)
One channel per project. Everyone in that channel will see that project's Pulse — and only that project's.
Threads: in Cliq, the channel's reply setting must allow threads (Threads or Both). With "normal replies only", the update is still posted but there's no thread to reply in.
Step 3 — Connect Cliq
- Settings → Integrations, choose Project Pulse in the Platform list.
- Under Project Pulse — Cliq connection, click Connect Cliq and approve the Zoho consent screen (it asks to post messages to Cliq).
- You're returned to the same page; the status shows Connected.
If Connect Cliq isn't shown, finish step 1. If the status later shows Needs reconnecting (for example after the client's secret or ID was changed), click Reconnect Cliq.
Connected before Pulse had its own client? The page says the connection uses the Zoho People client. Save a Cliq API client, then click Reconnect Cliq to switch.
Step 4 — Create the Pulse bot (Cliq admin)
Pulse posts as an organisation bot, and the bot is how replies in the thread reach BOQ Manager.
- In Cliq: Bots & Tools → Bots → Create bot. Name it e.g. "Project Pulse".
- Set access level to Organization and turn on Allow users to add this bot to any channel.
- Under participation, allow it to listen to messages and send messages.
- Turn auto-follow threads OFF. With it off, the bot only hears threads under its own Pulse posts (and threads where someone @mentions it) — ordinary chatter never reaches BOQ Manager.
- Add the bot to each project channel from step 2.
- Copy the bot's unique name, and in BOQ Manager paste it into Pulse bot unique name (Project Pulse panel) and save.
If you leave the bot name blank, Pulse posts as the person who connected Cliq instead, and thread replies won't work.
Step 5 — Turn on the schedule
In Scheduled Pulse per project (Project Pulse panel), for each project:
- tick On,
- choose when — Every day, Weekdays, or one day a week — the time, and the time zone,
- choose the sections (Work in progress, Blockers, Quotes),
- Save.
Click Send test to post a Pulse to the channel right away. The update is posted as the bot, with a thread opened under it. Each scheduled Pulse is sent once per day at or after its time; if a run is missed it catches up later the same day.
Step 6 — /pulse and thread replies (Cliq admin)
Both are short scripts you paste into Cliq. In the Cliq command and bot card:
The /pulse command
- Choose /pulse command, click Create token, and copy the script shown. The token is shown only once.
- In Cliq: Bots & Tools → Commands → Create command named pulse, paste the script as its Execution handler, and save.
Thread replies
- Choose Pulse bot (thread replies), click Create token, and copy the script.
- In Cliq: open your Pulse bot → Participation handler, paste the script, and save.
Card buttons — Snooze an item / Ask Pulse
Each Pulse is posted as a card with an Open full report button. To add Snooze an item and Ask Pulse buttons:
- Choose Card buttons (Snooze / Ask), click Create token, and copy the two scripts shown.
- In Cliq: Bots & Tools → Functions → Create function of type Button, paste the first script, and save. Note its name.
- Create a second function of type Form, paste the second script as its submit handler, and save. Note its name.
- In BOQ Manager (Project Pulse panel, Card buttons): enter both function names and the email of the Cliq user who created them, then Save.
New Pulse cards then carry the two buttons. Snooze an item opens a small form to pick an item and 1, 3 or 7 days; Ask Pulse opens a box for a question, answered from the project's records.
Revoking a token in the same card stops that script immediately. Create a new token and paste the new script to restore it.
Using it day to day
/pulse in a project channel
/pulse— the full update for this project/pulse blockers,/pulse quotes,/pulse wip— one section/pulse what's blocked on Block A?— a question, answered from the project's records/pulse help— the list
Answers only include what your BOQ Manager account can see, and nothing is saved. Your Cliq email must match your BOQ Manager login.
The Pulse card
Each update arrives as a short card built for action, so it isn't overwhelming:
- the project and date, then "N things need action today";
- at most 5 actions, ranked: stopped or blocked work first, then by the date it's needed. Each starts with a marker: 🔴 work stopped or critical (a blocked job, a late PO holding up a job, material needed today or earlier), 🟠 due soon, ⚪ can wait. Each one says what to do (for example "Chase Gulf Ceramics for the bathroom tiles"), why ("PO-112 is 4 days late · tiling stopped for 6 days"), who owns it (the job's assignee, or a role such as Procurement or QS) and when (today, by a day, or this week);
- one line for everything that's fine, such as "6 other jobs on track · 1 PO due Mon · 1 item cleared since the last report";
- buttons: Open full report, and with step 6's card buttons, Snooze an item and Ask Pulse.
With the AI, the action wording is written for you. Without it (trial workspaces, an empty wallet) the actions use plain wording such as "Bathroom tiling blocked 6 days: PO-112 late", ranked and capped the same way. Everything else is in the full report in the thread under the card, and on the Pulse page in the app, which opens with the same ranked actions (top 5, then the rest) above the full list. The thread's full report has three parts:
- All actions: every action, ranked as on the card but not limited to 5. Each has the facts behind it, the quoted reason when there is one, and links to the job and PO.
- Procurement: grouped by site request (or take-off), then by the POs raised for it. Each PO number links to the PO, with its state (for example "🔴 4 days late, 0% received · holding up A01-002"). Lines also show items with no PO yet and items awaiting approval. On-time POs are listed at the end.
- On track: jobs in progress, POs on time, yesterday's site log, what's cleared since the last report, and how many items are snoozed.
/pulsereplies use the same layout. If Cliq ever rejects the card, Pulse posts the same update as plain text instead.
Replying in a Pulse thread
- Updates — "tiles arrive Thursday", "access sorted with the landlord". Nothing in BOQ Manager changes; Pulse notes it and mentions it in the next updates, credited to you.
- Comments — "Kitchen joinery comment: keys collected". The comment is added to the job straight away, marked AI posted · from Cliq, with you as the author. Pulse replies with a code;
undo K7Q2within 24 hours removes it. - Changes — "push Kitchen joinery to the 18th", "Bath tiling blocked: waiting on grout", "Acme will deliver on the 16th". Pulse proposes the change with a code and changes nothing yet. Reply
confirm K7Q2to apply it ordiscard K7Q2to drop it. If the item was changed in BOQ Manager after the proposal, it isn't overwritten — Pulse tells you. - Snooze —
snooze 3 Kitchen joineryhides an item from Pulse updates for 3 days (any number up to 14), or until it gets worse.undo <code>brings it back. You can also snooze and unsnooze from the Pulse page in the app.
No BOQ Manager account? Anyone in the project channel can reply — a site supervisor or subcontractor doesn't need to be a BOQ Manager user. Their updates are noted for the next Pulse, credited by their Cliq name. Comments and changes they ask for are kept as notes for the team to act on rather than applied, and confirming, undoing and snoozing need an account.
What can be changed from chat: a job's due date, planned start, status and blocked reason, a comment on a job, and a PO's expected delivery date. The usual rules apply — for example, a job can't be set to Blocked without a reason.
Who can confirm: by default, anyone in the thread whose Cliq email matches an active BOQ Manager user. To require edit access to the job or PO instead, change Who can confirm changes from thread replies in the Project Pulse panel. Snoozing always needs edit access to that area, because it hides the item from the whole channel. Every change made from Cliq is recorded in the audit log, and shows in the job's activity with the AI posted badge.
Turning it off
- One project's schedule: untick On for it and save. /pulse and thread replies keep working in its channel.
- One project entirely: clear its Cliq channel URL. Pulse stops posting, answering /pulse, and reading replies there at once.
- Everything: Disconnect in the Cliq connection card, and revoke the tokens in the Cliq command and bot card.
Past Pulse updates and replies stay in BOQ Manager's history and are included in your workspace data export.
Troubleshooting
- "Not sent — Cliq is not connected" or "needs to be re-authorised" — redo step 3.
- "Not sent — … isn't a channelsbyname URL" — the project's channel URL must use the
/channelsbyname/<unique name>/messageform (step 2). - Posted, but no thread — the channel's reply setting is "normal replies only" (step 2).
- "This channel isn't linked to a BOQ Manager project" — set this channel as a project's channel (step 2). Pulse doesn't answer in other channels.
- "Your Cliq email isn't linked…" (on
/pulseor a card button) — the person's Cliq email must match their BOQ Manager login. Invite them with that email. Thread replies don't need this — see "No BOQ Manager account?" above. - "This /pulse command isn't set up correctly" — the token was revoked or mistyped; create a new one and paste the new script.
- Replies are ignored — check the bot is in the channel, the reply is inside the Pulse's own thread, and the participation handler script is saved.
- No Snooze / Ask buttons on the card — the card buttons aren't set up (step 6), or the function names / owner email in the Project Pulse panel don't match the functions in Cliq.
- "Cliq refused the post…" — the channel doesn't exist, or the account that connected Cliq (or the Pulse bot) isn't a member of it. Add it to the channel.
- No AI summary — the workspace is on a trial, or the AI token wallet is empty. The update itself still goes out.
- "Pulse couldn't process that just now" after a thread reply — reading free-text replies needs the AI (same reasons as above), or it timed out; try again or make the change in BOQ Manager.
confirm,discard,undoandsnoozedon't need the AI, so they work even then.