Skip to main content

View Quotes and Opportunities

In this tutorial, you'll learn how to effectively manage and view quotes and opportunities in DealHub CPQ, enabling you to access and track your sales pipeline.

Summary of Steps

  1. Access opportunity quotes

    • Prepare view configuration
    • Retrieve quote information
    • Handle opportunity updates
  2. Manage opportunity list

    • Configure list access
    • Handle pagination
    • Track opportunity status
  3. Update opportunity data

    • Validate update requirements
    • Apply changes to draft quotes
    • Maintain data consistency

Requirements

Before you begin, make sure you have:

  • DealHub Access

    • Active DealHub user account
    • Quote viewing permissions
    • Opportunity management rights
  • Data Access

    • Opportunity IDs ready
    • Quote IDs (if needed)
    • Customer information
  • System Configuration

    • API endpoints configured
    • Authentication set up
    • Proper user roles assigned

Your permissions determine which quotes and opportunities you can view. Contact your administrator if you need additional access.

New to DealHub opportunities? Learn about opportunity lifecycle management in our Concepts section.

Understanding Quote and Opportunity Management

Before diving into implementation, let's understand the key concepts:

  1. Quote-Opportunity Relationship

    • Quotes are always linked to opportunities
    • One opportunity can have multiple quotes
    • Quotes maintain opportunity context
    • Changes to opportunities can affect quotes
  2. Information States

    • Draft quotes can reflect updated opportunity info
    • Submitted quotes preserve historical data
    • Opportunity updates don't affect submitted quotes
  3. View Types

    • Opportunity-specific quote views
    • User's opportunity list
    • Detailed quote information

Changes to opportunity information will only be reflected in draft quotes. Submitted quotes maintain their original data for compliance and audit purposes.

Prerequisites

Before starting this tutorial, ensure you have:

  1. Authentication and Access

    • Valid DealHub user authentication
    • Active access token
    • Appropriate user permissions
  2. Required Information

    • Opportunity IDs
    • Quote IDs (if accessing specific quotes)
    • Updated opportunity information (if needed)

Viewing Quotes for an Opportunity

Understanding the Quote View Process

When accessing quotes for an opportunity, you can:

  1. View all associated quotes
  2. Update opportunity information
  3. Access specific quote details

Step 1: Prepare the View Request

First, gather the necessary information:

View Configuration Example
const viewConfig = {
// Essential identification
dealhub_user_id: "387483488378",
external_opportunity_id: "opp_123",

// Optional: Updated opportunity information
opportunity_info: {
external_opportunity_name: "Q2 Enterprise Deal",
customer_name: "Acme Corp",
// ... other updates
}
};

Step 2: Implement Quote Viewing

Use the View Quotes API to access opportunity quotes:

Managing Your Opportunities List

Understanding Opportunity List Access

The opportunities list provides:

  1. Overview of all your opportunities
  2. Quick access to associated quotes
  3. Opportunity status information

The opportunities list is paginated. Implement proper pagination handling to ensure you can access all opportunities.

Step 1: Prepare the List Request

Simple but powerful - you just need your user ID:

const listConfig = {
dealhub_user_id: "387483488378"
};

Step 2: Implement Opportunity List Access

Use the View Opportunities API:

Information Update Best Practices

Validating Updates

When updating opportunity information, ensure:

  1. All required fields are present
  2. Data formats are correct
  3. Currency updates are allowed
  4. Contact information is valid
Example Update Validation
class OpportunityUpdater {
static validateUpdates(updates) {
const requiredFields = ['external_opportunity_id'];
const missingFields = requiredFields.filter(field => !updates[field]);

if (missingFields.length > 0) {
throw new Error(`Missing required fields: ${missingFields.join(', ')}`);
}

if (updates.customer_contacts) {
this.validateContacts(updates.customer_contacts);
}
}

static validateContacts(contacts) {
const hasValidPrimaryContact = contacts.some(c => c.primary_contact === true);
if (!hasValidPrimaryContact) {
throw new Error('At least one primary contact is required');
}
}
}

Best Practices

  1. Opportunity Management

    • Regularly sync opportunity data with your CRM
    • Implement proper pagination for large opportunity lists
    • Cache frequently accessed opportunity details
    • Validate all updates before submission
  2. Quote Access

    • Cache quote URLs with proper expiration
    • Monitor quote status changes
    • Implement proper pagination handling

Implement background sync for opportunity data to maintain consistency between your CRM and DealHub.

Additional Resources

For more detailed information about specific topics, refer to:

  • Error Handling Guide
  • Rate Limiting and Quotas
  • Advanced Pagination Techniques
  • CRM Synchronization Best Practices

Want to customize your quotes further? Learn how to Work with Custom Fields to add specialized data to your quotes.