Skip to main content

Quickstart Guide

Get started with Slate POV Platform integrations in just a few steps. This guide will walk you through setting up webhooks and basic API access.

Prerequisites

Before you begin, ensure you have:
  • Access to the Slate POV Platform Dashboard
  • A webhook endpoint URL for receiving events
  • Basic knowledge of HTTP and JSON

Step 1: Access Your Dashboard

  1. Log in to your Slate POV Platform Dashboard
  2. Navigate to the Integrations section
  3. Locate the Webhooks configuration area

Step 2: Configure Webhooks

Create a Webhook Endpoint

  1. In the Dashboard, go to WebhooksAdd Endpoint
  2. Enter your webhook URL (e.g., https://your-domain.com/webhooks/homestar)
  3. Select the events you want to receive:
    • contact.created - New customer contacts
    • application.started - Application initiation
    • application.submitted - Application submission
    • application.pre_approved - Pre-approval status
    • application.fully_approved - Full approval
    • document.uploaded - Document uploads

Verify Your Endpoint

# Test webhook endpoint
curl -X POST https://your-domain.com/webhooks/homestar \
  -H "Content-Type: application/json" \
  -d '{
    "event": "test",
    "timestamp": "2024-01-15T10:30:00Z",
    "source": "homestar_pov_platform",
    "data": {"test": true}
  }'
// Express.js webhook handler
app.post('/webhooks/homestar', (req, res) => {
  const { event, data } = req.body;
  
  console.log('Received webhook:', event);
  
  // Handle different event types
  switch (event) {
    case 'contact.created':
      handleContactCreated(data);
      break;
    case 'application.submitted':
      handleApplicationSubmitted(data);
      break;
    // ... handle other events
  }
  
  res.status(200).json({ received: true });
});

Step 3: Implement Webhook Verification

For security, always verify webhook signatures:
// Using Svix library
const { headers, rawBody } = req;
const svix = new Svix(webhookSecret);

try {
  const payload = svix.verify(rawBody, headers);
  // Process verified payload
} catch (err) {
  res.status(400).json({ error: 'Invalid signature' });
}

Step 4: Handle Events

Implement handlers for the events you’ve subscribed to:
function handleContactCreated(data) {
  const { slatePrimaryContactId, email, firstName, lastName } = data;
  
  // Create contact in your CRM
  createContactInCRM({
    externalId: slatePrimaryContactId,
    email,
    firstName,
    lastName
  });
}

function handleApplicationSubmitted(data) {
  const { slateApplicationId, applicationData } = data;
  
  // Update application status in your system
  updateApplicationStatus(slateApplicationId, 'submitted');
  
  // Send notification to relevant team
  notifyTeam('New application submitted', applicationData);
}

Step 5: Test Your Integration

  1. Create a test contact in Slate POV Platform
  2. Start a test application
  3. Monitor your webhook endpoint for incoming events
  4. Verify that your handlers are processing events correctly

Next Steps

Need Help?

If you encounter any issues during setup: