How-To Do This
How to build SignalIQ
Build account signals, explainable scoring, deal-risk views, and approved next-best actions over connected revenue records.
SignalIQ is a ai sales intelligence pattern. This guide turns the product concept into a buildable first release using BuildWithHQ records, pages, workflows, permissions, integrations, AI, and exact-version packaging.
Define the outcome before the screens
Turn scattered account changes into a prioritized queue that tells a seller what changed, why it matters, which evidence supports it, and what action is safe to take next.
Treat every name in this blueprint as a starting point. Use the language of the industry you are serving, but preserve clear ownership, status, permission, and audit boundaries.
1. Create the smallest useful data model
In the Developer Console, create or select the SaaS app and model these as application record types and relationships. The page editor composes React components and validated data bindings, which call the platform APIs for these records.
| Record type | What it holds |
|---|---|
| Account | Company identity, segment, owner, health, and commercial context. |
| Contact | People, roles, consent, engagement, and account relationship. |
| Opportunity | Stage, value, probability, close date, owner, and competing context. |
| Signal | Typed product, intent, engagement, support, or external event with observed time. |
| Score snapshot | Versioned score, factors, weights, confidence, and calculation time. |
| Recommendation | Suggested next action, evidence, owner, state, and expiry. |
Relationship rule: Connect signals and recommendations to the exact account, contacts, opportunities, activities, and source events that explain them.
2. Build the working screens
Start with task-oriented pages instead of a page for every table. The first navigation should contain:
- Ranked account and opportunity command center.
- Account 360 with activity, signals, pipeline, and support history.
- Signal feed with filters and evidence drill-down.
- Recommendation queue with owner and expiry.
- Scoring configuration and version comparison.
Use Puck for the normal visual experience. Keep stable block identity when using Monaco advanced JSON mode so future template upgrades can merge safely.
3. Set access before adding automation
- Scope sellers to assigned or permitted accounts; give leaders only the rollups they are authorized to see.
- Protect sensitive commercial fields separately from general account access.
- Require approval for outbound contact or CRM mutation when policy calls for it.
User Type menus establish eligible page routes for each audience. They do not grant the records or actions on those pages. The server derives the account, SaaS app, user, DataRole, and location scope from the verified identity on every data request.
4. Add the core workflows
- Inbound event → normalize → deduplicate → relate to account.
- Material signal → recompute versioned score.
- Threshold crossing → create explainable recommendation and notify owner.
- Approved recommendation → task, stage change, or connector action.
- Expired or contradicted evidence → close or replace recommendation.
Make each mutation a narrow, reviewed action with explicit inputs, allowed states, correlation evidence, and an idempotent retry policy where retries are possible. Pages, integrations, and agents all reach the same application service and stored-procedure contract through supported APIs.
5. Connect channels and outside systems
- Ingest CRM, product usage, intent, support, and engagement events through APIs or webhooks.
- Send approved actions to CRM, email, calendar, or sales tools.
- Retain source-system identifiers and idempotency keys for reconciliation.
Use managed connections, OAuth connectors, inbound endpoints, and webhooks. Put specialized SDKs or private processing behind a declared appliance endpoint; never expose provider credentials to a page.
6. Add AI as a governed layer
Use AI to summarize permitted account context and propose recommendations, while deterministic rules retain responsibility for required fields, thresholds, ownership, and safe execution.
- Build retrieval from connected account records and approved knowledge.
- Store the evidence and score/model version behind every recommendation.
- Show confidence and missing context instead of manufacturing certainty.
- Evaluate whether recommendations improve accepted actions and outcomes.
AI and retrieval must apply CanAiReadRecords, tenant, DataRole, field, and location security before context is assembled. Planning and research remain read-only. Customer-facing or material changes use an action suggestion and the configured policy or human approval before execution.
7. Ship one complete vertical slice
Recommended first release: Ingest one product-usage signal, update one account score, show the evidence on the account page, and let the owner approve creation of a follow-up task.
- Create the minimum record types and seed representative, non-production data.
- Build the primary list/queue and one complete detail page.
- Implement one state-changing workflow and its denial/error states.
- Add the narrowest useful integration or inbound channel.
- Add one permission-aware AI read or suggestion only if it improves that workflow.
- Test as an owner, a normal operator, a restricted user, and an unauthorized user.
8. Validate, package, and operate
- Replay duplicate signals without duplicating recommendations.
- Prove account/field restrictions apply to scoring evidence and AI context.
- Test score-version changes against a fixed fixture.
- Trace a recommendation back to every source event.
Publish a reviewed exact version as a template when the pattern is reusable. If you sell it, complete the marketplace preparation checks. Template installs are version snapshots; upstream edits must never silently mutate a tenant copy.
Built-in data path: React components and data bindings call authenticated APIs; typed application services execute reviewed stored procedures and return bounded results with audit and correlation evidence.
Rank only the decision your first users actually make. One credible queue beats a broad score nobody can explain.