1. Introduction

This updated proposal has been prepared in response to the technical and architectural questions raised by Aoife Duna, Chief Data and AI Officer at CompuCycle. It reflects the full and revised scope of the real-time auction bid data integration project, incorporating the additional requirements discussed across our exchanges.

This document supersedes the original proposal and includes:

  • Updated security specifications
  • Webhook failure handling and retry logic
  • Latency expectations and event scope
  • Payload schema documentation
  • Full data dictionary
  • Phase 2 scope note for dual destination delivery (HubSpot + Snowflake)
  1. Client Requirements

The client requires a complete integration solution to sync auction bid data with HubSpot in real time. The preferred approach is to use a webhook as the primary method for real-time data synchronization, along with a supporting API for validation and historical data access.

2.1 Webhook Integration (Primary Requirement — Real-Time Sync)

Develop a webhook system that triggers on each bid placement event and sends bid data in real time to HubSpot. The webhook shall:

  • Trigger automatically whenever a new bid is placed
  • Send structured bid data to a provided HubSpot webhook URL
  • Ensure reliable, secure, and authenticated data delivery
  • Implement automatic retry logic on failure

2.2 API Endpoint (Supplementary Requirement)

Develop a flexible custom API endpoint to support:

  • Retrieval of real-time and historical bid data
  • Data validation and reconciliation
  • Backfilling missing or past bid records

2.3 HubSpot Associations

Within HubSpot, Bid Activities must be associated as follows:

Bid Type HubSpot Object Association Label
Winning Bid Deal Auction Winner
Non-Winning Bid Deal Lost Bid
All Bids Contact Placed Bid
  1. Data Dictionary

The following data fields are available and will be included in both the webhook payload and API response. This dictionary should be used by your team to maintain dbt models and downstream analytics layers.

3.1 Auction Details

Field Name Data Type Description
Auction ID (Product ID) Integer Unique identifier for the auction product
Product Name String Display name of the auction product
SKU String Stock Keeping Unit identifier for the product
Product Type String Type/category classification of the product
Categories Array/String Comma-separated product categories
Auction Type String Simple / Proxy / Silent
Starting Price Decimal Initial listed price for the auction
Current Price Decimal Current highest bid price at time of event
Start Date DateTime Auction start date and time (UTC)
End Date DateTime Auction end date and time (UTC)

3.2 Bid Details (Per Bid Placement Event)

Field Name Data Type Description
Bid ID Integer Unique identifier for each individual bid
Bid Amount Decimal The monetary value of the bid placed
Bid Timestamp DateTime Date and time when the bid was placed (UTC)
Current Highest Bid Decimal Highest bid at the moment of this event
Winning Status String Winning or Lost — status of this bid
Proxy Bid Boolean Yes / No — whether a proxy bid was used
Proxy Bid Low End Decimal Minimum proxy bid value (when Proxy Bid = Yes)
Proxy Bid High End Decimal Maximum proxy bid value (when Proxy Bid = Yes)

3.3 Bidder Details

Field Name Data Type Description
Bidder User ID Integer Unique WordPress user ID of the bidder
Bidder Name String Full name of the bidder
Bidder Email String Email address of the bidder
  1. Technical Clarifications

4.1 Webhook Failure Handling & Retry Logic

Our system fully manages webhook delivery. If a webhook call fails due to network issues, timeouts, or non-2xx responses, the system will:

  • Automatically retry the request at defined intervals
  • Continue retrying until successful delivery is confirmed
  • Ensure no bid event data is permanently lost

Important Note: For third-party platforms (e.g., HubSpot), retry and callback behavior is also dependent on what that platform natively supports. Each platform returns different callback responses — some support automatic retries, others do not. End-to-end retry guarantees are therefore subject to the receiving platform’s capabilities.

4.2 Secure Data Delivery

All data will be transmitted using the following security measures:

  • HTTPS / TLS encryption for all data in transit
  • Header authentication token (if 3rd party tool provides) 

4.3 Latency Expectations

The webhook is designed for near real-time delivery. Upon a bid placement event, data will be triggered and dispatched within seconds of the event occurring.

Event Availability Notes
Bid Placement Currently (wordpress hook available) Near real-time on every new bid
All Other Events Custom Build Required Scope & pricing on request

4.4 Payload Schema Documentation

Full payload schema documentation will be delivered as part of this project. The documentation will include:

  • All field names and their exact keys
  • Data types for every field
  • Sample JSON payloads for webhook and API responses
  • Conditional field notes (e.g., Proxy Bid fields only present when Proxy Bid = Yes)
  • Association mapping guidance for HubSpot objects

This documentation is designed to allow your team to confidently build and maintain dbt models and any downstream transformation logic.

4.5 Dual Destination Delivery — Phase 2

Phase 2 Note: Dual destination delivery (HubSpot + Snowflake/Lambda) has been acknowledged and will be scoped as a separate engagement once your data warehouse architecture is finalized. We are fully prepared to support this and will deliver it as an addendum to this proposal upon your confirmation of the target platform and ingestion format.

  1. Sample Webhook Payload

Below is a representative sample of the JSON payload that will be sent to your HubSpot webhook URL on each bid placement event. Full schema documentation including all field keys, data types, conditional fields, and sample payloads will be delivered as part of this project.

{   “auction_id”: 1042,   “product_name”: “Dell PowerEdge R740 Server”,   “sku”: “PE-R740-2024”,   “auction_type”: “Proxy”,   “starting_price”: 500.00,   “current_price”: 875.00,   “start_date”: “2026-04-01T09:00:00Z”,   “end_date”: “2026-04-15T18:00:00Z”,   “bid_id”: 3891,   “bid_amount”: 875.00,   “bid_timestamp”: “2026-04-09T14:23:11Z”,   “winning_status”: “Winning”,   “proxy_bid”: true,   “proxy_bid_low_end”: 800.00,   “proxy_bid_high_end”: 1200.00,   “bidder_user_id”: 587,   “bidder_name”: “Emily Hollingsworth”,   “bidder_email”: “[email protected]” }

  1. Design & Development

6.1 Webhook Development

The following development work will be carried out for the webhook:

  • Bid Auction Hook Integration — Integrate with the auction plugin’s bid placement action to trigger a webhook(Third party tool url) on every new bid
  • Bid Data Collection Layer — Collect auction product data, bid log data, user/bidder data, and auction status
  • Proxy Bid Handling Logic — Conditional logic to include Proxy Bid Low/High End values only when Proxy Bid is active
  • Payload Mapping — Map all fields to HubSpot’s “Bid Activities” custom object structure per the sample import file
  • Association Logic — Link winning bids to Deal (Auction Winner), non-winning bids to Deal (Lost Bid), and all bids to Contact (Placed Bid)
  • Security Implementation — HTTPS/TLS, API key authentication, and signed request verification
  • Retry Logic — Automatic retry on failure with configurable intervals

6.2 API Development

A flexible custom API endpoint will be developed to support:

  • Real-time and historical bid data retrieval
  • Dynamic filtering by Auction (Product ID), Bidder (User ID), and Date Range
  • Structured JSON responses aligned with the HubSpot Bid Activities object
  • Full support for HubSpot association mapping
  • Data validation and backfill support

6.3 Payload Schema Documentation Deliverable

Delivered alongside the codebase, the schema documentation will be provided as a structured reference document covering all fields, types, and sample payloads to support ongoing dbt model maintenance.

  1. Effort & Commercials

7.1 Effort Breakdown

Deliverable Hours
Webhook Integration (incl. security & retry logic) 23
API Development 29
Quality Assurance & Testing 7
TOTAL ESTIMATED HOURS 59

7.2 Project Cost

Total Development Hours 59 hours
Hourly Rate USD 45 / hour
TOTAL PROJECT COST USD 2,655