Home Configuring Simply

Configuring Simply

Christian
By Christian and 1 other
12 articles

How to use the Mail Converter module in Simply CRM

We understand that modern businesses heavily rely on email as their main communication channel. It’s not uncommon for us to cycle through hundreds and even thousands of emails. If left unhandled, these emails will quickly pile up and create a nuisance in your inbox. To help solve this problem, Simply CRM has developed the Mail Converter module, which allows you to quickly and efficiently manage your inbox. Mail Converter scans and streamline tasks by automatically creating appropriate records in Simply CRM. In case you need a custom solution for your email correspondence, Simply CRM allows you to define specific rules and actions that will be performed on your emails. Keep in mind that all of your emails will be scanned automatically, unless you manually disable the Mail Scanner task in the Scheduler. The Mail Converter operations Depending on your specific needs and preferred settings, the Mail Converter can perform many different operations on your emails. The following table breaks down these operations and the records associated with them. | Record | Operation | |---|---| | Lead | 1. Create leads 2. Attach emails to leads | | Contact | 1. Create contacts 2. Attach emails to contacts | | Ticket | 1. Create tickets (with the corresponding contact) 2. Create tickets (without the corresponding contact) 3. Attach emails to tickets | | Organization | 1. Create organizations 2. Attach emails to organizations | | Deals | 1. Create deals (with the corresponding contacts) 2. Create deals (without the corresponding contacts) 3. Attach emails to deals | How to configure your mailbox in Simply CRM The Mail Converter scans your mailbox in Simply CRM and performs the appropriate actions depending on the email content. However, in order to use the Mail Converter, you must first configure your mailbox in Simply CRM. To configure your mailbox, open your instance of Simply CRM and go to Settings under the User option in the top right corner. In the new window, open Other Settings and choose Mail Converter. Press Create Mailbox or Add Mailbox. Enter the mailbox details, as shown in the following screenshot. The following table breaks down the mailbox details and explains how each option is used in Simply CRM. | Field | Description | |---|---| | Scanner Name | Provide a label for your mailbox. This is only used for your own reference. | | Server | Enter the IMAP mail server name. imap.gmail.com for Gmail, for exmaple. | | User Name | Enter a unique email client user name | | Password | Provide the email client password | | Protocol | Fill this field in accordance with your mail server configuration | | SSL Type | Fill this field in accordance with your mail server configuration | | SSL Method | Fill this field in accordance with your mail server configuration | | Look For | Select All to scan all emails or choose Unread to scan only unread emails | | After Scan | Select the label that will be used on your emails after they are scanned | | Status | Enable this checkbox to make your mailbox active | | Time Zone | Select the time zone of the IMAP server | After you enter all the details, press Next to continue your work and start selecting the folders that you want to add from your email client. When you select all the necessary folders, press Next. Important: You must select at least one folder to go to the next step. In the last step, you will need to specify the rule conditions and actions. In Simply CRM, you can use rules to define what actions will be performed on your emails, after the system scans your email messages. Keep in mind that incoming emails will be scanned regularly to check whether or not they meet the criteria you specified. Follow the instructions below to set up rules in a mailbox. Open the Mail Converter and select the desired mailbox. In the detailed view, press on the Add Rule button in the top right corner. This will open the following pop-up window, where you will be asked to enter the rule details. Fill in the fields by entering the necessary details and press Save. The next table breaks down each option in the Add Rule pop-up window and describes what actions they perform. | Field | Description | |---|---| | Match | All Conditions means that all specified conditions need to be matched for the rule action to be performed. Any Conditions means that only one condition needs to be fulfilled for the rule action to be performed. | | From | Compares your criteria with the From field of your incoming emails. | | To | Compares your criteria with the To field of your incoming emails. | | CC | Compares your criteria with the CC field of your incoming emails. | | BCC | Compares your criteria with the BCC field of your incoming emails. This filter only works when the BCC field is visible to you. | | Subject | Compares your criteria with the subject of your emails, taking into consideration the selected condition (Contains, Not Contains, Equals, Not Equals, Begin, End, Regex) | | Body | Compares your criteria with the body of your emails, taking into consideration the selected condition (Contains, Not Contains, Equals, Not Equals, Begin, End, Regex) | Through rules actions, Simply CRM allows you to set the mapping of your CRM fields with the email body content. To initiate this process, use a delimiter that will highlight the content that needs to be mapped onto your CRM fields. How Mail Converter creates records in Simply CRM After scanning your emails, Mail Converter will create records for the emails that fulfil the specified criteria. Simply CRM will automatically map the information from the email to appropriate CRM fields. The following table explains what actions Mail Converter can perform on your records. | Action | Description | |---|---| | Create Ticket (With Contact) | Creates a ticket record with the following information: Ticket title = email subject Contact Name = Contact name in Simply CRM depending on the email. If there is no existing contact in Simply, a new record will be created. Description = email body All email attachments are linked to the ticket The system will perform a lookup to check whether an existing contact or organization corresponds to the FROM field in the email. If a matching record is found, the ticket will be associated with it. | | Create Ticket (Without Contact) | Creates a ticket record with the following information: Ticket title = email subject Contact Name is left empty Description = email body All email attachments are linked to the ticket The system will perform a lookup to check whether an existing contact or organization corresponds to the FROM field in the email. If a matching record is found, the ticket will be associated with it. | | Update Ticket | Updates existing ticket records with the following information: Comment = Email body Selects Regex in the Subject field, and pastes the following code Ticket Id[^:]?: ([0-9]+) in the text area. | | Create Lead | Creates a lead record with the following information: Last Name = email subject; in case the email subject is empty, the FROM field will be used as the last name Primary Email = the FROM field in the email Description = email body All email attachments will create separate documents in Simply CRM, and the documents will be associated with the lead record. Assigned To is configured as specified in the Mail Converter rule. | | Create Contact | Creates a contact record with the following information: Last Name = email subject; in case the email subject is empty, the FROM field will be used as the contact name Primary Email = the FROM field in the email Description = email body All email attachments will create separate documents in Simply CRM, and the documents will be associated with the lead record. Assigned To is configured as specified in the Mail Converter rule. | | Create Organization | Creates an organization record with the following information: Organization Name = email subject; in case the email subject is empty, the FROM field will be used as the organization name Primary Email = the FROM field in the email Description = email body All email attachments will create separate documents in Simply CRM, and the documents will be associated with the lead record. Assigned To is configured as specified in the Mail Converter rule. | | Create Deal (With Contact) | Creates a Deals record with the following information: Deal name = email subject; in case the email subject is empty, the FROM field will be used as the organization name Contact Name = Contact name in Simply CRM, depending on the email. If there is no existing contact in Simply, a new record will be created. Description = email body All email attachments are linked to the deal. | | Create Deal (Without Contact) | Creates a new Deals record with the following information: Deal = email subject Contact Name is left empty Description = email body All email attachments are linked to the deal. | | Add to Contact [FROM] | Simply CRM performs a lookup to check if any existing contact records match the FROM email field. If the system finds a matching record, a new email record will be created and attached to the contact. All email attachments will create new documents that will be associated with the appropriate contact. | | Add to Contact [TO] | Simply CRM performs a lookup to check if any existing contact records match the TO email field. If the system finds a matching record, a new email record will be created and attached to the contact. All email attachments will create new documents that will be associated with the appropriate contact. | | Add to Leads [FROM] | Simply CRM performs a lookup to check if any existing lead records match the FROM email field. If the system finds a matching record, a new email record will be created and attached to the lead. All email attachments will create new documents that will be associated with the appropriate contact. | | Add to Leads [TO] | Simply CRM performs a lookup to check if any existing lead records match the TO email field. If the system finds a matching record, a new email record will be created and attached to the lead. All email attachments will create new documents that will be associated with the appropriate contact. | | Add to Organization [FROM] | Simply CRM performs a lookup to check if any existing organization records match the FROM email field. If the system finds a matching record, a new email record will be created and attached to the organization. All email attachments will create new documents that will be associated with the appropriate contact. | | Add to Organization [TO] | Simply CRM performs a lookup to check if any existing organization records match the TO email field. If the system finds a matching record, a new email record will be created and attached to the organization. All email attachments will create new documents that will be associated with the appropriate contact. | | Add to Deal [FROM] | Simply CRM performs a lookup to check if any existing Deals records match the FROM email field. If the system finds a matching record, a new email record will be created and attached to the deal. All email attachments will create new documents that will be associated with the appropriate contact. | | Add to Deal [TO] | Simply CRM performs a lookup to check if any existing Deals records match the TO email field. If the system finds a matching record, a new email record will be created and attached to the deal. All email attachments will create new documents that will be associated with the appropriate contact. | | Add to Ticket [FROM] | Simply CRM performs a lookup to check if any existing ticket records match the FROM email field. If the system finds a matching record, a new email record will be created and attached to the ticket. All email attachments will create new documents that will be associated with the appropriate contact. | | Add to Ticket [TO] | Simply CRM performs a lookup to check if any existing ticket records match the TO email field. If the system finds a matching record, a new email record will be created and attached to the ticket. All email attachments will create new documents that will be associated with the appropriate contact. | Important: The Update fields should have a higher priority than the Create Tickets rule. An automated email is sent to your customers whenever a ticket is created. If the customers reply to this email, the reply will be saved as a comment in the existing ticket. It’s recommended that you configure the From Email field in the outgoing server using the same email that you used to set up a mailbox in the Mail Converter. If you need help using the Mail Converter module in Simply CRM, feel free to reach out to us through LiveChat or email us at support@simply-crm.com.

Last updated on Aug 26, 2024

How to add or edit fields in a module

Simply CRM allows you to personalize your record view by adding or editing fields inside modules. How to personalize your record view In Simply CRM, each module has a defined number of fields and blocks that are used to store information. The Module Layouts & Fields option allows you to create custom fields, edit existing field properties, or move the fields across various blocks. There are two ways to open the Module Layouts & Fields option. You can open it by expanding the User drop-down menu in the top right corner and selecting Settings. Then, go to Module Management and choose the Module Layouts & Fields feature. Alternatively, you can open this feature by going through an existing module. In that case, you will need to open a module, e.g. Deals, and select the Customize option in the top right corner. There, you will go to Deals Layouts & Fields. Create a custom block Each module in Simply comes with a few default blocks, but you can always add more blocks to your modules. Follow the instruction below to create a custom block. Press the Add Block button. Set the block name and configure the Add After option by selecting a block from the drop-down menu. Click Save. ### Add a custom field You can further expand your modules by adding custom fields to complement the default ones. To create a custom field, press the Add Custom Field button on the right side. Enter the field details in the resulting pop-up window. You can configure the field name in the Label Name box and specify the field length in the second mandatory option. Don’t forget to provide the default value and enable or disable special field properties for your custom field. After you enter all the relevant information, click Save. Simply CRM supports a number of different field types. Keep reading for a detailed breakdown of all available field types. | Field Type | Description | Information | |---|---|---| | Text | Used to add text | Label: Provide field name Length: Provide field size Maximum characters: 255 | | Decimal | Used to add decimals | Label: Provide field name Length: Provide field size Decimal: Provide number of decimal places Maximum characters: 59 | | Integer | Used to add integers | Label: Provide field name Length: Provide field size Maximum characters: 255 | | Percent | Used to add percentages | Label: Provide field name | | Currency | Used to add currencies | Label: Provide field name Length: Provide field size Maximum characters: 255 | | Date | Used to add dates | Label: Provide field name | | Email | Used to add email addresses | Label: Provide field name | | Phone | Used to add phone numbers | Label: Provide field name | | Picklist | Used to add drop-down fields | Label: Provide field name Picklist values: Provide picklist values | | Checkbox | Used to add checkboxes | Label: Provide field name | | Text area | Used to add long text | Label: Provide field name | | Multi-select Combo Box | Used to add the picklist field to select multiple values | Label: Provide field name Picklist values: Provide picklist values | | Skype | Used to add Skype ID | Label: Provide field name | | Time | Used to add time | Label: Provide field name | | URL | Used to add website addresses | Label: Provide field name | Create a custom Picklist field In addition to default fields, you can also add Picklist fields to your instance of Simply CRM. Follow the instructions given below to create a new Picklist field. Press the Add Custom Field button in the top right corner and enter the field details in the resulting pop-up box. Select Picklist as the field type. Then, you can start adding Picklist values. Enter value L1 and press Enter to add a Picklist value. You can repeat this until you have the necessary number of values. Set the default field value and check or uncheck the specific field properties listed in the pop-up box. When you finish adding all the details, press Save to create your custom Picklist field. Rearrange fields Simply CRM lets you freely rearrange your fields and move them across blocks. Follow these steps to rearrange your fields: 1. In the Layouts & Fields of a specific module, click on the field that you want to move. 2. Drag the field to your preferred locations. 3. Press the Save Layout button to confirm the changes. ### Edit field properties Once you create a field, the system will forbid any changes in the Field Type and Label Name properties in order to preserve the data structure and integrity. If you need a field with a different Field Type and/or Label Name, you can create a new field and configure its values as necessary. Simply CRM allows you to edit the field properties by pressing the pencil icon in the top right corner of the field’s block. In the resulting pop-up window, you’ll be able to edit the following settings: Mandatory Field, Key Field View, Mass Edit, Quick Create and Header View. Each of these options can be enabled or disabled for custom fields. When editing preset fields, some of these properties may be limited to preserve data integrity. You can check whether or not a field property can be edited by simply hovering over it in the pop-up window. If the cursor turns into a warning symbol, the property cannot be edited. After you finish customizing the field properties, click Save to confirm the changes. Make fields mandatory or non-mandatory Simply CRM lets you have complete power over fields. This means you can select which fields are mandatory or non-mandatory. Mandatory fields must always be filled in and you cannot create or import any records without entering data in the mandatory fields. Here is how you can make a field mandatory in Simply. Click on the Edit field button to open the edit pop-up box and check the Mandatory Field checkbox. Press Save to apply the change. Alternatively, you can just click on the Mandatory option within the field. If you want to make a field non-mandatory, follow the same procedure, but uncheck the Mandatory Field box. Important: Some fields cannot be made non-mandatory. For example, the Last Name field in Contacts must be mandatory to create a relation between modules. When an admin attempts to mark a field in an existing workflow, list, mailroom action, etc., he will receive a warning about the change. Delete fields In case you no longer need your custom fields or you are not satisfied with the fields, you can delete them by pressing on the trash can icon. You can delete a custom block by pressing the Delete Custom Block button in the top right corner. When you delete a custom field, all data associated with it will be lost. If you want to preserve the data, you can hide the field to make it invisible to other users. You can still view the hidden fields by pressing the View Hidden Fields button in the top right corner. Important: You cannot delete the default fields, as they can only be hidden. Hide fields In case you need to preserve the data within the fields that you no longer need, you can use the hide option. Follow the instructions below to hide a custom field. Click on the Edit option in the form of a pencil within a field. In the resulting pop-up, press on the slider that says Show Field to turn it off. Click Save to update the field properties. Important: Both default and custom fields can be hidden. However, mandatory fields can never be hidden.

Last updated on Aug 27, 2024

How to integrate Billy in Simply CRM

Billy’s Billing is a popular invoicing and accounting application that allows business owners and managers to track their incomes and expenses. You can find out more by visiting their official website at Billy.dk. Simply CRM fully integrates the Billy’s accounting system into its dashboard and provides you with a complete overview of all your accounting data. If you have a Billy account or want to set up Billy for your company, please follow the instructions below. We will help you set up an account and integrate it into your instance of Simply CRM. Continue reading for more information. Integrate Billy in Simply CRM To integrate your Billy account with Simply CRM, you will need to perform the following steps: 1. Set up a Billy.dk account 2. Generate the Billy API key 3. Configure your Billy account in Simply CRM How to set up a Billy account In order to integrate Billy in Simply CRM, you must first have an active Billy account. If you have a Billy account, feel free to skip this step. Otherwise, please follow the instructions below. Visit the Billy.dk website and sign up for a trial account using the Opret gratis bruger option in the top right corner or simply fill out the registration form in the center of the homepage. You will be automatically logged into your new account. Enter your company’s information and fill out all the forms necessary to complete the registration process. Important: Unless you finish the registration process, you won’t be able to access the option to generate the Billy API key. How to generate the Billy API key When you complete the registration, click on the gear icon in the bottom left corner to open your account settings. In the new sidebar, select Adgangsnøgler to open the API Keys. In the new window, press the Opret adgangsnøgle button in the top right corner, as shown in the image above. In the resulting pop-up window, enter the API Key name in the Navn field and press Opret. When you press the button, a new pop-up window with your API key will appear. Copy this key and then return to Simply CRM. How to configure Billy in Simply CRM When you log into your instance of Simply CRM, go to Settings. Press on Other Settings option and choose Billy’s Billing. In the Billy module, press the Edit button and enter your API key in the API Key field. Then, press Save to confirm your settings. If you’ve entered the correct data, the Status icon will turn green. When you enter your API key successfully, you will be able to change your Billy integration settings using the Edit button in the top right corner. The following table breaks down all the options that you can configure. | Option name | Option description | |---|---| | API Key | The key used to connect your Billy account with your instance of Simply CRM. | | Mapping | Mapping allows you to match Simply CRM fields to their Billy counterparts to quickly transfer your data. You can choose between default and custom mapping. Default – all fields are preset. Custom – you choose how the fields will be mapped. | | Sync mode | Sync mode describes how your data will be synchronized. Manual – the data will only sync when you press on the Sync button in the Billy module. Automatic – the data will sync automatically every three hours, starting from the next cron update. | | Sync direction | Sync direction specifies what app has priority when syncing data. Simply CRM → Billy means that the data will be synced from Simply to Billy. Simply CRM ← Billy means that the data will be synced from Billy to Simply CRM. Simply CRM ↔ Billy means that the data will sync both ways. | | Priority module for invoice and credit note sync | Determines what module has priority when synchronizing invoices in Billy. You can choose between organizations and contacts here. Organizations – prioritizes invoices from companies. Contacts – prioritizes personal invoices. | | Status | Specifies the status of the Billy-Simply CRM connection. Red means that the connection failed and green means that the connection has been established successfully. | Important: If you select two-way synchronization, you’ll need to set the app has priority. If you choose Send CRM data first, the Billy data will be updated with your Simply CRM records. Conversely, if you select Send Billy data first, your Simply CRM data will be updated with your Billy records. How to use your Billy data in Simply CRM Once you integrate your Billy account in Simply CRM, you can synchronize your data for specific modules or in bulk. To synchronize your data in bulk, simply visit the Billy’s Billing module under Settings > Other Settings. In the module, press the Sync button in the top right corner. All modules will be immediately synchronized. Important: If you set the Sync mode to Automatic, your data will automatically sync every three hours. If you need to synchronize your data immediately, use the Sync button. If you only want to synchronize a single record, you can perform the sync by locating the desired record in its module. You can access your modules using the menu on the left side. Important: Billy can only be used in the following modules – Contacts, Organizations, Products and Invoices. If you want to synchronize an Organization record, open the Organizations module from the menu. In the list view of organizations, press the record that you need to synchronize and open its detailed view. In the detailed view, press the Sync to Billy button in the top right corner. A new pop-up window with the synchronization status will appear on your screen. If your synchronization fails, please revisit the instructions on integrating Billy in Simply CRM and make sure you’ve connected your Billy account correctly.

Last updated on Aug 27, 2024

How to anonymize your data in Simply CRM

Simply CRM allows you to anonymize your contacts, leads and organizations data to provide your clients with an additional layer of privacy and security. Further, it protects private and sensitive data by removing personally identifiable information from the system. By setting up the Anonymizer module, you can choose what data can be anonymized as well as who can perform the anonymization within your company. This allows you to protect your and your clients’ activities while maintaining the data integrity. How to set up the Anonymizer module If you want to anonymize your company’s data, you’ll first need to activate the Anonymizer module. To achieve this, open Settings and select Apps under App management. Scroll through the list to find the Anonymizer block among the available apps. Then, press on the Activate button in the bottom right corner. When you activate the module, go back to Settings. Select Other Settings and choose Anonymizer from the drop-down menu. In the new window, press the Edit button to start configuring the Anonymizer settings. As you can see in the image below, Simply CRM provides a clear overview of all anonymization options. In the first field, you’ll need to specify what users can view and use the Anonymizer button in your instance of Simply CRM. We recommend that you only allow the most trustworthy people in your organization to use anonymization. If you leave this field empty, all users will be able to anonymize your records. Important: Once anonymized, the personal data of your records will be lost permanently. You will not be able to recover your data. When you specify the minimum role necessary to anonymize data, you can select what modules will have the anonymization option activated. Simply CRM allows you to data anonymization in three modules: Contacts, Leads and Organizations. You can activate the Anonymizer in each of these modules by simply pressing the check box next to the module name. For each module, you’ll be able to configure what fields will be anonymized by selecting them from the drop-down. When you finish configuring the Anonymizer settings, press the Save button in the top right corner. How to anonymize your records Once you configure the Anonymizer, you’ll be able to use it within the modules you specified in the anonymization settings. For example, if you configured the Anonymizer as shown in the previous screenshot, you can open the Contacts module to test the anonymization process. To access Contacts, press on the person icon on the left menu. Press on a contact record in the module to open its detailed view. There, you’ll find the Anonymize button in the top right corner. Anonymize Button in the Contacts ModuleWhen you press the button, you’ll be asked to confirm the anonymization. Remember that this action is not reversible. Once anonymized, the personal data is lost forever. Press Yes to confirm the action. You can see how the data anonymization affected our record in the screenshot below. As we defined in the Anonymizer settings earlier, First Name and Last Name fields were changed to Anonymous.

Last updated on Aug 27, 2024

The Simply CRM Web Service Tutorial

Simply provides a simple, powerful and secure application programming interface (API) to work with the entities stored within. To use this document, you should have a basic familiarity with software development, web services, and Simply CRM. The web service provides an easier way to integrate Simply with your other software systems. The API call characteristics REST – API is REST based, which means that all the communication between the client and the server can happen over HTTP in the form of GET or POST requests. JSON – JSON is used to encode the response and the request. Requests and responses – Your client application prepares and submits a service request to the API. The API processes the request and returns a response, and then the client application handles the response. Committed automatically – Every operation that writes to a Simply object is committed automatically. This is analogous to the AUTOCOMMIT setting in SQL. The API response Response Object All responses will have one of the following two formats. If the request is processed successfully: <code>Response{ <br></br> success:Boolean=true <br></br> result:Object //The Operation Result object <br></br>} <br></br></code> If a failure occurs while processing the request: <code>Reponse{ <br></br> success:Boolean=false <br></br> error:ErrorObject <br></br>} <br></br></code> Error object <code>ErrorObject{ <br></br> errorCode:String //String representation of the error type <br></br> errorMessage:String //Error message from the api. <br></br>} <br></br></code> errorCode is a string representation of the error type. Error handling The response for any web service request is a JSON object. The object has a field success which will have the value true if the operation was a success and false otherwise. If success is false, the response object will contain a field error which will contain the JSON object. The error object will contain two fields errorType, a single word description of the error, and errorMsg, a string containing a description of the error. The example code is written in Php and has two dependencies the Laminas library and Http_Request2. The requirements to run examples given in the tutorial 1. An installation of Simply with the web service; 2. Php to run the example code; 3. HTTP_Request2 which can be installed by doing a pear install HTTP_Request2; 4. Laminas, for which you will need to download the Laminas framework. Logging in The API does not use the password for logins. Instead, Simply provides a unique access key for each user. To get the user key, go to the My Preferences panel of a specific user. There, you will find the Access Key field. Important: It is required to enter the IP in the Whitelist IP field under My Preferences on the user’s profile in Simply CRM that is being used to access the API. Each login starts a client session with the server, authenticates the user and returns a sessionId which will be used for all subsequent communication with the server. Logging in is a two-step process. In the first step, the client obtains the challenge token from the server, which is used along with the user’s access key to log in. GetChallenge Get a challenge token from the server. This must be a GET request. URL format <code>Request Type: GET <br></br><br></br>http://Simply_url/webservice.php?operation=getchallenge <br></br><br></br> &username=[username] <br></br></code> GetChallenge example To get the challenge token, you need to execute the following code. <?php <br></br>require_once 'HTTP/Request2.php'; <br></br>$endpointUrl = 'https://tr.simply-crm.dk/webservice.php'; <br></br>//username of the user who is to logged in. <br></br>$userName="API"; <br></br><br></br>try { <br></br> $request = new HTTP_Request2($endpointUrl . "?operation=getchallenge&username=" . $userName, HTTP_Request2::METHOD_GET); <br></br> $response = $request->send(); <br></br> if (200 == $response->getStatus()) { <br></br> $jsonResponse = json_decode($response->getBody(),true); <br></br> $challengeToken = $jsonResponse['result']['token']; <br></br> echo $challengeToken; <br></br> } else { <br></br> echo 'Unexpected HTTP status: ' . $response->getStatus() . ' ' . <br></br> $response->getReasonPhrase(); <br></br> } <br></br><br></br>}catch (HTTP_Request2_Exception $e) { <br></br> echo 'Error: ' . $e->getMessage(); <br></br>} <br></br><br></br>?> GetChallenge result An object representing the response result of a getchallenge operation. <code>GetChallengeResult{ <br></br> token:String //Challenge token from the server. <br></br> serverTime:TimeStamp //The current server time. <br></br> expireTime:TimeStamp //The time when the token expires. <br></br>} <br></br></code> Now that you have the challenge token you can go ahead with the login. The access key field in the login operation is the md5 checksum of the concatenation of the challenge token and the user’s own access key. The login operation, as opposed to getchallenge, is a post request. Login Login to the server using the challenge token obtained in the getchallenge operation. URL format <code>Request Type:POST <br></br>http://Simply_url/webservice.php?operation=login <br></br><br></br> &username=[username] <br></br> &accessKey=[accessKey] <br></br></code> For accessKey, create a md5 string after concatenating user accesskey from the My Preference page and the challenge token obtained from the getchallenge result. Login example <code>//e.g. <br></br>//access key of the user admin, found on my preferences page.<br></br>$userAccessKey = 'dsf923rksdf3'; <br></br><br></br>//create md5 string concatenating user accesskey from my preference page<br></br>//and the challenge token obtained from get challenge result. <br></br>$generatedKey = md5($challengeToken.$userAccessKey); <br></br>//login request must be POST request. <br></br>$httpc->post("$endpointUrl",<br></br> array('operation'=>'login', 'username'=>$userName, <br></br> 'accessKey'=>$generatedKey), true); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse.<br></br>if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('login failed:'.$jsonResponse['error']['errorMsg']); <br></br><br></br>//login successful extract sessionId and userId from LoginResult to it can used for further calls. <br></br>$sessionId = $jsonResponse['result']['sessionName']; <br></br>$userId = $jsonResponse['result']['userId']; <br></br><br></br></code> The session ID is used to identify the current session and will be a common parameter in all subsequent requests. Login result An object representing the response result of a login operation. <code>LoginResult{ <br></br> sessionId:String //Unique Identifier for the session <br></br> userId:String //The Simply id for the logged in user <br></br> version:String //The version of the webservices api <br></br> SimplyVersion:String //The version of the Simply crm. <br></br>} <br></br></code> Getting information The API provides two operations to get information about the available Simply objects. The first one is listtypes, which provides a list of available modules. This list only contains modules the logged in user has access to. List types List the names of all the Simply objects available through the API. URL format <code>Request Type: GET <br></br><br></br>http://Simply_url/webservice.php?operation=listtypes <br></br> <br></br> &sessionName=[session id] <br></br></code> Returns a map containing the key ‘types’ with the value being a list of the Simply object names. List types example <code>//listtypes request must be GET request.<br></br>$httpc->get("$endpointUrl?sessionName=$sessionId&operation=listtypes");<br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse.<br></br>if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('list types failed:'.$jsonResponse['error']['errorMsg']); <br></br>//Get the List of all the modules accessible. <br></br>$modules = $jsonResponse['result']['types']; <br></br></code> The second operation is describe and it provides detailed type information about a Simply object. Describe Get the type information about a given Simply object. URL format <code>Request Type: GET <br></br><br></br>http://Simply_url/webservice.php?operation=describe <br></br> <br></br> &sessionName=[session id] <br></br> &elementType=[elementType] <br></br></code> Describe example <code>//e.g. <br></br>//Simply Object name which need be described or whose information is requested. <br></br>$moduleName = 'Contacts'; <br></br><br></br>//use sessionId created at the time of login. <br></br>$params = "sessionName=$sessionId&operation=describe&elementType=$moduleName"; <br></br>//describe request must be GET request.<br></br>$httpc->get("$endpointUrl?$params"); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse.<br></br>if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('describe object failed:'.$jsonResponse['error']['errorMsg']);<br></br>//get describe result object. $description = $jsonResponse['result']; <br></br><br></br></code> The description consists of the following fields: | Name | Description | |---|---| | Label | The label used for the name of the module. | | Name | The name of the module. | | Createable | A boolean value specifying whether the object can be created. | | Updateable | A boolean value specifying whether the object can be updated. | | Deleteable | A boolean value specifying whether the object can be deleted. | | Retrieveable | A boolean value specifying whether the object can be retrieved. | | Fields | An array containing the field names and their type information. | Each element in the fields array describes a particular field in the object. | Name | Description | |---|---| | Name | The name of the field, as used internally by Simply. | | Label | The label used for displaying the field name. | | Mandatory | A boolean that specifies whether the field is mandatory. Mandatory fields must be provided when creating a new object. | | Type | A map that describes the type information for the field. | | Default | The default value for the field. | | Nillable | A boolean that specifies whether the field can be set to null. | | Editable | A boolean that specifies whether the field can be modified. | The type field is particularly important as it describes what type of the field is. This is a map that will contain at the least one element called name, which specifies the name of the type. | Name | Description | |---|---| | String | A one line text field. | | Text | A multiline text field. | | Integer | A multiline text field. | | Double | A field for for floating point numbers. | | Boolean | A boolean field, which can have the values true or false. | | Time | A string in the format hh:mm, which is based on the user’s time format settings. | | Date | A string representing a date, the type map will contain another element called format which is the format in which the value of this field is expected, its based on the user’s settings date format. | | Datetime | A string representing the date and time, which is based on the user’s date format settings. | | Autogenerated | The fields for which the values are generated automatically by Simply. This is usually an object’s ID field. | | Reference | A field that shows a relation to another object. The type map will contain another element called refersTo, which is an array containing the modules to which the field can point. | | Picklist | A field that can a hold one of a list of values. The map will contain two elements, picklistValues, which is a list of possible values, and defaultValue, which is the default value for the picklist. | | Multipicklist | A picklist field where multiple values can be selected. | | Phone | A field used to store phone numbers. | | Email | A field used to store email IDs. | | URL | A field used to store URLs. | | Skype | A field used to store Skype IDs or phone numbers. | | Password | A field used to store passwords. | | Owner | A field that defines the owner of the field, which can be a group or an individual user. | Describe result <code>DescribeResult{ <br></br> label:String //label of the module. <br></br> name:String //name of the module, as one provided in request. <br></br> createable:Boolean //true if the logged-in user is allowed create records of type and false otherwise. <br></br> updateable:Boolean //true if the logged-in user is allowed update records of type and false otherwise. <br></br> deleteable:Boolean //true if the logged-in user is allowed delete records of type and false otherwise. <br></br> retrieveable:Boolean //true if the logged-in user is allowed retrieveable records of type and false otherwise. <br></br> fields:Array //array of type Field. <br></br>} <br></br></code> Field <code>Field{ <br></br><br></br> name:String //name of the field. <br></br><br></br><br></br> label:String //label of the field. <br></br> mandatory:Boolean //true if the needs to be provided with value while doing a create request and false otherwise. <br></br> type:FieldType //an instance of FieldType. <br></br> default:anyType //the default value for the field. <br></br> nillable:Boolean //true if null can provided a value for the field and false otherwise. <br></br> editable:Boolean //true if field can provided with a value while create or update operation. <br></br>} <br></br></code> FieldType <code>FieldType{ <br></br> name:Type //field type <br></br> refersTo:Array //an array of Simply object names of types of record to which the field can refer to, its only defined for reference FieldType. <br></br> picklistValues:Array //an array of type PicklistValue type. its only defined for picklist Fieldtype. <br></br> defaultValue:String //an value of the default selected picklist value, its only defined for picklist Fieldtype. <br></br> format:String //date format in which date type field need to populated with, eg, mm-dd-yyyy. its only defined for Date Fieldtype. <br></br>} <br></br></code> The picklist field value needs to provided explicitly. <code>PicklistValue{ <br></br> name:String //name of the picklist option. <br></br> value:String //value of the picklist option. <br></br>} <br></br></code> A describeResult object example //$description from the example above. For instance,print_r($description) might display: <code>Array <br></br>( <br></br> [label] => Contacts <br></br> [name] => Contacts <br></br> [createable] => 1 <br></br> [updateable] => 1 <br></br> [deleteable] => 1 <br></br> [retrieveable] => 1 <br></br> [fields] => Array <br></br> ( <br></br> [0] => Array <br></br> ( <br></br> [name] => account_id <br></br> [label] => Account Name <br></br> [mandatory] => <br></br> [type] => Array <br></br> ( <br></br> [name] => reference, <br></br> [refersTo] => Array <br></br> ( <br></br> "Accounts" <br></br> ) <br></br> ) <br></br> [default] => <br></br> [nillable] => 1 <br></br> [editable] => 1 <br></br> ) <br></br> ) <br></br>) <br></br><br></br></code> CRUD Operations The API provides operations to create, retrieve, update and delete CRM entity objects. Create Create a new entry on the server. URL format <code>Request Type: POST <br></br><br></br>http://Simply_url/webservice.php?operation=create <br></br><br></br> &sessionName=[session id] <br></br> &element=[object] <br></br> &elementType=[object type] <br></br><br></br></code> Create example Example 1 You can create a contact using the create operation. In this case, the mandatory fields are lastname and assigned_user_id. <code>//e.g. <br></br>//fill in the details of the contacts.userId is obtained from loginResult. <br></br>$contactData = array('lastname'=>'Valiant', 'assigned_user_id'=>$userId); <br></br>//encode the object in JSON format to communicate with the server. <br></br>$objectJson = Zend_JSON::encode($contactData); <br></br>//name of the module for which the entry has to be created. <br></br>$moduleName = 'Contacts'; <br></br><br></br>//sessionId is obtained from loginResult. <br></br>$params = array("sessionName"=>$sessionId, "operation"=>'create', <br></br> "element"=>$objectJson, "elementType"=>$moduleName); <br></br>//Create must be POST Request. $httpc->post("$endpointUrl", $params, true); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse. <br></br>if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('create failed:'.$jsonResponse['error']['errorMsg']); <br></br>$savedObject = $jsonResponse['result']; <br></br>$id = $savedObject['id']; <br></br></code> $savedObject is a map containing the fields of the new object including an ID field which can be used to refer to the object. Example 2 Create a contact and associate it with an existing account. <code>//e.g 2 <br></br>//Create a Contact and associate with an existing Account. <br></br>$queryResult = doQuery("select accountname,id from accounts where accountname='Simply';"); <br></br>$accountId = $queryResult[0]['id']; <br></br>//For more details on how do a query request please refer the query operation example. <br></br><br></br>//fill in the details of the contacts.userId is obtained from loginResult. <br></br>$contactData = array('lastname'=>'Valiant', 'assigned_user_id'=>$userId,'account_id'=>$accountId); <br></br>//encode the object in JSON format to communicate with the server. <br></br>$objectJson = Zend_JSON::encode($contactData); <br></br>//name of the module for which the entry has to be created. <br></br>$moduleName = 'Contacts'; <br></br><br></br>//sessionId is obtained from loginResult. <br></br>$params = array("sessionName"=>$sessionId, "operation"=>'create', <br></br> "element"=>$objectJson, "elementType"=>$moduleName); <br></br>//Create must be POST Request. <br></br>$httpc->post("$endpointUrl", $params, true); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse. <br></br>if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('create failed:'.$jsonResponse['error']['errorMsg']); <br></br>$savedObject = $jsonResponse['result']; <br></br>$id = $savedObject['id']; <br></br></code> Example 3 Create a contact and associate it with a new account. <code>//e.g 3 <br></br><p>//Create a Contact and associate with a new Account. <br></br></p><p>//fill in the details of the Accounts. userId is obtained from loginResult. <br></br>$accountData = array('accountname'=>'Simply', 'assigned_user_id'=>$userId); <br></br>//encode the object in JSON format to communicate with the server. <br></br>$objectJson = Zend_JSON::encode($accountData); <br></br>//name of the module for which the entry has to be created. <br></br>$moduleName = 'Accounts'; <br></br></p><p>//sessionId is obtained from loginResult. <br></br>$params = array("sessionName"=>$sessionId, "operation"=>'create', <br></br></p> <br></br> "element"=>$objectJson, "elementType"=>$moduleName); <br></br><br></br>//Create must be POST Request. $httpc->post(“$endpointUrl”, $params, true); $response = $httpc->currentResponse(); //decode the json encode response from the server. $jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse. <br></br>if($jsonResponse['success']==false) <br></br> <br></br> //handle the failure case. <br></br> die('create failed:'.$jsonResponse['error']['errorMsg']); <br></br><br></br>$account = $jsonResponse['result']; $accountId = $account['id']; <br></br><br></br>$contactData = array(‘lastname’=>’Valiant’, ‘assigned_user_id’=>$userId,’account_id’=>$accountId); <br></br><br></br>//encode the object in JSON format to communicate with the server. $objectJson = Zend_JSON::encode($contactData); //name of the module for which the entry has to be created. $moduleName = ‘Contacts’; <br></br> <br></br>//sessionId is obtained from loginResult. <br></br>$params = array(“sessionName”=>$sessionId, “operation”=>’create’, <br></br> <br></br> "element"=>$objectJson, "elementType"=>$moduleName); <br></br> <br></br>//Create must be POST Request. $httpc->post(“$endpointUrl”, $params, true); $response = $httpc->currentResponse(); //decode the json encode response from the server. $jsonResponse = Zend_JSON::decode($response['body']); <br></br> <br></br>//operation was successful get the token from the reponse. <br></br>if($jsonResponse['success']==false) <br></br> <br></br> //handle the failure case. <br></br> die('create failed:'.$jsonResponse['error']['errorMsg']); <br></br> $savedObject = $jsonResponse['result']; $id = $savedObject['id']; <br></br> <br></br></code> CreateResult A map representing the contents of a CRM entity based object. All reference fields are represented using ID type. A key called ID of type Id represents the object’s unique ID. This field is present for any object fetched from the database. Retrieve Retrieve an existing entry from the server. URL format <code>Request Type: GET <br></br><br></br>http://Simply_url/webservice.php?operation=retrieve <br></br> &session_name=[session id] <br></br> &id=[object id <br></br><br></br></code> Retrieve example To retrieve an object using its ID, use the retrieve operation. You can retrieve the contact created in the create example. <code>//sessionId is obtained from loginResult. <br></br>$params = "sessionName=$sessionId&operation=retrieve&id=$id"; <br></br>//Retrieve must be GET Request. <br></br>$httpc->get("$endpointUrl?$params"); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br>//operation was successful get the token from the reponse.<br></br><br></br>if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('retrieve failed:'.$jsonResponse['error']['errorMsg']);<br></br><br></br>$retrievedObject = $jsonResponse['result']; <br></br></code> RetrieveResult A map representing the contents of a CRM entity based object. All reference fields are represented using Id type. A key called ID of type Id represents the object’s unique ID. This field is present for any object fetched from the database. Update To update a retrieved or newly created object, you can use the update operation. URL format <code>Request Type: POST <br></br><br></br>http://Simply_url/webservice.php?operation=update <br></br> &sessionName=[session id] <br></br> &element=[object] <br></br><br></br></code> Update example You can add a first name to the contact. <code>//retrievedObject from previous example(Example 1). <br></br>$retrievedObject['firstname'] = 'Prince'; <br></br>//encode the object in JSON format to communicate with the server. <br></br>$objectJson = Zend_JSON::encode($retrievedObject); <br></br><br></br>//sessionId is obtained from the login operation result. <br></br>$params = array("sessionName"=>$sessionId, "operation"=>'update', <br></br> "element"=>$objectJson); <br></br>//update must be a POST request. <br></br>$httpc->post("$endpointUrl", $params, true); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse. if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('update failed:'.$jsonResponse['error']['errorMsg']); <br></br><br></br>//update result object. <br></br>$updatedObject = $jsonResponse['result']; <br></br></code> UpdateResult A map representing the contents of a crmentity based object. All reference fields are represented using Id type. A key called ID of type Id represents the object’s unique ID. This field is present for any object fetched from the database. Delete To delete an object, use the delete operation. URL format <code>Request Type: POST <br></br><br></br>http://Simply_url/webservice.php?operation=delete <br></br> &sessionName=[session id] <br></br> &id=[object id] <br></br></code> Delete example <code> <br></br>//delete a record created in above examples, sessionId a obtain from the login result. <br></br>$params = array("sessionName"=>$sessionId, "operation"=>'delete', "id"=>$id); <br></br>//delete operation request must be POST request. <br></br>$httpc->post("$endpointUrl", $params, true); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse. if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('delete failed:'.$jsonResponse['error']['errorMsg']); <br></br><br></br></code> The delete operation does not have a result. The success flag is enough to find out if the operation was successful. Queries Simply provides a simple query language for fetching data. This language is quite similar to select queries in SQL. There are limitations: the queries work on a single module, embeded queries are not supported, and it does not support joins. But this is still a powerful way of getting data from Simply. Query always limits its output to 100 records. The client application can use the limit operator to get different records. URL format <code>Request Type: GET <br></br><br></br>http://Simply_url/webservice.php?operation=query <br></br> <br></br> &sessionName=[session id] <br></br> &query=[query string] <br></br></code> Query example Example 1 <code>//query to select data from the server. <br></br>$query = "select * from Contacts where lastname='Valiant';"; <br></br>//urlencode to as its sent over http. <br></br>$queryParam = urlencode($query); <br></br>//sessionId is obtained from login result. <br></br>$params = "sessionName=$sessionId&operation=query&query=$queryParam"; <br></br>//query must be GET Request. <br></br>$httpc->get("$endpointUrl?$params"); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse. if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('query failed:'.$jsonResponse['errorMsg']); <br></br><br></br>//Array of SimplyObjects <br></br>$retrievedObjects = $jsonResponse['result']; <br></br></code> Example 2 Specify the columns to be fetched for each record. <code>//query to select data from the server. <br></br>$query = "select lastname,firstname,account_id,assigned_user_id from Contacts where lastname='Valiant';"; <br></br>//urlencode to as its sent over http. <br></br>$queryParam = urlencode($query); <br></br>//sessionId is obtained from login result. <br></br>$params = "sessionName=$sessionId&operation=query&query=$queryParam"; <br></br>//query must be GET Request. <br></br>$httpc->get("$endpointUrl?$params"); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse.<br></br>if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('query failed:'.$jsonResponse['errorMsg']); <br></br><br></br>//Array of SimplyObjects <br></br>$retrievedObjects = $jsonResponse['result']; <br></br></code> This will return an array containing arrays which represent the fields of each object that matched the query. QueryResult QueryResult is an array of SimplyObjects. SimplyObject A map representing the contents of a crmentity based object. All reference fields are represented using Id type. A key called ID of type Id represents the object’s unique ID. This field is present for any object fetched from the database. Query format <code>select * | <column_list> | <count(*)> <br></br>from <object> [where <conditionals>] <br></br>[order by <column_list>] [limit [<m>, ]<n>]; <br></br><br></br></code> The column list in the order by clause can have at most two column names. | Name | Description | |---|---| | column_list | A comma separated list of field names. | | object | The type name of the object. | | conditionals | The conditional operations or in clauses or like clauses separated by ‘and’ or ‘or’ operations these are processed from left to right. There is no grouping, that is bracket operators. | | conditional operators | <, >, <=, >=, =, != | | in clauses | in (). | | like clauses | in (). | | value list | A comma separated list of values. | | m, n | The integer values to specify the offset and limit respectively. | Sync Sync will return a SyncResult object containing the details of the changes after modifiedTime. URL format <code>Request Type: GET <br></br><br></br>http://Simply_url/webservice.php?operation=sync <br></br><br></br> &sessionName=[session id] <br></br> &modifiedTime=[timestamp] <br></br> &elementType=[elementType] <br></br></code> elementType – This is an optional parameter. If specified only the changes for that module after the given time are returned. Otherwise, the changes to all user accessible modules after the given time are returned. TimeStamp – A long representation of the number of seconds since Unix epoch. Example 1 Create an account and capture it in the sync API. <code>//time after which all the changes on the server are needed. <br></br>$stime = time(); <br></br>//Create some data now so it is captured by the sync api response. <br></br>//Create Account. <br></br>//fill in the details of the Accounts.userId is obtained from loginResult. <br></br>$accountData = array('accountname'=>'Simply', 'assigned_user_id'=>$userId); <br></br>//encode the object in JSON format to communicate with the server. $objectJson = Zend_JSON::encode($accountData); <br></br>//name of the module for which the entry has to be created. <br></br>$moduleName = 'Accounts'; <br></br><br></br>//sessionId is obtained from loginResult. <br></br>$params = array("sessionName"=>$sessionId, "operation"=>'create', <br></br> "element"=>$objectJson, "elementType"=>$moduleName); <br></br>//Create must be POST Request. <br></br>$httpc->post("$endpointUrl", $params, true); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse.<br></br>if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('create failed:'.$jsonResponse['error']['errorMsg']); <br></br>$createResult = $jsonResponse['result']; <br></br><br></br>$params = "operation=sync&modifiedTime=$stime&sessionName=$sessionId"; <br></br><br></br>//sync must be GET Request. <br></br>$httpc->get("$endpointUrl?$params"); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse. <br></br>if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('query failed:'.$jsonResponse['errorMsg']); <br></br><br></br>//Array of SimplyObjects <br></br>$retrievedObjects = $jsonResponse['result']; <br></br><br></br></code> The response contains the account that was created. Example 2 Create an account and a contact, use the sync API only for the Accounts module, only changes to Accounts module are returned. <code>//time after which all the changes on the server are needed. <br></br>$stime = time(); <br></br>//Create some data now so it is captured by the sync api response. <br></br><br></br>//fill in the details of the Accounts.userId is obtained from loginResult. <br></br>$accountData = array('accountname'=>'Simply', 'assigned_user_id'=>$userId); <br></br>//encode the object in JSON format to communicate with the server. <br></br>$objectJson = Zend_JSON::encode($accountData); <br></br>//name of the module for which the entry has to be created. <br></br>$moduleName = 'Accounts'; <br></br><br></br>//sessionId is obtained from loginResult. <br></br>$params = array("sessionName"=>$sessionId, "operation"=>'create', <br></br> "element"=>$objectJson, "elementType"=>$moduleName); <br></br>//Create must be POST Request. <br></br>$httpc->post("$endpointUrl", $params, true); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse. <br></br>if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('create failed:'.$jsonResponse['error']['errorMsg']); <br></br>$createResult = $jsonResponse['result']; <br></br><br></br>//Create a Contact. <br></br>//fill in the details of the contacts.userId is obtained from loginResult. <br></br>$contactData = array('lastname'=>'Valiant', 'assigned_user_id'=>$userId); <br></br>//encode the object in JSON format to communicate with the server. <br></br>$objectJson = Zend_JSON::encode($contactData); <br></br>//name of the module for which the entry has to be created. <br></br>$moduleName = 'Contacts'; <br></br><br></br>//sessionId is obtained from loginResult. <br></br>$params = array("sessionName"=>$sessionId, "operation"=>'create', <br></br> "element"=>$objectJson, "elementType"=>$moduleName); <br></br>//Create must be POST Request. <br></br>httpc->post("$endpointUrl", $params, true); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse. <br></br>if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('create failed:'.$jsonResponse['error']['errorMsg']); <br></br>$savedObject = $jsonResponse['result']; <br></br>$id = $savedObject['id']; <br></br><br></br>$params = "operation=sync&modifiedTime=$stime&sessionName=$sessionId"; <br></br><br></br>//sync must be GET Request. <br></br>$httpc->get("$endpointUrl?$params"); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse. <br></br>if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('query failed:'.$jsonResponse['errorMsg']); <br></br>//Array of SimplyObjects <br></br>$retrievedObjects = $jsonResponse['result']; <br></br><br></br></code> SyncResult An object representing the response of a sync operation. <code>SyncResult{ <br></br> updated:[Object] //List of Objects created or modified. <br></br> deleted:[Id] //List of *Id* of objects deleted. <br></br> lastModifiedTime:Timstamp //time of the latest change. which can used in the next call to the Sync api to get all the latest changes that the client hasn't obtained. <br></br>} <br></br></code> Logging Out Logout Log out from the web service session, which leaves the webservice session invalid for furthur use. URL format <code>Request Type: GET <br></br><br></br>http://Simply_url/webservice.php?operation=logout <br></br><br></br>&sessionName=[session id] <br></br></code> Example <code>//SessionId is the session which is to be terminated. <br></br>$params = "operation=logout&sessionName=$sessionId"; <br></br><br></br>//logout must be GET Request. <br></br>$httpc->get("$endpointUrl?$params"); <br></br>$response = $httpc->currentResponse(); <br></br>//decode the json encode response from the server. <br></br>$jsonResponse = Zend_JSON::decode($response['body']); <br></br><br></br>//operation was successful get the token from the reponse. <br></br>if($jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('query failed:'.$jsonResponse['errorMsg']); <br></br>//logout successful session terminated. <br></br></code> Extending the Simply web client using web service Extend session Extends the current Simply web client session to the web service and returns a webservice session ID. When working the from within the Simply web client, the user can re-use the current authenticated session instead of logging in to Simply again to access the web service. Note: If the user extends a session, then the session will be tied together, so logging out from one (the web service or the web client) will log the user out of the other as well. For the extend session operation to work, cookies must be enabled on the client browser. URL format <code>Request Type: POST <br></br><br></br>http://Simply_url/webservice.php?operation=extendsession <br></br><br></br></code> Example <code> <br></br></code> This example is written is Javascript, as the Extend Session is only valid from the Simply web client. Requirements to run the example - JQUERY library – to do the ajax http request. - JSON library – json2.js file available with Simply at json.org. Example 1 <code> <br></br>//operation parameters. <br></br>var params = "operation=extendsession"; <br></br>//end point of the services. <br></br>var endPointUrl = "http://Simply_url/webservice.php"; <br></br><br></br>//extendSession is post request, invoke jquery http post request. <br></br>$.post(endPointUrl, params, function(result){ <br></br> //decode the json encode response from the server. <br></br> var jsonResponse = json.parse(result); <br></br><br></br> //operation was successful get the token from the reponse. <br></br> if(jsonResponse['success']==false) <br></br> //handle the failure case. <br></br> die('login failed:'+jsonResponse['error']['errorMsg']); <br></br><br></br> //login successful extract sessionId and userId from LoginResult so it can used for further calls. <br></br> var sessionId = jsonResponse['result']['sessionName']; <br></br> var userId = jsonResponse['result']['userId']; <br></br>}); <br></br></code>

Last updated on Aug 27, 2024

How to set up Multiple Senders in Simply CRM

The Multiple SMTP app in Simply CRM allows you to add multiple SMTP servers to your Simply instance. By configuring multiple SMTP servers, this extension lets you customize your messages and communicate with your contacts using a variety of email accounts. This way, you can separate your marketing and sales messages from support emails or allow your employees to send emails from their personalized company accounts. Thanks to Multiple SMTP, each user in your instance of Simply CRM will be able to add their own custom email address and send emails directly from Simply CRM.However, Multiple SMTP doesn’t just help you better organize your messaging, they allow you to collect more precise data for your marketing campaigns Multiple SMTP doesn’t just help you better organize your messaging, they allow you to collect more precise data for your marketing campaigns. In addition, using multiple email addresses can reduce the risk of your message ending up in the user’s spam folder, which helps increase your open rates. How to set up the multiple senders app In order to set up multiple senders, you’ll first need to activate the application from the App Store. To do that, go to Settings > App Management > Apps. Then, search for the Multiple SMTP app in the store. Once you find Multiple SMTP, press the Activate button to turn on the app. The app will instantly become available to you and you should receive the following notification, informing you about the app status, in the top right corner. Now, you can find the Multiple Senders option under Other Settings. When you open the app, you should see the Multiple Senders homepage with an Add New button in the top right corner. Press this button to add your email addresses to Simply CRM. However, before you start adding your email addresses, please make sure they are configured to allow Simply CRM to connect to them. If you are using Gmail, see this article for a step-by-step guide: - How to configure a Gmail account for Multiple Senders To add your email, you’ll need to fill out the form shown below: The following table breaks down each field and describes how to fill it out to successfully add your email account to Multiple Senders. | Field Name | Description | |---|---| | User Name | Defines the Simply CRM user that will be associated with the email account. | | SMTP Server | Specifies the SMTP server that is used to send out emails. | | SMTP User | Specifies the email address (user) that is connecting to the SMTP server. | | Password | The password of the email account specified in the SMTP User field. | | From Address | Specifies the email address that will be used to send emails. This email address should be the same as SMTP User. | | From Name | Specifies the name that will be shown when sending emails. | | Batch Count | Limits the number of messages that can be sent in a batch. | | Batch Delay | Defines the delay between emails sent in a batch. | | Auth | Select this option if you want the SMTP server to require authentication before sending emails. | Below, you’ll find an example of a Gmail address configured correctly. When you press save, the module should reload and send you back to its homepage, where you will see your new address added under Multiple SMTP Accounts. You should also receive a test email confirming that you successfully added your email address to Multiple Senders. The email will be sent from the address that you configured in Multiple Senders to the email address associated with your Simply CRM user account. How to use multiple emails in Simply CRM When you configure your email accounts and add them to the Multiple Senders app, you’ll be able to choose your preferred email address for each email that you send. If you’d like to send an individual email to a contact, you can open the Mail Manager app by pressing the mail icon in the top right corner. Then, press the Compose button in the top left corner of the Mail Manager app. In the resulting email pop-up, press the Outgoing Server button and select the preferred email user name that you configured in the Multiple Senders app. Important: In order to send emails from Simply CRM, you must first install the Mail Manager App and configure your inbox. If you’re unsure how to do that, please consult our in-depth guide on setting up the Mail Manager.

Last updated on Aug 27, 2024

How to configure a Gmail account for Multiple Senders

If you have activated the Multiple Senders app in Simply CRM and want to add your Gmail account to Simply, please read the following article for instructions on how to successfully configure your email address. In case you are unsure how to activate the Multiple Senders app, please visit our general guide. It will provide you with step-by-step instructions on activating the app and adding multiple email addresses. How to configure Gmail account settings In order for Simply CRM to connect to your email account, you’ll need to adjust your email settings. If you’re using Gmail, open your inbox, press the account avatar in the top right corner and select Manage Your Google Account. Manage Your Google Account Settings From the sidebar, select Security. On the Security settings page, turn off two-factor authentication. You will not be able to use your Gmail account unless your 2-step Verification option is set to Off. Next, scroll down to the Less Secure Apps section. If your account is configured to not allow less secure apps, you’ll need to press the Turn On Access (not recommended) button. When you press the button, you’ll get a new page showing your current settings. Press the slider button to turn on access for less secure apps. Before you move on, make sure the settings say: Allow less secure apps: On. If you do not allow less secure apps to connect to your account, you may have trouble adding your email address to Simply CRM. After you allow access for less secure apps, you should also solve the Display Unlock Captcha to ensure easy access to Simply. Visit the following page: https://accounts.google.com/b/0/DisplayUnlockCaptcha and press Continue. This way, you’ll ensure that your email account can be added to the Multiple Senders app in Simply CRM. Important: The Display Unlock Captcha configuration only lasts for 10 minutes. Once you press the Continue button, you should immediately add your address to Simply CRM. If you do not add it within 10 minutes, you may be required to repeat that step. How to add a Gmail account to Multiple Senders Now that you’ve configured your email account settings, you can go back to the Multiple Senders app and press the Add New button in the top right corner. Multiple Senders Homepage in Simply CRMTo add your email, you’ll need to fill out the form shown below: The following table breaks down each field and describes how to fill it out to successfully add your Gmail account to Multiple Senders. | Field Name | Description | |---|---| | User Name | Defines the Simply CRM user that will be associated with the email account. | | SMTP Server | Specifies the SMTP server that is used to send out emails. For Gmail, enter: tls://smtp.gmail.com:587. | | SMTP User | Specifies the email address (user) that is connecting to the SMTP server. | | Password | The password of the email account specified in the SMTP User field. | | From Address | Specifies the email address that will be used to send emails. This email address should be the same as SMTP User. | | From Name | Specifies the name that will be shown when sending emails. | | Batch Count | Limits the number of messages that can be sent in a batch. | | Batch Delay | Defines the delay between emails sent in a batch. | | Auth | Select this option if you want the SMTP server to require authentication before sending emails. | Below, you’ll find an example of a Gmail address configured correctly. When you press save, the module should reload and send you back to its homepage, where you will see your new address added under Multiple SMTP Accounts. You will also receive the following test email confirming that you successfully added your email address to Multiple Senders. Important: The email will be sent from the address that you configured in Multiple Senders to the email address associated with your Simply CRM user account. How to resolve the Gmail configuration errors SMTP Connect Failed When you try to add a new email address to Multiple Senders, you may receive the following error saying SMTP Connect () failed. If this issue occurs, please try resolving it by: - Double-checking all the information you entered for spelling mistakes - Ensure you’re entering the correct password - Re-check your email account settings - Re-do the Display Unlock Captcha - Try again within 10 minutes. StartTLS Error In case you receive an error saying your mail was not accepted due to STARTTLS, as shown below: Make sure your SMTP Server field contains the tls:// prefix before the SMTP server name: smtp.gmail.com:587. In other words, enter tls://smtp.gmail.com:587 in the Auth field, as demonstrated in the following image: Authentication Error If you receive the following authentication error, please try checking the box next to the Auth field. In case you encounter an error not described here, please contact our support team through LiveChat. We will make sure the issue is resolved as soon as possible. Once you add your account to Simply CRM, you can start enjoying all the benefits that the Multiple Senders app offers. For more details on how to use this module, please visit our Multiple Senders support guide.

Last updated on Aug 27, 2024

How to integrate Xero with Simply CRM

Xero is a powerful online accounting software that helps small businesses better manage their incomes, expenses, inventory and invoices. Since its launch in 2010, Xero has positioned itself as the industry leader for bookkeepers and accountants from all over the world. Today, Simply CRM is happy to announce that our system fully integrates with Xero to provide a centralized overview of all your financial data. If you’re ready to integrate Xero with Simply CRM, contact our support and we’ll install the integration module for you, free of any charge. If you already have Xero installed on your instance, continue reading to find out how you can sync your Xero data with Simply CRM. Important: Simply CRM uses the latest module version – XTiger 0.0006 for Xero. How to generate a Xero API key Before you start using your Xero records in Simply CRM, you’ll first need to generate a Xero API key, which will allow us to sync the data between the systems. To get your Xero API key, visit the Xero website and log into your account. Once you log in, open the My Apps page. Then, press the New App button in the top right corner. In the resulting window, you’ll need to enter the following information: | Field | Information | |---|---| | App Name | Enter your preferred app name here. For example, Simply App. | | OAuth 2.0 grant type | Select Auth Code Web App to ensure a smooth experience. | | Company or application URL | Enter the URL of your Simply CRM instance here. | | Privacy Policy URL | You can leave this field blank or enter the URL to your privacy policy page. | | OAuth 2.0 redirect URI | Here, you’ll need to enter the following URL: https://instanceURL/modules/XTiger/callback.php. Replace instanceURL with the URL of your Simply CRM instance. For example, https://simplytest.simply-crm.com/modules/XTiger/callback.php. | Once you enter the necessary information, click on the checkbox to agree to the Xero Terms and Conditions. Then, press the Create app button at the bottom of the page. After you create the app, you’ll be led to the page with the app details, as shown below. Here, you’ll need to copy your client ID, generate the secret key and the referral ID (XTID). Create a copy of all three data points in a local file immediately. You’ll later need these credentials to establish a connection between Xero and Simply. How to install and configure the Xero app As we mentioned earlier, our support team will be more than happy to install the Xero app on your instance of Simply. Just drop us a quick message through live chat or our contact page. Important: After you approach us with an installation request, please allow some time for our support team to install the app on your instance. We will typically set up the Xero app within 24 hours. Once the Xero app is installed on your instance, you’ll need to configure it. In this step, you’ll need to open the Tools menu on the left and select Xtiger. Click the Install button to start the installation process. Open a new window then copy and paste the URL https://instancename/index.php?module=XTiger&view=List&service_set=API#. Replace the ‘instancename’ with the name of your instance. For example, https://nwl.simply-crm.com/index.php?module=XTiger&view=List&service_set=API#. Then, click the Edit button in the top right corner. You’ll need to enter the following information here: | Field | Information | |---|---| | Consumer Key | Enter the Xero Client ID here. | | Consumer Secret | Paste the Client Secret key in this field. | | Service | Select Cron here. | | Duplicate Handling | Select Skip. If you choose Add Suffix, the system will add a unique contact or organization ID during the sync. | Once you enter all the necessary data, press the Save button in the top right corner. If you’re saving the credentials for the first time, you’ll be led to a new screen where you’ll have to allow access to your Xero account. Press the Allow access button at the bottom of the page to proceed with the integration. How to use Xero with Simply CRM When you finish configuring Xero in the XTiger app, you’ll be able to freely sync your data between the two systems. If you’re unsure how to perform the synchronization, follow our quick guide below. However, before you start synchronizing any data, it’s important to keep the following notes in mind. If you do not enter any data in the mandatory fields for the Organization, Products and Invoice modules, the records with the missing data will not be synced. Instead, they will return a failed notice. Make sure all mandatory fields are filled in before you start a sync. Similarly, please ensure that Xero and Simply CRM use the same base currency before initiating any syncs. You can perform a sync manually by opening the Xtiger app through the Tools menu. Simply select the module you wish to sync and press the Sync button. The Sync Results field on the right will inform you about the sync status, as shown below. How to sync Xero records with Simply CRM If you wish to sync your Xero records with Simply CRM, use the options highlighted below. By using these options, you’ll update your Simply CRM data with Xero records. The following table describes how each sync option works in Simply CRM. | Option | Result | |---|---| | Get Organisation from Xero | Syncs Xero data with contacts/organizations in Simply CRM. | | Get Invoice from Xero | Syncs invoices from Xero to Simply CRM. For more information, check the Xero documentation. | | Get Items from Xero | Syncs items from Xero with Simply CRM products. | | Get Accounts from Xero | Syncs accounts from Xero with Simply CRM. | How to sync Simply CRM records with Xero Simply CRM supports bidirectional synchronization, which means you can update your Xero data with the Simply CRM records. If you want to sync your Simply CRM data with Xero, you can use the following options. By using either of the options highlighted below, you’ll update your Xero data with Simply CRM records. The next table will describe how each of the options works: | Option | Result | |---|---| | Send Organisation to Xero | Syncs Organizations/Contacts from Simply to Xero. | | Send Invoice to Xero | Syncs Simply CRM invoices to Xero. | | Send Products to Xero | Syncs Simply CRM products to Xero. | Before you initiate a sync from Simply CRM to Xero, please consider the following guidelines and restrictions. You’ll need to make sure that the Xero Status field under Xero Information always has a value before syncing invoices. Otherwise, the sync may fail. It is currently impossible to update or change the Xero Status field to Paid or Voided through Simply CRM. This change needs to be done manually in Xero and synced back to Simply. Please note that this is a system limitation. Before syncing from Simply CRM, you should make sure that each product has an associated Xero account. You can associate a Xero account with a product by opening the product page and pressing the Xero Accounts button. Then, click on the Select XeroAccounts button to choose from the available Xero accounts. Before you press this button, you should first perform a Get Accounts from Xero sync to make your Xero Accounts available in Simply. Once you select a Xero account, its name will be displayed on the product page. You can then view, edit or unlink the account as necessary. Additional features available in Simply CRM Aside from Xtiger, which you can use to sync your data between Simply CRM and Xero, our system provides you with three more useful features to help you make the most of your Xero integration. With Xtiger, you get Xero Logs, Xero Accounts and Xero Queue. Xero Logs provides you with a list view of the sync result details, which includes the App Name, Success/Failed Result, Action Log, Flow, CRM ID, Xero ID, Error Message, Created Time, and Modified Time. You can use these logs to find out why any specific synchronization attempt failed. You’ll find Xero Logs by opening the menu on the left side and selecting Xero Logs under Tools. Xero Accounts displays a list view of the Xero Account details that have been synced from Xero. These details include Name, Account Code, Account Type, Tax Type, Class, Status, Description, Created Time, and Modified Time. Similar to Xero Logs, you can access Xero accounts by choosing Tools from the main menu on the left side. Xero Queue displays a list view of all records that are scheduled for a sync using the Add to Queue in the XTiger module. Important: Xero Queue is temporarily unavailable. We will update the article as soon as Xero Queue becomes functional. How can I deactivate my Xero account in Simply CRM? If you wish to remove the Xero app from Simply CRM, visit the Simply App Store. You can access the App Store by selecting Settings > App Management > Apps. Find the Xero app in the store and press the Deactivate button. What will happen to my records if I uninstall Xero from Simply CRM? Your records won’t change when you uninstall Xero, but you will no longer be able to sync your records with Xero. I keep receiving an error message saying: token_rejected. What should I do? If you are receiving the token_rejected error or a warning message saying or Check whether the provided tokens are correct or not, please try removing and re-authenticating your Xero account in Simply CRM. If the issue persists, you can contact our support through live chat.

Last updated on Aug 27, 2024

How to integrate Facebook with Simply CRM

The Facebook to Leads app allows you to connect your Facebook business page to Simply CRM. By integrating your page, you can use our apps to automatically generate leads, contacts and organizations based on the information your customers provide on Facebook. Here, we will explain how you can install and use Facebook to Leads to create a more efficient business. You can handle all customer interactions directly from your Simply CRM dashboard! How to install Facebook to Leads In order to use Facebook to Leads, you’ll first need to activate the app in your instance of Simply CRM. To activate this app, go to Settings. Hover over the App Management tab and click on Apps. Search through the available apps to locate Facebook to Leads. Press the green Activate button to install the app. The app should be immediately installed and you should receive the following notification on your screen. Important: If you do not receive this notification or you have trouble finding the Facebook to Leads app under Apps, please contact our support team through live chat. After you install Facebook to Leads, please make sure to configure your Facebook developer account. If you’re unsure how to do that, you can simply head over to Facebook for Developers and log in with your Facebook account. Your Facebook profile will automatically be upgraded to a Facebook developer account. How to connect Simply with Facebook You can access Facebook to Leads in Simply CRM by hovering over the Tools option on the left menu. From the expanded options, select Facebook to Leads. In the Facebook to Leads app, press the Start button to initiate the integration process. Now, you’ll be required to enter your App ID and App Secret. To acquire this data, you’ll need to go back to Facebook for Developers. Click on My Apps in the top right corner. In the new window, press the Create App button. In the resulting pop-up, select Manage Business Integrations and press Continue. Fill out the necessary fields with your details. Set the App Name to Simply CRM, enter your contact email address and select Yourself or your own business under App Purpose. If you have a Business Manager account, feel free to connect it with your app to get access to optional features. After you enter all the details, press the Create App button in the bottom right corner. Once you create the app, you’ll need to configure its settings. Go to Settings > Basic to acquire your App Secret and App ID, which you’ll need to integrate Facebook Leads into Simply CRM. Under App Domains, add localhost and the URL of your Simply CRM instance. Enter the Simply CRM website under the Privacy Policy and Terms of Service URL fields. Once you configure the app, your screen should look like this: Copy your App ID and App Secret from the page. You’ll need to enter them in your Facebook to Leads app when you initiate its installation in Simply CRM. After you save your App ID and App Secret, you’ll need to create a Facebook page for your business. Important: This step is mandatory, even if you already have a Facebook page for your business. The Facebook Developers studio does not allow you to use existing pages at this point, which means you need to create a new page. However, you don’t need to worry, as you’ll be able to switch to your existing page after you finish creating a dummy page. To create a new page, press the Create New Page button shown below. Follow the steps outlined in the Facebook page registration process to create a page similar to the dummy page we created below. Use the Manage Page menu to create a lead form for the newly created Facebook page. You’ll find this option under Publishing Tools > Leads Setup > Try Business Suite > Forms > Create Form. Once the form is create, you’ll need to get the Form ID from the Forms Library under Publishing Tools. Once you have the Form ID, go back to https://developers.facebook.com/tools/explorer/. Choose the Facebook App Name and Facebook Page on the left side to generate an access token. Make sure to select the new page you created earlier. If you want to use a pre-existing Facebook page for the integration, you’ll receive a prompt to connect your Facebook account once you press Get Page Access Token. From there on, you’ll be able to select which existing Facebook page you want to link to the Facebook for Developers account. Before you integrate the page, you’ll need to set the app permissions as shown in the next image. Then choose the page you want to use and copy the Access Token that the app generates for the selected page. Once your Facebook page is linked, you’ll notice that it goes back to User Token instead of Page Access. Please re-apply Get Page Access Token, and select the Facebook page you want to integrate. Then just click the copy button. No need to click on the Generate Access Token button. When you save the access token, you’ll need to extend the access token session. You can do that by visiting https://developers.facebook.com/ > More > Tools> Access Token Debugger. Paste your access token under Access Token, as shown below, and click Debug. All the details will be auto-generated here. Save your Page ID and App ID somewhere because you’ll need to use them to set up the integration in Simply CRM. Then, press Extend Access Token. Click Products + to add the Facebook login form. For the integration to work correctly, you’ll also need to whitelist your Redirect URI on Facebook. To achieve that, simply paste your URIs under Facebook for Developers > Facebook Login> Settings > Valid OAuth Redirect URIs. What follows are sample URLs. Please use your own Simply CRM instance URLs with the following paths: https://virtualjud.simply-crm.com/index.php?module=SMPFacebookLeads&view=Connect https://virtualjud.simply-crm.com/index.php https://virtualjud.simply-crm.com/accounts/facebook/login/callback/ Press Save Changes to confirm the configuration. Now that you’ve set up Facebook for Developers, you can move back to your instance of Simply CRM and open the Facebook to Leads app that we installed earlier. When you open the app, press Start to initiate the configuration process. Then, connect your page with Simply CRM by entering your App ID and App Secret. You’ll be promoted to choose the Facebook page you wish to select. Click Next and provide the permissions as needed. Then, scroll to the bottom and click Finish. Once you finish the configuration, you’ll get access to the Facebook to Leads homepage, as shown below. Click Create and enter the page ID of your preferred Facebook page. Then select the lead form from which the leads will be imported. Once you’ve chosen your page and lead form, you’ve successfully set up Facebook to Leads in your Simply CRM instance. In the end, you can test your configuration by visiting: https://developers.facebook.com/tools/lead-ads-testing/. Simply choose the page you set up and the form you created. Then, click Create Lead. If a new lead appears in your Simply CRM, you’ve successfully integrated Facebook for Leads. In case you have any problems, please revisit the instructions or reach out to our support team.

Last updated on Aug 27, 2024

How to use the MapView app in Simply CRM

Map View is a module that allows you to visualize the locations of your contacts, leads and organizations in Simply CRM. Maps appear as an additional tab next to the list view of records within the selected module. To enable the maps, you’ll need to activate the following apps from the Simply App Store: Map View and Address Autofill. Important: You need to activate both Map View and Address Autofill. Failure to activate both will result in a non-functional map view. For instructions on how to activate apps from the Simply App Store, please check our guide titled How to activate apps in Simply CRM. How to configure the Map View app When you activate the Map View app, open the Settings page and navigate to Map View under Other Settings. Here, you’ll be able to configure the Map View settings. The following table explains all the available options in the Map View module. | Option | Description | |---|---| | Enable | Specifies whether the map view will be enabled or disable within your instance of Simply CRM | | Map Center | Sets the center of the map, which will be denoted with a location pin | | Radius | Determines the radius within which the locations will be pinned on the map | | Enable On | Allows you to select the modules in which the map view will be available within your Simply CRM instance | | Is Default View | Allows you to choose whether the map view will be opened by default when you access the modules selected in the previous option | In addition to this, Simply CRM lets you configure certain module-specific settings, such as the address that will be shown or the pin color, for the map view. Address Shown lets you choose which address field will be used to populate the map view. Pin Color allows you to choose what color will be used for the location pins. Once you configure the Map View settings, press the Save button at the bottom of the page. The map view tab will immediately become available in the selected modules, as shown below. If your map view does not contain a central location, please make sure you added your company’s address when you were setting up your Simply CRM instance. To check your company’s address, open Settings from the profile drop-down menu in the top right corner. Settings in Simply CRM for Time Tracker Then, navigate to Company Details under Configuration. Scroll down to the Company Information box and fill out your company’s address. Please make sure to enter your company’s street, city and country. Once you’ve added your address, you can select what records will be shown on the map by simply checking the box next to their name on the Map View tab. New location pins corresponding to the address of your records will automatically show up on your map. In case you do not see the new locations on the map, click the Settings icon on the map to configure the map view. In the resulting pop-up window, fill out the Address Shown and Pin Color fields with your preferred settings, similar to what you did in the Map View module settings earlier. Then simply exit the pop-up and select the records of the locations you’d like to see on the map. In addition, you’ll have the standard Google Maps settings on your map view. In the top left corner of the map, you can switch between map and satellite view. On the right, you’ll have the options to find the closest route between locations, open the Google Maps page with the selected locations or view the map in full screen. By clicking on the icon in the bottom right corner, you’ll be able to navigate to the street view of the selected location. If you need further help with Map View, please contact our support team through live chat or email us at support@simply-crm.com.

Last updated on Aug 27, 2024

How to create Custom Pipelines

To create a custom pipeline go to your account Settings → App Settings and select Visual Pipeline option. Click on the Add Visual Pipeline button at the top right corner. In this window you are able to give a name to your new pipeline, let’s say Deals by Lead Source. Select the App from which the system will pull the data for this pipeline, for our example let’s use Deals. And choose the drop-down field for Pipeline Stages, in our case Lead Source. After that, you can select the list to which this Pipeline will apply. We will choose All Deals. You can then select the field to sum up on the header of your columns, and decide whether you want this Pipeline to be the default filter. Next options allow you to manage the visual aspect of your Pipeline. Add stages of the Pipeline and select the color of that stage by clicking on the Add Stage button. There is no limit to how many stages you can add. Then, select the fields that you want to have reflected in every pipeline card and the number of cards to be displayed on the screen. You can then decide whether to add an option to delete the card, by ticking the “Enable Delete On the bottom” checkbox. Once you have completed the set up, click Save.Your new Pipeline has now been added to the Deals App. You can select it from the Pipeline view drop-down at the top of your List. The custom pipeline is complete and ready to be used. Should you need any help, send us a note to support@simply-crm.com.

Last updated on Aug 27, 2024