// projects

Things I've shipped

A selection of Salesforce and RevOps builds — what the business needed, how it was solved, the stack behind it, and what changed after go-live.

01 / 04
Salesforce · Custom Objects · Finance
Client
The Property Buying Company
Year
2024
Stack
SalesforceCustom ObjectsFlowReports & Dashboards

Property Financial Tracking & EBITDA Visibility

Replaced a manual spreadsheet process with a fully native Salesforce solution to track gross profit, revenue, costs, and EBITDA across every property the business bought, sold, and traded to investors.

// problem

The business was tracking budgeted figures and EBITDA across hundreds of properties in spreadsheets — slow, error-prone, and giving leadership no real-time visibility into financial performance at a deal level.

// solution

Built custom Salesforce objects to hold financial data per property, with child transaction records capturing individual budget figures. Overhead data was pulled in to calculate EBITDA automatically, with everything surfaced through dashboards and reports inside Salesforce.

// business impact
  • Eliminated manual Excel data entry, saving significant time across the finance and operations teams
  • Gave leadership real-time visibility into gross profit, revenue, costs, and EBITDA at a per-property level
  • Budget vs actual comparisons became instant rather than requiring manual spreadsheet updates
  • Enabled faster, more confident decision-making on deals across the pipeline
02 / 04
Salesforce · Apex · Integration
Client
BMV Hub
Year
2025
Stack
SalesforceApexREST APIWebhooksJSON

Bidirectional Salesforce ↔ BMV Hub Integration

Built a bidirectional integration between Salesforce and the Prop Sourcing app, allowing properties to be pushed directly from Salesforce to the marketplace and offers and reservations to flow back in — eliminating duplicate admin and increasing deal throughput.

// problem

Property data already lived in Salesforce, but listing to the app meant manual re-entry. Incoming offers and reservations from the app had no automated route back into Salesforce, creating lag, admin overhead, and visibility gaps.

// solution

Built a custom Apex integration layer that serialised property records into a structured payload and pushed them to the BMV Hub API. Inbound webhooks received offers and reservations from the app, creating and updating records in Salesforce automatically — keeping both systems in sync in real time.

// business impact
  • Eliminated manual data entry for listing properties — what was previously admin-heavy became one click
  • Offers and reservations landed directly in Salesforce, giving the sales team instant visibility
  • Reduced turnaround time on deals by removing the back-and-forth between systems
  • Laid the foundation for further automation as the app and Salesforce org scaled together
03 / 04
Salesforce · AI · Telephony
Client
The Property Buying Company
Year
2025
Stack
SalesforceApexAI TelephonyREST APISentiment AnalysisFlow

AI Outbound Calling — Prospect Engagement at Scale

Integrated an external AI calling platform into Salesforce to automatically dial prospects, with calls tied directly to Salesforce records — transcriptions, sentiment analysis, and follow-up tasks all written back automatically.

// problem

Sales reps were spending a significant portion of their day manually calling prospects and logging call notes. Follow-up tasks were inconsistent and dependent on individual discipline, leading to dropped leads and slow pipeline progression.

// solution

Connected an AI outbound calling tool to Salesforce using the record ID as the anchor. Once a call completed, the integration pushed the full transcription back to the Salesforce record, applied AI-generated sentiment scoring, and created follow-up tasks based on the content of the conversation — all without manual input.

// business impact
  • Dramatically reduced time reps spent on manual dialling and call logging
  • Every call automatically transcribed and stored against the correct Salesforce record
  • Sentiment analysis flagged hot leads and at-risk prospects for prioritisation
  • Follow-up tasks created automatically based on call content, improving pipeline consistency
04 / 04
Salesforce · AI · Telephony
Client
The Property Buying Company
Year
2025
Stack
SalesforceApexAI TelephonyREST APISentiment AnalysisFlow

AI Inbound Call Handling — Automated Triage & Logging

Extended the AI telephony integration to handle inbound calls — matching callers to existing Salesforce records, transcribing conversations, scoring sentiment, and generating follow-up tasks automatically.

// problem

Inbound calls from prospects and vendors were being handled manually, with notes logged inconsistently or not at all. There was no structured way to capture what was discussed or ensure the right follow-up happened afterwards.

// solution

The inbound AI system matched callers to Salesforce records using their ID or phone number, handled the call, and on completion pushed a full transcript back to the record. Sentiment was scored and follow-up tasks were automatically generated based on what was said during the call.

// business impact
  • Inbound calls matched to the correct Salesforce record automatically — no manual lookup required
  • Full transcripts captured against every record, creating a complete contact history
  • Sentiment scoring gave the team instant context before any follow-up interaction
  • Automated task creation ensured no inbound lead fell through the cracks