This project includes a commercial partnership agreement generator process implemented with Abstra and Python scripts. The new partner's personal information, along with the company information, is collected, and a contract is automatically generated based on it.
Integrations:
- Docusign
- Slack
To customize this template for your team and build a lot more, book a demonstration here.
To use this project, some initial configurations are necessary:
-
Python Version: Ensure Python version 3.9 or higher is installed on your system.
-
Integrations: To connect to Slack and DocuSign, this template uses Abstra connectors. To connect, simply open your project in Abstra Cloud Console, add the Slack and DocuSign connectors, and authorize them.
-
Environment Variables:
The following environment variables are required for both local development and online deployment:
SLACK_CHANNEL_NAME
: Slack channel where an alert about the pending signed contract is sent.DOCUSIGN_API_ID
: DocuSign API account ID used for sending the contract to signDOCUSIGN_AUTH_SERVER
: DocuSign Authentication Key for sending the contract to signAPI_BASE_PATH
: Base path where the contract will be uploaded on DocuSign service
In the scripts, we assume that the manager is the signer involved in the partner adimission process. Below are some informations regarding the manager. If another party is involved, please change the key name or add new ones as needed on the .env file:
MANAGER_NAME
: Manager`s nameMANAGER_EMAIL
: Manager`s email
For local development, create a
.env
file at the root of the project and add the variables listed above (as in.env.examples
). For online deployment, configure these variables in your environment settings. -
Dependencies: To install the necessary dependencies for this project, a
requirements.txt
file is provided. This file includes all the required libraries.Follow these steps to install the dependencies:
-
Open your terminal and navigate to the project directory.
-
Run the following command to install the dependencies from
requirements.txt
:pip install -r requirements.txt
-
-
Access Control: The generated form is protected by default. For local testing, no additional configuration is necessary. However, for cloud usage, you need to add your own access rules. For more information on how to configure access control, refer to the Abstra access control documentation.
-
Commercial Partnership Agreement Template: In the files, there is an agreement template called
Commercial Partnership Agreement.docx
. If you want to use your own agreement template, please replace ours with yours. Use the following tags in the document where you want specific information to be inserted:- {{partner_name}}, {{partner_ein}}, {{partner_email}}, {{partner_address}}, {{partner_zipcode}}, {{partner_state}}, {{partner_beneficiary}}, {{partner_bank}}, {{partner_account}}, {{date}}
-
Local Usage: To access the local editor with the project, use the following command:
abstra editor path/to/your/project/folder/
To implement this system use the following scripts:
For collecting information about the new partner, along with the company, and with it create a commercial partnership agreement, use:
- generate_commercial_agreement.py: Script to generate a form for collecting information and, based on that information, generate a partnership contract that is available for download at the end of the form.
For sending the contract to be signed by the parties involved, use:
- clicksign_post.py: Script to send the contract to be signed by the parties involved using DocuSign API.
- slack_notification.py: Script to send a notification on Slack about the contract generation and pending signatures.
If you're interested in customizing this template for your team in under 30 minutes, book a customization session here.