Documentation

Salesforce Integration

Connect your Salesforce CRM to automatically import Opportunities as AVStackr Projects.

Overview

The Salesforce integration enables automatic project creation when Opportunities are assigned to engineers. When an Opportunity's owner email matches an AVStackr user's email, a project is automatically created for that user.

How It Works

Salesforce Opportunity → Webhook → AVStackr matches owner email → Project created for that user

Setup Instructions

Step 1: Create a Salesforce External Client App

  1. In Salesforce, go to Setup → App Manager
  2. Click New External Client App
  3. Enter app details:
    • App Name: AVStackr
    • Contact Email: Your email
    • Distribution State: Local
  4. Enable OAuth Settings
  5. Set the Callback URL to: https://avstackr.com/api/salesforce/callback
  6. Add OAuth Scopes:
    • Access the identity URL service (id, profile, email, address, phone)
    • Manage user data via APIs (api)
    • Perform requests at any time (refresh_token, offline_access)
  7. Click Save and wait a few minutes for activation

Step 2: Get Consumer Credentials

  1. Go to App Manager
  2. Find your app and click the dropdown → View
  3. Click Manage Consumer Details
  4. Verify your identity if prompted
  5. Copy the Consumer Key and Consumer Secret

Step 3: Connect in AVStackr

  1. Go to Settings in AVStackr
  2. Find the Salesforce Integration section
  3. Enter your Consumer Key and Consumer Secret
  4. Click Connect to Salesforce
  5. Authorize the connection in the Salesforce popup

Step 4: Set Up Automatic Sync (Optional)

To automatically create/update AVStackr projects when Opportunities change in Salesforce, set up an Outbound Message:

4a. Create the Outbound Message

  1. In Salesforce, go to Setup → Search "Outbound Messages"
  2. Click New Outbound Message
  3. Select Object: Opportunity → Click Next
  4. Fill in the details:
    • Name: AVStackr Project Sync
    • Unique Name: AVStackr_Project_Sync (auto-fills)
    • Endpoint URL: Copy from AVStackr Settings → Salesforce Integration → Webhook URL
    • User to send as: Click the search icon and select your user
  5. In Opportunity fields to send, select and add these fields:
    • Id (required)
    • Name
    • StageName
    • Amount
    • CloseDate
    • OwnerId
    • AccountId
  6. Click Save

4b. Create the Workflow Rule

  1. Go to Setup → Search "Workflow Rules"
  2. Click New Rule
  3. Select Object: Opportunity → Click Next
  4. Fill in:
    • Rule Name: AVStackr Sync
    • Evaluation Criteria: Every time a record is created or edited
    • Rule Criteria: Select "criteria are met", then add a condition (e.g., Stage not equal to "Closed Lost")
  5. Click Save & Next
  6. Click Add Workflow ActionSelect Existing ActionOutbound Message
  7. Select your "AVStackr Project Sync" outbound message
  8. Click Save, then Done
  9. Important: Click Activate on the workflow rule to enable it
Note

This step is optional. Without automatic sync, you can still use Salesforce data - it just won't automatically create projects. Manual import features may be added in future updates.

User Matching

For automatic project creation to work:

  • The Salesforce Opportunity owner's email must match an AVStackr user's email
  • Both users must be in the same organization/tenant
  • If no match is found, the import is skipped (logged in Settings)
Email Matching

Ensure your team members use the same email addresses in both Salesforce and AVStackr for automatic assignment to work.

What Gets Synced

Salesforce Field AVStackr Field
Opportunity NameProject Name
Opportunity OwnerCreated By (matched by email)
Owner NameOpportunity Owner
Account NameCustomer (created if new)
Stage NameProject Status

Import Log

The Settings page shows recent import activity:

  • Created - New project was created
  • Updated - Existing project was updated
  • Skipped - No matching user found
  • Failed - Error occurred during import

Disconnecting

To disconnect the Salesforce integration:

  1. Go to Settings → Salesforce Integration
  2. Click Disconnect
  3. Existing projects are not affected
  4. You can reconnect at any time