Skip to main content

Companies

Companies are the core entity in Roulette, representing potential investment opportunities in your deal flow pipeline.

Company Properties

Each company record contains the following key properties:
PropertyTypeDescription
idUUIDUnique identifier
account_idUUIDThe team/account this company belongs to
namestringCompany name
deck_linkstringURL to external pitch deck
deck_storage_pathstringInternal path to uploaded deck
notesstringInternal notes (not visible to company)
company_status_idUUIDCurrent pipeline stage
company_statusobjectEmbedded status object with status_text, color, rank
visibilityenumAccess control level (private, shared, team)
sourceenumHow the company was added
source_contentstringRaw source content (e.g., form submission data)
metadataobjectCustom fields, AI analysis, and founder data
assigneesarrayTeam members assigned to this company
created_attimestampWhen the record was created
updated_attimestampWhen last modified
created_byUUIDUser who created the record
updated_byUUIDUser who last updated the record

Visibility Levels

Companies can have different visibility settings to control who can access them:

Private

Only visible to the user who created it

Shared

Visible to specific users you choose

Team

Visible to all team members
// Create a private company
const company = await createCompany({
  name: "Stealth Startup",
  visibility: "private",
  // ...
});

// Share with specific users
await addCompanyShare(company.id, { user_id: "user-uuid" });

Sources

Track how companies enter your pipeline:
SourceDescription
manualManually added through the UI or API
emailImported from an email
formSubmitted through an integrated form
referralReferred by another contact
websiteApplied through your website
eventMet at an event or conference
otherOther sources

Pitch Decks

Roulette supports two ways to attach pitch decks to companies: Link to decks hosted on DocSend, Google Drive, or other platforms:
{
  "deck_link": "https://docsend.com/view/abc123"
}

AI-Powered Upload

Use the intelligent upload endpoint to process emails, forms, or any text with deck URLs:
curl -X POST "https://www.useroulette.com/api/v1/companies/upload/ai" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "account_id=YOUR_ACCOUNT_ID" \
  -F "text=Here's our deck: https://docsend.com/view/abc123" \
  -F "name=Acme Corp"
You can also upload files directly:
curl -X POST "https://www.useroulette.com/api/v1/companies/upload/ai" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "account_id=YOUR_ACCOUNT_ID" \
  -F "text=Meeting notes from coffee chat" \
  -F "name=Acme Corp" \
  -F "file_0=@pitch-deck.pdf"
The AI endpoint automatically extracts URLs from text, prioritizes deck platforms (DocSend, Papermark, etc.), and can analyze content to auto-detect the source and suggest a pipeline status.

Metadata

The metadata field contains structured data including AI-extracted information and custom fields:
{
  "metadata": {
    "founders": [
      {
        "name": "Jane Smith",
        "title": "CEO/Co-Founder",
        "email": "jane@example.com",
        "linkedin_profile": "https://linkedin.com/in/janesmith",
        "background": "Former engineer at Google"
      }
    ],
    "ai_analysis": "B2B SaaS platform for enterprise workflow automation...",
    "analyzed_at": "2024-01-15T12:45:00Z",
    "user_preferences": [
      {
        "type": "select",
        "field": "Industry",
        "value": "SaaS",
        "options": ["SaaS", "Fintech", "AI/ML", "Developer Tools"],
        "show_in_table": true
      },
      {
        "type": "text",
        "field": "Check Size",
        "value": "$2M",
        "show_in_table": false
      }
    ]
  }
}

Metadata Structure

FieldDescription
foundersArray of founder/team member objects (typically AI-extracted from pitch deck)
ai_analysisAI-generated company summary
analyzed_atTimestamp of last AI analysis
user_preferencesCustom fields configured by your account
Custom fields (user_preferences) are configured at the account level and can include text, boolean, or select types.