Home OneHash Integration

OneHash Integration

OneHash Integration effortlessly connects your favorite apps—payments, logins, chats, and more—streamlining business workflows for faster, smarter, and smoother operations in one unified platform.
By Frappe Content licensed CC-BY-SA 3.0
28 articles

Gocardless Integration

| Setting up GoCardless To setup GoCardless, go to Explore > Integrations > GoCardless Settings Setup GoCardless To enable GoCardless in your OneHash account, you need to configure the following parameters and Access Token and optionally (but highly recommended), a Webhooks Secret key. You can setup several GoCardless payment gateways if needed. The choice of payment gateway account will determine which GoCardless account is used for the payment. On enabling service, the system will create a Payment Gateway record and an Account head in chart of account with account type as Bank. It will also create a payment gateway account. You can change the default bank account if needed and create a template for the payment request. After configuring the Payment Gateway Account, your system is able to accept online payments through GoCardless. SEPA Payments Flow When a new payment SEPA payment in initiated, the customer is asked to enter his IBAN (or local account number) and to validate a SEPA mandate. Upon validation of the mandate, a payment request is sent to GoCardless and processed. If the customer has already a valid SEPA mandate, when instead of sending a payment request to the customer, the payment request is directly sent to GoCardless without the need for the customer to validate it. The customer will only receive a confirmation email from GoCardless informing him that a payment has been processed. Mandate cancellation You can setup a Webhook in GoCardless to automatically disabled cancelled or expired mandates in OneHash. The Endpoint URL of your webhook should be like: https://yoursite.com/api/method/erpnext.erpnext_integrations.doctype.gocardless_settings.webhooks In this case do not forget to configure your Webhooks Secret Key in your GoCardless account settings in OneHash. Supported transaction currencies

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

LDAP Integration

Setting up LDAP Lightweight Directory Access Protocol (LDAP) is a centralized access control system used by many small and medium-scale organizations. By settings up LDAP service, you able to login to OneHash account by using LDAP credentials. | 1. Prerequisites To use LDAP, you will first need to install the ldap3 Python module. To do this, open a terminal session on your server that hosts the OneHash instance. Go to the frappe-bench directory. run the command: ./env/pip install ldap3 You are now ready to enable the LDAP service in OneHash . | 2. Setting up LDAP To setup LDAP, go to ++Home > Integrations > LDAP Settings++ Many parameters are mandatory to allow OneHash to connect to LDAP. They are: 1. LDAP Server URL: This is the URL to your LDAP server. Must be in the form of ${color}#dd87e8 or ${color}#cb6fd8 2. Base Distinguished Name (DN): This is the distinguished name of the user that has permissions to look up user details on your LDAP server. This should be a user that only has read-only permissions on your LDAP Server. 3. Password for Base DN: This is the password for the user above, that is used to look up user details on your LDAP server. 4. Organization Unit of Users: This is the DN of the Organizational Unit that all users in your LDAP server must be part of to be able to log into OneHash . 5. Default Role on Creation: When the user is created in OneHash , they will be assigned with this default role, the first time they log in. 6. LDAP Search String: This field allows OneHash to match the user/email entered in the OneHash login screen, with the LDAP Server. For example, you could use email address, or username depending on your preference. - It must be entered in the format: LDAPFIELD={0} - Active Directory username example: sAMAccountName={0} - Open LDAP username example: uid={0} 1. LDAP Email Field: Specifies the LDAP field that contains the email address of the user. Active Directory and Open LDAP example: mail 1. LDAP Username Field: Specifies the LDAP field that contains the username of the user. Active Directory example : sAMAccountName Open LDAP example: uid 1. LDAP First Name Field: Specifies the LDAP field that contains the first name of the user. Active Directory example: givenName Open LDAP example: sn There are many other non-mandatory fields that you can use to map your LDAP user fields to the OneHash user fields. They are: - Middle Name - Phone - Mobile Once your settings are correct, you can click the Enabled checkbox at the top. When attempting to enable LDAP, OneHash will try and connect to the LDAP server to ensure the settings are correct. If it fails, you will not be able to enable LDAP and will receive an error message. The error message will indicate the issue that needs to be resolved to continue. After setting enabling LDAP, on the login screen, the system enables Login Via LDAP option. 2.1 LDAP Security In the LDAP Security section, You have many options to connect securely to your LDAP server. 1. SSL/TLS Mode Specifies whether you want to start a TLS session on initial connection to the LDAP server. 2. Require Trusted Certificate Specifies if you require a trusted certificate to connect to the LDAP server If you are specifying a trusted certificate, you will need to specify the paths to your certificate files. These files are to be placed on your OneHash server, and the following fields should be an absolute path to the files on your server. The certificate fields are: 3. Path to private Key File 4. Path to Server Certificate 5. Path to CA Certs File 2.2 LDAP Group Mappings OneHash also allows you to automatically map multiple LDAP groups to the appropriate OneHash roles. For example, you may want all of your Accounting employees, to automatically have the Accounts User Role. Ensure that you fill out the LDAP Group Field to allow this. This is the LDAP field that is found on a user object in LDAP, that has all of the groups the user is a member of. For Active Directory and Open LDAP, this field should be set to memberOf. Open LDAP may need this field to be enabled on your LDAP server. Please see examples on the internet for more details. || Note that all OneHash roles will be checked each time a user logs on and will be removed or added to the user's permissions. In the LDAP Settings area, there are two dropdowns. 1. SSL/TLS Mode - set this to StartTLS to connect to your LDAP server using StartTLS. If your LDAP server does not support StartTLS, setting this to StartTLS will result in an error StartTLS is not supported. Check the configuration on your LDAP server if you receive this error. 2. Require Trusted Certificate - if you change this to Yes then the certificate provided by the LDAP server must be trusted by the Frappe/OneHash server. If you would rather use StartTLS with a self-signed (untrusted) certificate, set this to No. If you do not use StartTLS, this setting is ignored.

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

Dropbox Backup

Setting Up Dropbox Backups We always recommend customers to maintain backup of their data in OneHash. The database backup is downloaded in the form of an SQL file. If needed, this SQL file of backup can be restored in the another OneHash account as well. You can automate database backup download of your OneHash account into your Dropbox account. To setup Dropbox Backup, ++Home > Integrations > Dropbox Settings++ Steps are different for OneHash managed versions and open-source versions OneHash Managed Version Instructions Step 1: Set Frequency Set Frequency to download backup in your Dropbox account. Step 2: Allow Dropbox Access After setting frequency and updating other details, click on Allow Dropbox access. On clicking this button, the Dropbox login page will open in the new tab. This might require you to allow pop-up for your OneHash account. Step 3: Login to Dropbox Login to your Dropbox account by entering login credentials. Step 4: Allow On successful login, you will find a confirmation message as following. Click on "Allow" to let your OneHash account have access to your Dropbox account. With this, a folder called "OneHash" will be created in your Dropbox account, and database backup will start to auto-download in it. Open Source Version Instructions Step 1: Login to Dropbox Developer area https://www.dropbox.com/developers/apps Step 2: Create a new Dropbox app Step 3: Fill in the details for your new app Step 4: Insert your custom domain Redirect URI https://{yourwebsite.com}/api/method/frappe.integrations.doctype.dropbox_settings.dropbox_settings.dropbox_auth_finish Step 5: In a new window, open the Dropbox Settings page in your OneHash installation Step 6: Set backup frequency and email Set the frequency to download your site backups to your Dropbox account. Step 7: Input Keys from your Dropbox App window From your Dropbox App page, enter the app key and (unhidden) app secret into the OneHash Dropbox settings page. Alternatively, you can enter it manually in sites/{sitename}/site_config.json as follows, Step 8: Click Save before continuing!!! Step 9: After saving, click "Allow Dropbox Access" The Dropbox login page will open in the new tab. This might require you to allow pop-up for your OneHash account. Step 10: Allow Dropbox Access On successful login, you will find a confirmation message as following. Click on "Allow" to let your OneHash account have access to your Dropbox account. Step 11: Confirm Backups Work From the OneHash Dropbox page, click ${color}[#ca71d0](Take Backup Now) and then go to you Dropbox files view. You should see a new folder in Dropbox named ${color}#c562ea and inside of it your {New App} folder. Inside of it should be backup folders for both files and database. So for an app named ${color}#dd68df, following are the folder locations: Database files: /Apps/onehash/database Public files: /Apps/onehash/files Private files: /Apps/onehash/private/files || Note: If the compressed backup size exceeds 1GB (Gigabyte), the system will upload the latest available backup to Dropbox instead of generating a new backup file.

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

PayPal Integration

Setting up PayPal A payment gateway is an e-commerce application service provider service that authorizes credit card payments for e-businesses, online retailers, bricks and clicks, or traditional brick and mortar. A payment gateway facilitates the transfer of information between a payment portal (such as a website, mobile phone or interactive voice response service) and the Front End Processor or acquiring bank. To setup PayPal , ++Home > Integrations > Payments > PayPal Settings ++ Setup PayPal To enable PayPal payment service, you need to configure parameters like API Username, API Password and Signature. You also can set test payment environment, by settings ++Use Sandbox++ On enabling service, the system will create Payment Gateway record and Account head in chart of accounts having account type as Bank. Also it will create Payment Gateway Account entry. Payment Gateway Account is configuration hub from this you can set account head from existing COA, default Payment Request email body template. After enabling service and configuring Payment Gateway Account your system is able to accept online payments. Supporting transaction currencies AUD, BRL, CAD, CZK, DKK, EUR, HKD, HUF, ILS, JPY, MYR, MXN, TWD, NZD, NOK, PHP, PLN, GBP, RUB, SGD, SEK, CHF, THB, TRY, USD Get PayPal credentials *** Paypal Sanbox API Signature** 1. Login to paypal developer account, PayPal Developer Account 2. From Accounts tab. create a new business account. 1. From this account profile you will get your sandbox api credentials *** PayPal Account API Signature** 1. Login to PayPal Account and go to profile 1. From My Selling Tools go to api Access 1. On API Access Page, choose option 2 to generate API credentials

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

Amazon Integration

Amazon MWS Integration The Amazon Connector pulls Products and Sales Orders from Amazon marketplace. The sync of Products and Sales Orders is sequential. You have to sync the products before you Sync the Sales Orders. How to Setup Amazon MWS Connector? Setting Up Credentials in OneHash You can request the developer credentials from Amazon MWS once you are a registered seller on their website. For more details on the same, click here. 1. Setup MWS Credentials Enter the Seller ID, AWS Access Key ID, MWS Auth Token, Secret Key, Market Place ID, Region, and Domain. 2. Set up Order Details Set up Company, Warehouse, Item Group, Price List, Customer Group, Territory, Customer Type and Account Group. The Account Group is used to hold Commission, taxes etc. that Amazon charges. 3. Setup Sync Configurations Using the After Date, you can sync products and orders created after a particular date. In case you are importing a lot of historic data, it is suggested to start in the reverse chronological order of the After Date and import data in small chunks. After setting up all the configurations, click on Enable Amazon and save the settings. You are now ready to use the integration. 4. Sync Products Click on this button to sync products. Once this is successful you should see your Amazon products as Items in OneHash. 5. Sync Orders Click on this button to sync sales orders. Once this is successful you should see your Amazon Orders as Sales Orders in OneHash. You can also set up scheduler to sync orders automatically. ||| In case your developer account does not have access to personally identifiable information. The customer name would be stored as a combination of the BuyerName + . ||| Note : The connector won't handle Order cancellation. If you cancelled any order in Amazon then manually you have to cancel respective Sales Order and other documents in OneHash.

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

Setting up LDAP

Setting up LDAP Lightweight Directory Access Protocol (LDAP) is a centralized access control system used by many small and medium-scale organizations. By settings up LDAP service, you able to login to OneHash account by using LDAP credentials. 1. Prerequisites To use LDAP, you will first need to install the ldap3 Python module. To do this, open a terminal session on your server that hosts the OneHash instance. Go to the frappe-bench directory. run the command:./env/pip install ldap3 You are now ready to enable the LDAP service in OneHash. 2. Setting up LDAP To setup LDAP, go to | Home > Integrations > LDAP Settings Many parameters are mandatory to allow OneHash to connect to LDAP. They are: - LDAP Server URL: This is the URL to your LDAP server. Must be in the form of ldap://yourserver:port or ldaps://yourserver:port - Base Distinguished Name (DN): This is the distinguished name of the user that has permissions to look up user details on your LDAP server. This should be a user that only has read-only permissions on your LDAP Server. - Password for Base DN: This is the password for the user above, that is used to look up user details on your LDAP server. - Organization Unit of Users: This is the DN of the Organizational Unit that all users in your LDAP server must be part of to be able to log into OneHash. - Default Role on Creation: When the user is created in OneHash, they will be assigned with this default role, the first time they log in. - LDAP Search String: This field allows OneHash to match the user/email entered in the OneHash login screen, with the LDAP Server. For example, you could use email address, or username depending on your preference. It must be entered in the format: LDAPFIELD={0} Active Directory username example: sAMAccountName={0} Open LDAP username example: uid={0} - LDAP Email Field: Specifies the LDAP field that contains the email address of the user. Active Directory and Open LDAP example: mail - LDAP Username Field: Specifies the LDAP field that contains the username of the user. Active Directory example : sAMAccountName Open LDAP example: uid - LDAP First Name Field: Specifies the LDAP field that contains the first name of the user. Active Directory example: givenName Open LDAP example: sn There are many other non-mandatory fields that you can use to map your LDAP user fields to the OneHash user fields. They are: - Middle Name - Phone - Mobile Once your settings are correct, you can click the Enabled checkbox at the top. When attempting to enable LDAP, OneHash will try and connect to the LDAP server to ensure the settings are correct. If it fails, you will not be able to enable LDAP and will receive an error message. The error message will indicate the issue that needs to be resolved to continue. After setting enabling LDAP, on the login screen, the system enables Login Via LDAP option. 2.1 LDAP Security In the LDAP Security section, You have many options to connect securely to your LDAP server. - SSL/TLS Mode Specifies whether you want to start a TLS session on initial connection to the LDAP server. - **Require Trusted Certificate ** Specifies if you require a trusted certificate to connect to the LDAP server If you are specifying a trusted certificate, you will need to specify the paths to your certificate files. These files are to be placed on your OneHash server, and the following fields should be an absolute path to the files on your server. The certificate fields are: - Path to private Key File - Path to Server Certificate - Path to CA Certs File 2.2 LDAP Group Mappings OneHash also allows you to automatically map multiple LDAP groups to the appropriate OneHash roles. For example, you may want all of your Accounting employees, to automatically have the Accounts User Role. Ensure that you fill out the LDAP Group Field to allow this. This is the LDAP field that is found on a user object in LDAP, that has all of the groups the user is a member of. For Active Directory and Open LDAP, this field should be set to memberOf. Open LDAP may need this field to be enabled on your LDAP server. Please see examples on the internet for more details. || Note that all OneHash roles will be checked each time a user logs on and will be removed or added to the user's permissions. In the LDAP Settings area, there are two dropdowns. 1. SSL/TLS Mode - set this to StartTLS to connect to your LDAP server using StartTLS. If your LDAP server does not support StartTLS, setting this to StartTLS will result in an error StartTLS is not supported. Check the configuration on your LDAP server if you receive this error. 2. Require Trusted Certificate - if you change this to Yes then the certificate provided by the LDAP server must be trusted by the OneHash server. If you would rather use StartTLS with a self-signed (untrusted) certificate, set this to No. If you do not use StartTLS, this setting is ignored.

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

Aisensy-Whatsapp Integration

Aisensy-Whatsapp Integration OneHash lets you use the Whatsapp feature provided by Aisensy. Sample Username: hemant_onehash Password: hemant_onehash Sample JPG - https://aisensy-project-media-library-stg.s3.ap-south-1.amazonaws.com/IMAGE/5f450b00f71d36faa1d02bc4/9884334_graffiti dsdjpg PDF - https://www.uscis.gov/sites/default/files/document/forms/i-9instr.pdf Prerequisites 1. To integrate Aisensy with OneHash, you need the Aisensy API Key. You can get this key from Aisensy Dashboard > Manage > API Key > Generate API Key and click on the Click to Copy button. 1. Now go to OneHash > Aisensy Settings, and paste your API Key in the Authentication Token field. Click on Enabled to activate the settings, and then save the settings. 1. Open Aiesnsy Dashboard > Manage > Template Message. 1. Create a new template, or open an existing one, then copy all the details of this template one by one and paste it into a new record in OneHash > Aisensy Campaign. Now, give a campaign name to this record. Save the file name and URL if you have selected IMAGE, VIDEO, or FILE format. 1. Now go to Aisensy Dashboard > Campaigns > Launch > API > Next. 1. Create an API Campaign, with the same campaign name created above(CASE SENSITIVE), and click on Set Live. 1. Go to OneHash Lead and click on Connect > Message with Aisensy. 1. Add all Customer Numbers and campaign details, modify template parameters, and click on Submit button. 1. Go to Lead > Connect > Message Logs Aisensy to open message logs and view your Whatsapp Message. 1. Output Whatsapp Message.

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

CallHippo Integration

Articles on: OneCRM | Integration CallHippo Integration OneHash lets you use the calling feature of CallHippo. Prerequisites 1. Add CallHippo Extension to Google Chrome and enable the extension. Steps to integrate with CallHippo 1. Sign in to CallHippo and go to Integrations>Rest API, and generate Unique Api Token. Also, toggle the Enable Telephony API button. 1. Copy the above token and save it in the CallHippo Settings at OneHash. Now, copy the Webhook Call Activity Url given below the token at OneHash. 1. Go back to Integrations>Rest API and click on Webhook>Connect button. Enable Calling Activity, and paste the URL copied in the above step. Now, click on the Save button. On saving the correct URL, you will receive the message URL has been added successfully. 1. Now, you can go to OneHash Lead and select any lead, then click on the Calling>Call With CallHippo button in the form. You will get a list of numbers, so click on the number you want to call. 1. Google Extension of Call Hippo will get open, Sign In with your CallHippo user details and then the given customer will be called. 1. You can go to Calling>Call Logs of CallHippo, and you will be able to see the call history of all the numbers on your Lead. 1. Go to User for CallHippo List and click on Add User for CallHippo to add a new Callhippo user. 1. Enter FirstName, LastName and Email Id to create a new CallHippo User and enter OneHash User to link it with a unique OneHash user account. 1. If you want to update a current user, go to CallHippo and select a user, copy the User Id from the URL, and paste it into OneHash CallHippo User Id, now modify other details to update the current user. 1. Click on the CallHippo Call Logs button, and you will be able to see the call logs of your User.

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

Zoom Integration

Articles on: OneCRM | Integration Zoom Integration OneHash lets you create Zoom meetings and send invitations to participants directly from the application. Steps to integrate with Zoom Meeting 1. Zoom Settings Login into your OneHash account and open ZoomSettings. You can search this doc on the search bar. You will have to store Client Id, Client Secret, and Secret Token from Zoom to ZoomSettings and use Redirect URL and Email Subscriptions URL from OneHash to Zoom while Building the App on Zoom Marketplace. 2. Zoom Meetings Similarly, open a new tab and search ZoomMeetings on the search bar. 3. Zoom Marketplace Click on Integrate Zoom button and then click on Go to Marketplace. In the Zoom marketplace, sign in with your Zoom account and savings account details on ZoomSettings. You will have to sign in to Zoom using the same email id. 4. Build an Application Go to Develop > Build App. 5. Meeting SDK Click on Create button in the Meeting SDK application. 6. Create an Application Name your application and click on Create. 7. Add Basic Information Enter all the required details, and move to App Credentials. 8. Save Credentials Copy the Client Id and Client Secret values and save them in ZoomSettings. 9. Add Redirect URL Add Redirect URL from ZoomSettings and save it in both Redirect URL for OAuth and Add Allow Urls. 10. Save Secret Token Copy the Secret Token value and save it in ZoomSettings and Save ZoomSettings. 11. Event Subscription Toggle the Event Subscription button and create a new subscription. Add the Event Subscription URL from ZoomSettings and click on Validate. A successful connection with OneHash will be indicated by Green Button. 12. Add Events Add and Save the following events to the Event Subscription: 1. Meeting has been created 2. Meeting has been updated 3. Meeting has been deleted 13. Add Scopes Add and Done the following scopes: 1. View your meetings 2. View and manage your meetings 3. View your user information. 14. Test your Connection Open Zoom Meetings in OneHash and click on SignInZoom button. You will be asked to integrate Zoom with OneHash. Select the checkbox and click on Allow. 15. Successful Integration Sign In with the same mail id with which you created a Build App on Zoom Marketplace. 16. Create Zoom Meeting Click on Create Zoom Meeting, enter your meeting topic and description and click on Submit. After a few seconds, reload the page, and your meeting will be visible on OneHash.

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

Zapier Integration in OneHash

Integrate OneHash to Zapier interface to automate all possible workflow Connect OneHash via https://zapier.com/apps/OneHash/integrations, let you connect OneHash to 2,000+ other web services. Automated connections called Zaps, set up in minutes with no coding, can automate your day-to-day tasks and build workflows between apps that otherwise wouldn't be possible. Each Zap has one app as the Trigger, where your information comes from and which causes one or more Actions in other apps, where your data gets sent automatically. Steps to integrate with Zapier - Sign in to Zapier or create a new account. Go to https://zapier.com/apps/OneHash/integrations , from there you can jump right in. To help you hit the ground running, here are some popular pre-made Zaps. https://zapier.com/zapbook/embed/widget.js?services=OneHash&container=true&limit=5 - Navigate to "My Apps" from the top menu bar. - Now click on "Connect a new account..." and search for "OneHash" - Use your credentials to connect your OneHash account to Zapier. For credentials go to https//:[mysite].onehash.ai/user, there select the user, go to api access tab to get api key and api secret - Once that's done you can start creating an automation! Use a pre-made Zap or create your own with the Zap Editor. Creating a Zap requires no coding knowledge and you'll be walked step-by-step through the setup. - Need inspiration? See everything that's possible with OneHash and Zapier. Go to https://zapier.com/apps/OneHash/integrations. If you have any additional questions, you can reach out to support@onehash.ai. Popular use cases: 1. CRM to Sheets Choose App from the App list. Select Event and continue Sign in to OneHash Account using API key , API secret and your Site Name Set up Trigger and choose a record you want to transfer Test Trigger and continue to create action In App list select Google Sheets and choose event Choose Account and head to set up action. Choose the drive,spreadsheet and worksheet where you want to transfer your data. Map the fields as per your data in CRM to the Column of Sheet Continue to Test Action and Publish the Zap 2. Sheets to CRM Choose Sheets in App list and select the event Choose your account, following spreadsheet and worksheet and continue to test trigger. Head to action choose the event If Chosen Create Record, select the record you want to create and map the fields accordingly Test the action and publish the zap.

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

How To Enable Social Logins

Use Facebook, Google or GitHub authentication to login to Frappe, and your users will be spared from remembering another password. The system uses the Email Address supplied by these services to match with an existing user in Frappe. If no such user is found, a new user is created of the default type Website User, if Signup is not disabled in Website Settings. Any System Manager can later change the user type from Website User to System User, so that the user can access the Desktop. Login screen with Social Logins enabled Login screen with Social Logins enabled To enable these signups, you need to have Client ID and Client Secret from these authentication services for your Frappe site. The Client ID and Client Secret are to be set in Desktop > Integration > Authentication > Social Login Key > Client ID and Desktop > Integration > Authentication > Social Login Key > Client Secret. Here are the steps to obtain these credentials. Use https://{{ yoursite }} if your site is HTTPS enabled. Facebook Go to https://developers.facebook.com Click on Apps (topbar) > New App, fill in the form. Go to Settings > Basic, set the Contact Email and save the changes. Go to Settings > Advanced, find the field Valid OAuth redirect URIs, and enter: http://{{ yoursite }}/api/method/frappe.www.login.login_via_facebook Save the changes in Advance tab. Go to Status & Review and switch on "Do you want to make this app and all its live features available to the general public?" Go to Dashboard, click on the show button besides App Secret, and copy the App ID and App Secret into Desktop > Integration > Authentication > Social Login Key > Client ID and Desktop > Integration > Authentication > Social Login Key > Client Secret Google Go to https://console.developers.google.com Create a new Project and fill in the form. Click on APIs & Auth > Credentials > Create new Client ID Fill the form with: Web Application Authorized JavaScript origins as http://{{ yoursite }} Authorized redirect URI as http://{{ yoursite }}/api/method/frappe.www.login.login_via_google Go to the section Client ID for web application and copy the Client ID and Client Secret into Desktop > Integration > Authentication > Social Login Key > Client ID GitHub Go to https://github.com/settings/applications Click on Register new application Fill the form with: Homepage URL as http://{{ yoursite }} Authorization callback URL as http://{{ yoursite }}/api/method/frappe.www.login.login_via_github Click on Register application. Copy the generated Client ID and Client Secret into Desktop > Website > Setup > Social Login Keys and Desktop > Integration > Authentication > Social Login Key > Client Secret Office 365 Go to https://portal.azure.com Create a new Azure Active Directory > App Registration. Click on New Application Registration Fill the form with: Application Name Select Accounts in any organizational directory (Any Azure AD directory - Multitenant). Application Type - Web app / API Redirect URI as - Homepage URL as http://{{ yoursite }} Authorization callback URL as http://{{ yoursite }}/api/method/frappe.integrations.oauth2logins.loginvia_office365 Click on Register application. Go to the section Overview in Azure Portal copy the Application (client) ID into **Desktop > Integration > Authentication > Social Login Key > Client ID Go to the section Certificates & secrets in Azure Portal and create new client secrets copy than copy Client Secret by adding into Desktop > Integration > Authentication > Social Login Key > Client Secret Select Office 365 as Social Login Provider Click Enable Social Login and Save Go to the section Token configuration click add optional claim

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

Installing RediSearch to enable super fast E-commerce Search

|| Experimental The E-Commerce module of OneHash optionally uses RediSearch to enable superfast search functionality which is configurable via E Commerce Settings. Once installed and configured, RediSearch will be used to super charge the search functionality of the E-Commerce website. This includes features like fuzzy-word searching, autocomplete, results ranking and customizable field indexing. Pre-requisites 1. Frappe Framework + OneHash Setup 2. Redis 6+ Installation Instructions On successful completion of the above instructions, a redisearch.so binary file will be generated in the RediSearch/build directory. Move this binary to the /etc directory and restart your OneHash Server: Now, open the redis_cache.conf file located in the config directory (inside the bench directory). Add the following line before the save "" line and then restart bench server: This will load the redisearch module at startup. You can check if the module was loaded successfully by running the following command in the redis-cli: and search should be one of the modules. You can also load the module on a running redis instance by running the following command in the redis-cli: || We placed the redisearch.so module in the /etc directory, but it can be placed anywhere in the file system. We have used this directory because in the future the loadmodule line will be populated in the config file automatically and it will assume the binary is in the /etc directory. || More detailed instructions can be found here.

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

WhatsApp Integration (WATI)

WhatsApp Wati Integration 1. For WhatsApp integration in OneHash CRM through Wati.io you must have a valid Wati CRM subscription. 2. Go to Wati.io and click on Free Trial 1. And signup to create a new Wati Account. 1. Wati provides 2 types of service Wati CRM and WA API GateWay. But you must have Wati CRM subscription to be able to integrate WhatsApp with OneHash. 2. Once you login and have subscribed to Wati CRM, you will find the Access Token And API Endpoint in Documentation Page. 1. Now in OneHash CRM, go to Wati Settings and fill following details: Access Token, API Endpoint, Broadcast Name(can be any name you like and will be used for sending messages ) Add Contact Parameters (Optional: these are tags that will be attached with the contacts saved in Wati) Number of Templates(Default: 0, this tells the system how many templates to fetch when you click on button Fetch Templates. Max value is 250) Number of Contacts(Default: 0, this tells the system how many contacts to fetch when you click on button Fetch Contacts) 1. Now click on Fetch Templates button, to fetch all the approved WhatsApp Templates from Wati CRM to OneHash CRM. The number of templates mentioned in the field Number of Templates will be fetched, rest will be ignored. Maximum number of templates possible is the limit defined by WhatsApp. To fetch all templates, keep value default to 0. 1. Click on Fetch Contacts button, to fetch all the WhatsApp Contacts from Wati CRM to OneHash CRM. To fetch all contacts, keep value default to 0. 1. Below image shows the Contact tags associated with Wati Contacts in Wati CRM.

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

Configure Google Cloud (Google Integration)

Steps to configure Google Cloud Platform and Google Integrations. - Login to Google Cloud Platform -> Create New Project -> Generate 0Auth 2.0 Credentials - Search for “People API” in the search bar and click on enable to enable ++ Contacts Integration ++. - Search for “Calendar API” in the search bar and click on enable to enable ++ Calendar Integration ++. - Go to API and Services -> Credentials -> Create Credentials -> 0Auth Client ID || Give application type as “Web Application” - In Authorized Javascript Origin -> add your instance URL https://{site-name}.onehash.ai - In Authorized Redirect URIs add following : For Calendar : https://?cmd=frappe.integrations.doctype.google_calendar.google_calendar.google_callback For Contacts : replace google_calendar with google_contacts in above URL - Save -> copy client ID and client secret from top right corner To avoid error due to Access Permissions : - APIs and Services -> 0Auth Consent Screen -> Test Users - Add the Email IDs of System Users. Login to your OneHash ?Instance - - Go to Integrations -> Google Settings -> 0Auth Client ID (paste the above copied credentials) - Integrations -> Google Contacts -> Enter Email ID used in Google Cloud Platform -> Select checkboxes ( “push” to move contacts from OneHash system to Google Contacts and “pull” to vice versa) -> click on “Authorize Google Contacts Access” - Click on “Sync Contacts” to pull the existing Google Contacts in the system. Follow the same procedure for Calendar - Integrations -> Google Calendars Now to go the Contacts list -> Create new Contact -> Select the checkbox “Sync with Google Calendar”->Save Contact will reflect in Google Contacts. Follow the same procedure with Calendar Events.

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

Webhooks

Webhook Webhooks are "user-defined HTTP callbacks". For a select DocType, you can create a webhook that triggers on specific document events under certain conditions, if required. When the doc_event occurs, the source site makes an HTTP request to the URI configured for the webhook. Users can configure these webhooks to use events on one site to invoke behaviour on another. Configuring a Webhook To add a Webhook, go to: ++ Home > Integrations > Webhook > + Add Webhook ++ - Select the DocType for which the Webhook needs to be triggered (e.g. Quotation). - Select the Doc Event that will trigger the Webhook (e.g. on_update). - Optionally, you can set additional document Conditions to trigger Webhooks for specific scenarios. - Enter a valid request URL that will receive the Webhook data. - Select the Request Method. POST is the default method. - Optionally, you can add HTTP headers to the request. (e.g. useful for sending an API key, if required). You can also disable a webhook by unchecking the Enabled checkbox. Only webhooks that are enabled get triggered. Data Structure - If your request structure is based on forms, you can select fields from the document in the table, which uses the fieldname as the key. - If your request structure is based on JSON, you can insert fields from the document using jinja templating (make sure to wrap your fields with double-quotes). Webhook Security || Introduced in Version 13 To optionally add security to your webhook requests and ensure that the webhook is being sent from Frappe, you can set up a "Webhook Secret" along with the request. Do not share the secret publicly. If enabled, an additional header (X-Frappe-Webhook-Signature) will be added to the request before it's sent out, with its value being generated from the secret as a base64-encoded HMAC-SHA256 hash of the payload. Example Webhook Request - DocType: Quotation - Doc Event: on_update - Request URL: https://httpbin.org/post - Request Structure: Form URL-Encoded - Webhook Headers: Key: Content-Type:, Value: application/x-www-form-urlencoded - Webhook Data: Fieldname: name, Key: id Fieldname: items, Key: lineItems The above configuration creates the following JSON request (sent by a Frappe server on Quotation - on_update to https://httpbin.org/post): { "args": {}, "data": "{\"lineItems\": [{\"stock_qty\": 1.0, \"base_price_list_rate\": 1.0, \"image\": \"\", \"creation\": \"2017-09-14 13:41:58.373023\", \"base_amount\": 1.0, \"qty\": 1.0, \"margin_rate_or_amount\": 0.0, \"rate\": 1.0, \"owner\": \"Administrator\", \"stock_uom\": \"Unit\", \"base_net_amount\": 1.0, \"page_break\": 0, \"modified_by\": \"Administrator\", \"base_net_rate\": 1.0, \"discount_percentage\": 0.0, \"item_name\": \"I1\", \"amount\": 1.0, \"actual_qty\": 0.0, \"net_rate\": 1.0, \"conversion_factor\": 1.0, \"warehouse\": \"Finished Goods - R\", \"docstatus\": 0, \"prevdoc_docname\": null, \"uom\": \"Unit\", \"description\": \"I1\", \"parent\": \"QTN-00001\", \"brand\": null, \"gst_hsn_code\": null, \"base_rate\": 1.0, \"item_code\": \"I1\", \"projected_qty\": 0.0, \"margin_type\": \"\", \"doctype\": \"Quotation Item\", \"rate_with_margin\": 0.0, \"pricing_rule\": null, \"price_list_rate\": 1.0, \"name\": \"QUOD/00001\", \"idx\": 1, \"item_tax_rate\": \"{}\", \"item_group\": \"Products\", \"modified\": \"2017-09-14 17:09:51.239271\", \"parenttype\": \"Quotation\", \"customer_item_code\": null, \"net_amount\": 1.0, \"prevdoc_doctype\": null, \"parentfield\": \"items\"}], \"id\": \"QTN-00001\"}", "files": {}, "form": {}, "headers": { "Accept": "*/*", "Accept-Encoding": "gzip, deflate", "Connection": "close", "Content-Length": "1075", "Host": "httpbin.org", "User-Agent": "python-requests/2.18.1" }, "json": { "id": "QTN-00001", "lineItems": [ { "actual_qty": 0.0, "amount": 1.0, "base_amount": 1.0, "base_net_amount": 1.0, "base_net_rate": 1.0, "base_price_list_rate": 1.0, "base_rate": 1.0, "brand": null, "conversion_factor": 1.0, "creation": "2017-09-14 13:41:58.373023", "customer_item_code": null, "description": "I1", "discount_percentage": 0.0, "docstatus": 0, "doctype": "Quotation Item", "gst_hsn_code": null, "idx": 1, "image": "", "item_code": "I1", "item_group": "Products", "item_name": "I1", "item_tax_rate": "{}", "margin_rate_or_amount": 0.0, "margin_type": "", "modified": "2017-09-14 17:09:51.239271", "modified_by": "Administrator", "name": "QUOD/00001", "net_amount": 1.0, "net_rate": 1.0, "owner": "Administrator", "page_break": 0, "parent": "QTN-00001", "parentfield": "items", "parenttype": "Quotation", "prevdoc_docname": null, "prevdoc_doctype": null, "price_list_rate": 1.0, "pricing_rule": null, "projected_qty": 0.0, "qty": 1.0, "rate": 1.0, "rate_with_margin": 0.0, "stock_qty": 1.0, "stock_uom": "Unit", "uom": "Unit", "warehouse": "Finished Goods - R" } ] }, "url": "https://httpbin.org/post" } Webhook Request Log A webhook request log is created for every successful request with all the relevant details

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

How to use Enrich Data

|| Profile Enrich Profile enrich is when you automatically grab publicly available information and add it to a user's profile. You can enrich the customer profile to improve personalization. To access Profile Enrich, go to: ++ Home > CRM > Lead ++ - Click on +Add Lead - Enter all the details such as Name, Email Id and Mobile Number - Click on save - Go to Enrich button, click on Profile Enrich - Select the value and click on submit You now have access to all the social footprints of the lead. || FinRich In Finrich you can access the below details of a company Company Highlights - CIN - Age - Email ID - Company Website - Address Directors - Current Directorship - Past Directorship - Other Directorship To access Finrich , go to: ++ Home > CRM > Lead ++ - Click on +Add Lead - Enter all the details of the company such as Organization Name and Email Id. - Click on save - Go to Enrich button, click on Finrich - Select the value and click on submit You now have access to all the financial details of an organization. || FinRich Plus In Finrich Plus you can access the below details of a company Financial Summary - Total Income - Income Tax - Total Expense - Profit After Tax (PAT) - Profit Before Tax (PBT) Corporate Summary - Incorporation Details - Credit Ratings Overview - KYC Information - PF Establishment To access Finrich Plus, go to: ++ Home > CRM > Lead ++ - Click on +Add Lead - Enter all the details of the company such as Organization Name and Email Id. - Click on save - Go to Enrich button, click on Finrich Plus - Select the value and click on submit

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

What is Plaid Integration?

Plaid Integration OneHash offers the possibility to synchronize your bank accounts through a service called Plaid. Please check the Plaid FAQ to see if your country is supported. If your instance is connected to Plaid, you are able to synchronize your bank account transactions without having to manually import a CSV or XLSX file. Settings In order to give OneHash access to Plaid, you need to add the following three parameters to your site_config.json file. - plaid_env - plaid_public_key - plaid_secret Activation - In order to activate Plaid on an instance, click on the button "Enable" in the Plaid Settings DocType. - Once activated, you can create a new account directly from the Bank Reconciliation dashboard. Bank account creation In order to link one of your existing bank accounts to OneHash, click on "Link a new bank account" and follow the steps proposed by Plaid. Bank synchronization In order to synchronize a bank account with OneHash, select an account and click on the "Action" button to select "Synchronize this account". The synchronization is based on the "Last integration date" available in the "Bank Account" doctype. If, for any reason, you want to redo a synchronization, you can change this date and synchronize the account again. Since all bank transactions are tagged with a specific transaction ID, the synchronization will only be incremental. Automatic Synchronization You can allow plaid to synchronize your bank account with OneHash every hour by selecting "Synchronize all accounts every hour" in Plaid Settings.

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

Setting up Sendgrid SMTP Email in OneHash

Setting up Sendgrid SMTP Email in OneHash SMTP, or simple mail transfer protocol, is a quick and easy way to send email from one server to another. SendGrid provides an SMTP service that allows you to deliver your email via our server instead of your client or server. OneHash comes built-in with a configured email client so that you can send and receive emails in OneHash and append to documents if required. Integrating SendGrid's Web API SendGrid's SMTP API allows developers to specify custom handling instructions for e-mail using an X-SMTPAPI header inserted into the message. Step 1: You need to create an API key to authenticate your application. In this case, OneHash. Learn more about integrating SendGrid with SMTP here To integrate with SendGrid's SMTP API: - Create an API Key with at least "Mail" permissions. - Set the server host in your email client or application to smtp.sendgrid.net. This setting is sometimes referred to as the external SMTP server or the SMTP relay. - Set your username to the string apikey. This setting is the exact string "apikey" and not the API key itself. - Set your password to the API key generated in step one. - Set the port to 587 (or as specified below). SMTP ports - For an unencrypted or a TLS connection, use port 25, 2525, or 587. - For a SSL connection, use port 465. || Note - If you are unsure which port to use, a TLS connection on port 587 is typically recommended. Step 2: Once your API key has been created, you need to configure it in your OneHash account > Create a New Email Account. Email Address: Your Email Address Email Login ID: API Key [API key generated in Step 1] Password: Your Password Service: Select "SendGrid" Now save this information and you have successfully configured the SendGrid SMTP Email in OneHash. Power to you! Sendgrid configuration

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

Google Settings

Google Settings To enable Google Integrations, OneHash needs access to the API through which the data will be synced which is achieved using OAuth 2.0 Authentication Protocol. How to set up Google Settings For Google Calendar, Google Contacts, Google Drive In order to allow a synchronization with Google Calendar, Google Contacts or Google Drive you need to authorize OneHash to get data from Google. Following is an example for setting up Google Contacts Integration 1. Create a new project on Google Cloud Platform and generate new OAuth 2.0 credentials. 1. Enable API Access in API Library for the Integration you wish to integrate. - Google Calendar: Calendar API - Google Contacts: People API - Google Drive: Drive API 1. In API & Services > Credentials create a new Credential and select Create OAuth client ID 2. Select Application Type Web Application 3. Add https://{yoursite} to Authorized JavaScript origins. 4. Add https://{yoursite}?cmd=frappe.integrations.doctype.{integration_name}.{integration_name}.google_callback as an authorized redirect URI. - You need to replace integration_name with one of the following: Google Calendar: google_calendar Google Contacts: google_contacts Google Drive: google_drive - eg: for Google Contacts URL will be https://{yoursite}?cmd=frappe.integrations.doctype.google_contacts.google_contacts.google_callback 1. Add your Client ID and Client Secret in the Google Settings in Home > Integrations > Google Services > Google Settings For Google Maps In order to allow a synchronization with Google Maps you need to generate an API key as Google Maps doesn't need access to data from Google. 1. Create a new project on Google Cloud Platform and generate new API Key. 2. Enable API Access in API Library for the Directions API and then add the API Key in the Google Settings in Home > Integrations > Google Services > Google Settings.

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025

LinkedIn Settings

LinkedIn Settings LinkedIn related settings like OAuth can be configured here. OneHash needs access to the API through which the post is shared and achieved using OAuth 2.0 Authentication Protocol. | 1. How to set up LinkedIn Developer App You must have LinkedIn Developer App for your company. OneHash interacts with this App for sharing the post. 1.1 Create LinkedIn Developer App Create App by link https://www.linkedin.com/developers fill all the details and verify it. And that App has the following products. 1. Share on LinkedIn 2. Sign In with LinkedIn 3. Marketing Developer Platform 1.2 Configure Redirect URLs: 1. Go to your LinkedIn Developers App then Auth tab. 2. In OAuth 2.0 settings section add Redirect URLs as it is shown in below image: ++https://{yoursite}/api/method/erpnext.crm.doctype.linkedin_settings.linkedin_settings.callback++ 3. Click Update to make changes. | 2. How to set up LinkedIn Settings To access LinkedIn Settings, go to: ++Home > CRM > Settings > LinkedIn Settings++ Company ID You get the Company ID from your LinkedIn Company URL. Consumer Key and Consumer Secret You get Consumer Key and Consumer Secret from your LinkedIn Developer account go to: https://www.linkedin.com/developers/ > My Apps > {Your App} > Auth Once you save the doc by filling Company ID, Consumer Key, and Consumer Secret it will redirect to LinkedIn's sign-in page by providing valid LinkedIn credentials and clicking Allow, the member approves your application's request to access their member data and interact with LinkedIn on their behalf.

By Frappe Content licensed CC-BY-SA 3.0
Last updated on Jun 18, 2025