SFDataLoader / README.md
Vishwas1's picture
FINAL FIX: Ultra-minimal gr.Interface version to resolve all JSON schema errors
017c783 verified

A newer version of the Gradio SDK is available: 5.42.0

Upgrade
metadata
title: Salesforce Data Loader
emoji: πŸš€
colorFrom: blue
colorTo: purple
sdk: gradio
sdk_version: 4.20.0
app_file: app.py
pinned: false
license: mit

πŸš€ Salesforce Data Loader

A powerful, user-friendly web application for uploading and downloading data from Salesforce. Built with Gradio and designed for easy bulk data operations.

✨ Features

πŸ” Secure Authentication

  • Connect to Salesforce production or sandbox environments
  • Secure credential handling with username, password, and security token
  • Real-time connection status feedback

πŸ“€ Data Upload

  • File Support: Upload CSV and Excel files (.csv, .xlsx, .xls)
  • Bulk Operations:
    • Insert: Add new records
    • Update: Modify existing records
    • Upsert: Insert or update based on external ID
  • Object Support: Works with common Salesforce objects (Account, Contact, Lead, Opportunity, Case, etc.)
  • Field Mapping: Automatic field detection and validation
  • Results Tracking: Download detailed results with success/error reports

πŸ“₯ Data Export

  • Export data from any accessible Salesforce object
  • Select specific fields to export
  • Configurable record limits (100-10,000 records)
  • Download as CSV format
  • SOQL query generation

πŸ›‘οΈ Error Handling

  • Comprehensive error reporting
  • Field validation and type checking
  • Bulk operation result tracking
  • Detailed logging for debugging

πŸš€ How to Use

1. Connect to Salesforce

  1. Navigate to the πŸ” Connection tab
  2. Enter your Salesforce credentials:
    • Username: Your Salesforce email
    • Password: Your Salesforce password
    • Security Token: Get this from Salesforce Setup β†’ Personal Information β†’ Reset Security Token
  3. Check "Sandbox Environment" if connecting to a sandbox
  4. Click "πŸ”— Connect to Salesforce"

2. Upload Data

  1. Go to the πŸ“€ Upload Data tab (appears after successful connection)
  2. Upload your CSV or Excel file
  3. Select the target Salesforce object
  4. Choose operation type:
    • Insert: For new records
    • Update: For existing records (requires record IDs)
    • Upsert: For insert/update based on external ID
  5. Click "πŸ“€ Upload Data"
  6. Download the results file to see detailed operation results

3. Export Data

  1. Go to the πŸ“₯ Export Data tab
  2. Select the Salesforce object to export
  3. Choose specific fields or leave empty for default fields
  4. Set the record limit (max 10,000)
  5. Click "πŸ“₯ Export Data"
  6. Download the exported CSV file

πŸ“‹ Supported Salesforce Objects

  • Account - Companies and organizations
  • Contact - Individual people
  • Lead - Potential customers
  • Opportunity - Sales deals
  • Case - Customer service cases
  • Campaign - Marketing campaigns
  • User - Salesforce users
  • Product2 - Products and services

Note: The application automatically detects which objects you have access to based on your Salesforce permissions.

πŸ”§ Technical Requirements

For Users

  • Valid Salesforce credentials (username, password, security token)
  • CSV or Excel files for data upload
  • Modern web browser

For Developers

  • Python 3.8+
  • Required packages (see requirements.txt):
    • gradio==4.32.0
    • simple-salesforce==1.12.6
    • pandas==2.1.4
    • openpyxl==3.1.2
    • xlsxwriter==3.1.9
    • python-dotenv==1.0.0
    • requests==2.31.0
    • numpy==1.24.3

πŸ”’ Security & Privacy

  • No Data Storage: Your Salesforce credentials and data are not stored on our servers
  • Secure Connections: All API calls use HTTPS encryption
  • Session-Based: Connections are only maintained during your browser session
  • Local Processing: File processing happens in real-time without permanent storage

🚨 Important Notes

  1. Security Token: If you've never used the security token, reset it in Salesforce Setup
  2. API Limits: Be mindful of your Salesforce API call limits
  3. Field Mapping: Ensure your CSV/Excel column names match Salesforce field names
  4. Required Fields: Make sure all required Salesforce fields are included in your data
  5. Data Validation: Review your data before upload to avoid errors

πŸ› οΈ Local Development

To run this application locally:

# Clone the repository
git clone <your-repo-url>
cd salesforce-data-loader

# Install dependencies
pip install -r requirements.txt

# Run the application
python app.py

The application will be available at http://localhost:7860

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ“„ License

This project is licensed under the MIT License - see the LICENSE file for details.

πŸ†˜ Support

If you encounter any issues:

  1. Check your Salesforce credentials and permissions
  2. Verify your security token is current
  3. Ensure your data format matches Salesforce field requirements
  4. Review the error messages in the results download

Built with ❀️ using Gradio and Simple-Salesforce