TheGooseForce
TheGooseForce is a Salesforce extension for Goose that makes any Salesforce user a Salesforce super user!
Features
-
Salesforce API Integration: Direct connection to your Salesforce org
-
Case Management: Handle case-related operations using LLMs such as summarizing details and suggesting next actions to take
-
Knowledge Articles: Easily find related knowledge articles to your existing issues and have them summaraized via GooseForce.
-
Automated Workflows: Execute complex Salesforce operations through simple commands
-
Build and deploy custom components: Build and deploy custom components such as LWCs, Apex, and Aura cmps straight from Goose
-
Debugging: Use the Gooseforce to help you debug issues in salesforce
-
If you can dream it, Gooseforce can do it!
Prerequisites
- Python 3.10 or higher
- Salesforce org access
- Goose CLI installed
- Required Python packages (see requirements.txt)
- Must start virtual environment before installing the extension
Installation
- Clone the repository:
git clone https://github.com/tnohrer/TheGooseForce.git
cd TheGooseForce
Create and activate virtual environment:
- Create virtual environment
python -m venv .venv
Activate virtual environment
Windows:
.venv\Scripts\activate
macOS/Linux:
source .venv/bin/activate
- Install required packages:
pip install -r requirements.txt
- Find your Python and server.py paths:
# Get Python path (make sure virtual environment is activated)
which python3
# Verify server.py location
ls -l src/thegooseforce/server.py
⚠️ Security Note: This extension currently uses direct login via username, password, and security token. Future versions will implement OAuth2 for enhanced security.
Goose Extension Setup
To add TheGooseForce to Goose:
Open Goose
- Click on the three dots (⋮) in the top right corner
- Select "Extensions"
- Click "Add Extension"
- Fill in the following details:
ID: salesforce-mcp
Name: TheGooseForce
Description: Whatever description you want to put. I suggest something funny like "The Goose is loose and it's in Salesforce"
Command: /Users/[username]/Desktop/GooseForce-main/.venv/bin/python3 /Users/[username]/Desktop/GooseForce-main/server.py
Replace [username] with your actual username Note: The command should point to the Python executable in your virtual environment and the server.py file in your installation directory. Make sure to use absolute paths.
- Setup the needed variables:
SALESFORCE_USERNAME: Your Salesforce username
SALESFORCE_PASSWORD: Your Salesforce password
SALESFORCE_SECURITY_TOKEN: Your Salesforce security token
SALESFORCE_INSTANCE_URL: https://test.salesforce.com
Note: These can be changed at any time by clicking the gear icon next to the extension.
Note: https://test.salesforce.com for a sandbox or https://login.salesforce.com for a production instance.
After adding the extension:
- Click "Save"
- The extension will appear in your extensions list
- You can now use TheGooseForce capabilities through Goose
Troubleshooting
Common Setup Issues:
- Extension Not Loading
Verify paths in command are correct and absolute
Check virtual environment is activated
Ensure all requirements are installed
Check logs in Goose developer console (⌘+Option+I)
- Authentication Errors
Verify Salesforce credentials in .env file
Check security token is current
Ensure IP address is allowed in Salesforce
Confirm user has API access enabled
- Python Path Issues
Use which python3 to verify Python path
Ensure virtual environment is properly activated
Check Python version matches requirements
- Permission Issues
Check file permissions on server.py
Verify user has execute permissions on Python
Ensure .env file is readable
- Connection Issues
Check internet connectivity
Verify Salesforce org is accessible
Confirm no VPN conflicts
Check for Salesforce maintenance windows
Quick Fixes:
Restart Goose after configuration changes Delete and recreate extension if settings aren't saving Clear Goose cache if persistent issues occur Check extension logs for detailed error messages
Configuration
The extension can be configured through:
Environment variables .env file Goose extension settings
Contributing
This is an open-source project. Contributions, issues, and feature requests are welcome.
Future Enhancements
OAuth2 implementation Enhanced security features Additional Salesforce object support Expanded query capabilities
Metadata
Release files for thegooseforce 0.9.6
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| thegooseforce-0.9.6.tar.gz | 4.7 kB | Without provenance | Details for thegooseforce-0.9.6.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| thegooseforce-0.9.6-py3-none-any.whl | Python 3 | none | any | Details for thegooseforce-0.9.6-py3-none-any.whl |
Total release size: 11.0 kB
Release files / thegooseforce-0.9.6.tar.gz
| Download URL | thegooseforce-0.9.6.tar.gz |
|---|---|
| Size | 4.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
671836e2371f0bbf9f38617c1a9b710048754b5cea3eeed89f8fb5e5b2b2179c
|
|
BLAKE2b-256 checksum How to use checksums |
8297979b7ea3b66b3c4d3f73e1b02c25f7edc1ffb823309c516b5e642ac608bf
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.4
|
Release files / thegooseforce-0.9.6-py3-none-any.whl
| Download URL | thegooseforce-0.9.6-py3-none-any.whl |
|---|---|
| Size | 6.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1d751054816ec11e77f49963352e4305e7992cb87bbc2b7867986d4e2db1a4a2
|
|
BLAKE2b-256 checksum How to use checksums |
f4aaff60c5713a6612a3d4b51ee1b85b2630bd1730a303f993dab71a51953d15
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.12.4
|
Security for thegooseforce 0.9.6
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.