{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# Example usage\n", "\n", "To use `salesforce_tools` in a project:" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.1.0\n" ] } ], "source": [ "import salesforce_tools\n", "from salesforce_tools.salesforce_tools import SalesforceTools\n", "import os\n", "\n", "print(salesforce_tools.__version__)" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Authenticate with your credentials here\n", "user = 'crastello.py@gmail.com'\n", "pw = os.environ.get('SFDC_PASS')\n", "token = os.environ.get('SFDC_TOKEN')\n", "\n", "sf = SalesforceTools(username=user,password=pw,security_token=token)" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "### Run a SOQL Query and return result as a df\n", "\n", "soql = '''SELECT Id, Name, CloseDate, CreatedDate FROM Opportunity LIMIT 5'''\n", "\n", "opps = sf.sf_api_query(soql=soql, dateList=['CloseDate','CreatedDate'],tz='America/Chicago')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IdNameStageNameAmountCloseDateCreatedDateIsWonIsClosedOwnerIdTypeProbabilityAccountId
0006a50000004MBeAAMOpportunity for Conner5Qualification32400.02024-08-282024-02-10T08:26:48.000+0000FalseFalse005a500000039fEAAQExisting Business10.0001a5000000RKZdAAO
1006a50000004MBfAAMOpportunity for Chandler133Perception Analysis754640.02024-06-062024-02-10T08:26:48.000+0000FalseFalse005a500000039fDAAQNew Business70.0001a5000000RKCqAAO
2006a50000004MBjAAMOpportunity for McDonald13Closed Lost240747.02024-01-102024-02-10T08:26:48.000+0000FalseTrue005a500000039fDAAQNew Business / Add-on0.0001a5000000RKYaAAO
3006a50000004MBlAAMOpportunity for McLaughlin130Negotiation/Review1249000.02024-03-182024-02-10T08:26:48.000+0000FalseFalse005a500000039f8AAAExisting Business90.0001a5000000RJhTAAW
4006a50000004MBoAAMOpportunity for Barnes141Qualification363400.02024-06-302024-02-10T08:26:48.000+0000FalseFalse005a500000039fLAAQNew Business / Add-on10.0001a5000000RKXNAA4
.......................................
290006a50000004N1UAAUOpportunity for Keller1431Needs Analysis2894390.02024-12-182024-02-10T08:26:48.000+0000FalseFalse005a500000039f9AAANew Business20.0001a5000000RJj5AAG
291006a50000004N1XAAUOpportunity for Chandler1439Needs Analysis1648300.02024-10-052024-02-10T08:26:48.000+0000FalseFalse005a500000039fGAAQExisting Business20.0001a5000000RJ5vAAG
292006a50000004N1cAAEOpportunity for Marsh1806Closed Lost58840.02024-01-222024-02-10T08:26:48.000+0000FalseTrue005a500000039f3AAANew Business / Add-on0.0001a5000000RJhjAAG
293006a50000004N1iAAEOpportunity for Chandler1816Perception Analysis470865.02024-06-102024-02-10T08:26:48.000+0000FalseFalse005a500000039fAAAQNew Business70.0001a5000000RKYXAA4
294006a50000004N1lAAEOpportunity for Moss1820Perception Analysis1489210.02024-06-112024-02-10T08:26:48.000+0000FalseFalse005a500000039f6AAANew Business70.0001a5000000RKafAAG
\n", "

295 rows × 12 columns

\n", "
" ], "text/plain": [ " Id Name StageName \\\n", "0 006a50000004MBeAAM Opportunity for Conner5 Qualification \n", "1 006a50000004MBfAAM Opportunity for Chandler133 Perception Analysis \n", "2 006a50000004MBjAAM Opportunity for McDonald13 Closed Lost \n", "3 006a50000004MBlAAM Opportunity for McLaughlin130 Negotiation/Review \n", "4 006a50000004MBoAAM Opportunity for Barnes141 Qualification \n", ".. ... ... ... \n", "290 006a50000004N1UAAU Opportunity for Keller1431 Needs Analysis \n", "291 006a50000004N1XAAU Opportunity for Chandler1439 Needs Analysis \n", "292 006a50000004N1cAAE Opportunity for Marsh1806 Closed Lost \n", "293 006a50000004N1iAAE Opportunity for Chandler1816 Perception Analysis \n", "294 006a50000004N1lAAE Opportunity for Moss1820 Perception Analysis \n", "\n", " Amount CloseDate CreatedDate IsWon IsClosed \\\n", "0 32400.0 2024-08-28 2024-02-10T08:26:48.000+0000 False False \n", "1 754640.0 2024-06-06 2024-02-10T08:26:48.000+0000 False False \n", "2 240747.0 2024-01-10 2024-02-10T08:26:48.000+0000 False True \n", "3 1249000.0 2024-03-18 2024-02-10T08:26:48.000+0000 False False \n", "4 363400.0 2024-06-30 2024-02-10T08:26:48.000+0000 False False \n", ".. ... ... ... ... ... \n", "290 2894390.0 2024-12-18 2024-02-10T08:26:48.000+0000 False False \n", "291 1648300.0 2024-10-05 2024-02-10T08:26:48.000+0000 False False \n", "292 58840.0 2024-01-22 2024-02-10T08:26:48.000+0000 False True \n", "293 470865.0 2024-06-10 2024-02-10T08:26:48.000+0000 False False \n", "294 1489210.0 2024-06-11 2024-02-10T08:26:48.000+0000 False False \n", "\n", " OwnerId Type Probability \\\n", "0 005a500000039fEAAQ Existing Business 10.0 \n", "1 005a500000039fDAAQ New Business 70.0 \n", "2 005a500000039fDAAQ New Business / Add-on 0.0 \n", "3 005a500000039f8AAA Existing Business 90.0 \n", "4 005a500000039fLAAQ New Business / Add-on 10.0 \n", ".. ... ... ... \n", "290 005a500000039f9AAA New Business 20.0 \n", "291 005a500000039fGAAQ Existing Business 20.0 \n", "292 005a500000039f3AAA New Business / Add-on 0.0 \n", "293 005a500000039fAAAQ New Business 70.0 \n", "294 005a500000039f6AAA New Business 70.0 \n", "\n", " AccountId \n", "0 001a5000000RKZdAAO \n", "1 001a5000000RKCqAAO \n", "2 001a5000000RKYaAAO \n", "3 001a5000000RJhTAAW \n", "4 001a5000000RKXNAA4 \n", ".. ... \n", "290 001a5000000RJj5AAG \n", "291 001a5000000RJ5vAAG \n", "292 001a5000000RJhjAAG \n", "293 001a5000000RKYXAA4 \n", "294 001a5000000RKafAAG \n", "\n", "[295 rows x 12 columns]" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sf.query_opportunities(dateList=['CreatedDate','CloseDate'],tz='America/Ney York',startDate='2024-01-01',endDate='2025-01-31')" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
IdNameStageNameAmountCloseDateCreatedDateIsWonIsClosedOwnerIdTypeProbabilityAccountId
0006a50000004MYqAAMOpportunity for Hamilton810Needs Analysis895290.02025-01-192024-02-10T08:26:48.000+0000FalseFalse005a500000039f8AAANew Business20.0001a5000000RKEXAA4
1006a50000004MofAAEOpportunity for Jimenez961Needs Analysis449700.02025-01-202024-02-10T08:26:48.000+0000FalseFalse005a500000039f3AAANew Business20.0001a5000000RKZoAAO
2006a50000004N1SAAUOpportunity for Flowers1427Needs Analysis1979000.02025-01-242024-02-10T08:26:48.000+0000FalseFalse005a500000039f9AAANew Business / Add-on20.0001a5000000RKbNAAW
3006a50000004MovAAEOpportunity for Johnson1707Needs Analysis3612800.02025-01-252024-02-10T08:26:48.000+0000FalseFalse005a500000039fDAAQNew Business / Add-on20.0001a5000000RJjUAAW
4006a50000004MCDAA2Opportunity for Wise361Needs Analysis1595250.02025-01-262024-02-10T08:26:48.000+0000FalseFalse005a500000039f5AAANew Business20.0001a5000000RKXxAAO
5006a50000004MDIAA2Opportunity for Phelps205Needs Analysis53325.02025-01-272024-02-10T08:26:48.000+0000FalseFalse005a500000039f3AAAExisting Business20.0001a5000000RKbrAAG
6006a50000004MZtAAMOpportunity for Hughes845Needs Analysis1405500.02025-02-062024-02-10T08:26:48.000+0000FalseFalse005a500000039f9AAANew Business20.0001a5000000RKEdAAO
7006a50000004MoGAAUOpportunity for Barnett1692Needs Analysis4708010.02025-02-062024-02-10T08:26:48.000+0000FalseFalse005a500000039f9AAANew Business20.0001a5000000RJ4yAAG
8006a50000004MohAAEOpportunity for Wade966Needs Analysis552000.02025-02-152024-02-10T08:26:48.000+0000FalseFalse005a500000039fEAAQNew Business20.0001a5000000RJjDAAW
9006a50000004ME4AAMOpportunity for Pope310Needs Analysis3207480.02025-02-172024-02-10T08:26:48.000+0000FalseFalse005a500000039fLAAQExisting Business20.0001a5000000RJ3gAAG
\n", "
" ], "text/plain": [ " Id Name StageName Amount \\\n", "0 006a50000004MYqAAM Opportunity for Hamilton810 Needs Analysis 895290.0 \n", "1 006a50000004MofAAE Opportunity for Jimenez961 Needs Analysis 449700.0 \n", "2 006a50000004N1SAAU Opportunity for Flowers1427 Needs Analysis 1979000.0 \n", "3 006a50000004MovAAE Opportunity for Johnson1707 Needs Analysis 3612800.0 \n", "4 006a50000004MCDAA2 Opportunity for Wise361 Needs Analysis 1595250.0 \n", "5 006a50000004MDIAA2 Opportunity for Phelps205 Needs Analysis 53325.0 \n", "6 006a50000004MZtAAM Opportunity for Hughes845 Needs Analysis 1405500.0 \n", "7 006a50000004MoGAAU Opportunity for Barnett1692 Needs Analysis 4708010.0 \n", "8 006a50000004MohAAE Opportunity for Wade966 Needs Analysis 552000.0 \n", "9 006a50000004ME4AAM Opportunity for Pope310 Needs Analysis 3207480.0 \n", "\n", " CloseDate CreatedDate IsWon IsClosed \\\n", "0 2025-01-19 2024-02-10T08:26:48.000+0000 False False \n", "1 2025-01-20 2024-02-10T08:26:48.000+0000 False False \n", "2 2025-01-24 2024-02-10T08:26:48.000+0000 False False \n", "3 2025-01-25 2024-02-10T08:26:48.000+0000 False False \n", "4 2025-01-26 2024-02-10T08:26:48.000+0000 False False \n", "5 2025-01-27 2024-02-10T08:26:48.000+0000 False False \n", "6 2025-02-06 2024-02-10T08:26:48.000+0000 False False \n", "7 2025-02-06 2024-02-10T08:26:48.000+0000 False False \n", "8 2025-02-15 2024-02-10T08:26:48.000+0000 False False \n", "9 2025-02-17 2024-02-10T08:26:48.000+0000 False False \n", "\n", " OwnerId Type Probability AccountId \n", "0 005a500000039f8AAA New Business 20.0 001a5000000RKEXAA4 \n", "1 005a500000039f3AAA New Business 20.0 001a5000000RKZoAAO \n", "2 005a500000039f9AAA New Business / Add-on 20.0 001a5000000RKbNAAW \n", "3 005a500000039fDAAQ New Business / Add-on 20.0 001a5000000RJjUAAW \n", "4 005a500000039f5AAA New Business 20.0 001a5000000RKXxAAO \n", "5 005a500000039f3AAA Existing Business 20.0 001a5000000RKbrAAG \n", "6 005a500000039f9AAA New Business 20.0 001a5000000RKEdAAO \n", "7 005a500000039f9AAA New Business 20.0 001a5000000RJ4yAAG \n", "8 005a500000039fEAAQ New Business 20.0 001a5000000RJjDAAW \n", "9 005a500000039fLAAQ Existing Business 20.0 001a5000000RJ3gAAG " ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "sf.query_opportunities()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "penv_3_11", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.10" } }, "nbformat": 4, "nbformat_minor": 4 }