Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

veevatools

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

veevatools

Veeva tools library for accelerating Veeva Systems Internal Tools development

  • 0.1.30
  • PyPI
  • Socket score

Maintainers
1

Downloads

Introduction

This python package is a set of Salesforce.com, Veeva Network, Veeva Vault, and Veeva Nitro libraries, scripts, and functions used to help expedite the development of Veeva Tools.

Installation / Requirements

Ensure you have at least Python version 3.10 installed. To Check your installation version, type the following commands in the terminal (MacOs) / command prompt (Windows):

python --version

To install python, go to https://www.python.org/ then navigate to the download page of your Operating System.

Screenshot 2022-06-24 140724

You will need to have Packager Installer for Python (pip) installed. To install pip, run the following command in the terminal (MacOs) / command prompt (Windows):

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python3 get-pip.py

To install the Veeva Tools library:

pip install veevatools

To upgrade to the latest version of Veeva Tools library:

pip install veevatools --upgrade

Overview

The Veeva Tools package currently contains 3 major components:

Salesforce library

Authentication:

from salesforce import Sf
from pandas import pd
sf = Sf()
sf.authenticate(
    sfUsername='yourname@salesforce.com',
    sfPassword='password123',
    sfOrgId='00D2C0000008jIK',
    isSandbox= false
    )

Sidenote on Pandas DataFrames:
Pandas DataFrame (pd) is used to prepare the data for import (i.e. create, update methods) and additional export methods such as pd.to_excel() in order to save the output into an Excel file.
Additionally, Complex data manipuation (joins, merges, groupbys, filters)and data analytics (describe, statistical analysis) can all be performed using Pandas.
To learn more about Pandas DataFrames, go to the Pandas documentation <br > Or just Google tutorials on Pandas DataFrames. This YouTube playlist by Corey Schafer provides an excellent starting point into the world of Pandas!


Data methods:

The salesforce class (Sf) contains methods that can help you interact with data and metadata components:

Query
account_recordtypes = sf.query("SELECT Id, Name, SobjectType from RecordType WHERE SobjectType = 'Account'")]

account_recordtypes

Return -> pd.DataFrame():

IdNameSobjectType
0012f4000001ArT3AAKProfessional_vodAccount
1012f4000001ArT4AAKInstitution_vodAccount
2012f4000001ArT5AAKMCO_vodAccount
3012f4000001ArT6AAKOrganization_vodAccount
4012f4000001ArWzAAKHospital_vodAccount

Sidenote:
You can use any Pandas (pd) methods on the return value of the query output. For example
account_recordtypes.to_excel("Account RecordTypes.xlsx")
Will save the results of the DataFrame into an Excel file.


Create

## Takes a DataFrame of CRM records and creates records in CRM

account_records = pd.DataFrame([{'FirstName': 'Test', 'LastName': 'Account'}, {'FirstName': 'Test2', 'LastName': 'Account2'}])

result = sf.create('Account', account_records)

result

Return -> pd.DataFrame():

successcreatedId
0TrueTrue0010r00000tF7L1AAK
1TrueTrue0010r00000tF7L2AAK

Update

### Takes a dataframe that contains at least the Id column
### and any other column to be updated, for example, FirstName
update_account_name = pd.DataFrame(
    [{'FirstName': 'Updated', 'Id': '0010r00000tF7L1AAK'},
     {'FirstName': 'Name', 'Id': '0010r00000tF7L2AAK'}]
    )

result = sf.update('Account', update_account_name)

result

Return -> pd.DataFrame()

successcreatedId
0TrueFalse0010r00000tF7L1AAK
1TrueFalse0010r00000tF7L2AAK

Upsert

### Takes a dataframe that contains an external ID column
### and any other column to be updated, for example, Name
### if the external ID matches an existing record,
### the account is updated, otherwise, a new record is created

upsert_account = pd.DataFrame(
    [{'NET_External_Id__c': '242977178138969088', 'Name': 'Updated Hospital Name'},
     {'NET_External_Id__c': '555579769212255555', 'Name': 'Create New Hospital'}]
    )

result = sf.upsert(object_api='Account', external_id_field_api='NET_External_Id__c', record_dataframe=upsert_account)

result

Return -> pd.DataFrame()

successcreatedid
0TrueFalse001f400000PKOrwAAH
1TrueTrue0010r00000tF7stAAC

Delete

### Takes a dataframe that contains the Id column
### deletes records listed based on their SFID.

delete_account = pd.DataFrame([{'Id': '0010r00000tF7stAAC'}, {'Id': '001f400000PKOrwAAH'}])

result = sf.delete(object_api='Account', record_dataframe=delete_account)

result

Return -> pd.DataFrame()

successcreatedId
0TrueFalse0010r00000tF7stAAC
1TrueFalse001f400000PKOrwAAH

Read Metadata

###


Create Metadata

###


Update Metadata

###


Rename Metadata

###


Delete Metadata

###


List MetaData

###

FAQs


Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc