• Blog Post: How can Sage CRM save you money?

    This article was edited on 17th June 2011 to update some of the graphics used. This article has its origin in a recent presentation I gave as part of an eSummit for Australia, New Zealand and the Pacific ( http://www.sagesummit.com.au/ ) that took place in 2009. My focus is usually purely on communicating...
  • Blog Post: Updating Multiselect fields using the Web Service Interface

    Below are two ways to achieve this. First is the UpdateACompany method that shows how to do it using the update method. The second is UpdateACompanyRecord, this shows how to do it with the updaterecord method. The code examples are in C#. 'binding' is the name of the CRM webservice object...
  • Blog Post: Zip Check

    This is a little mod I came up with after adding in a few addresses in CRM. In this day and age of modern technoligy why in the world would we have to type in the City and the State if we know the Zip? I mean really, think of the time you will save by having a tool that could help with this. OMG think...
  • Blog Post: Workflow and Web Services

    The CRM Webservices API allows the change of the data in the record or set of records being manipulated but it can't invoke the workflow behaviour to change the workflow state. You can have a Web Services call change the stage and the status fields and any other data field you want but the workflowstate...
  • Blog Post: The Design of Web Service Applications and Performance

    My hope is that if you have attended any of my presentations about the Web Services interface for Sage CRM you will have taken away with you an impression of the importance of the design of the client application and how this would affect performance. The source code for the sample application which...
  • Blog Post: A CurrentUser object in WebServices?

    If you are working with Sage CRM's WebService Interface then you will know that the API is very much focussed on Data Access and not on the user interface or 'Meta Data'. But I have written before about how we 'discover' information about the system even if it is not in the version...
  • Blog Post: Dynamically Routing Web Services Requests to another Install of CRM

    This article has been edited (31st October 2009) to correct links. In the Web Services API of the Sage CRM the webservices class itself has a string property called "Url". The URL property contains the URL location to which the SOAP requests are directed. It does not contain the pointer...
  • Blog Post: AJAX and the whole Web 2.0 thing.

    I wrote in an article about Self Service some time ago "I get the sense that there is a growing interest in the construction of Customer Portals and the general Web 2.0 'buzz' where people need to bring all types of data up into customer facing applications that blend information and...
  • Blog Post: Sage CRM's SOAP Web Services and Sage CRM's COM based Web Self Service API.

    The two APIs that I wish to consider in this article are mature, well developed and stable. They've been in the product for a very long time. Nevertheless, they are still used and still very much a useful pair of development options. In fact, they both play a very important part in integration and...
  • Blog Post: The Journal Table

    I was tempted to start a new series of articles called " Mysterious Tables of Sage CRM " but since this is supposed to be a sensible library of "Hints, Tips and Tricks" I have resisted. Nevertheless there are a few tables in the Sage CRM database that whose purpose maybe obscure to...
  • Blog Post: Creating a Snapshot of the WSDL for SOAP Web Services

    The WSDL (Web Services Description Language) is a dynamically generated XML document that is published by Sage CRM and it specifies the data types, objects, methods etc that can be referenced by programmes wishing to use the SOAP based Web Services. The role of the WSDL to web services is decribed...
  • Blog Post: Creating XML feeds from Sage CRM

    The inclusion of additional software components created in Flash or Silverlight within the Sage CRM interface is becoming more common. Very often these are little units of Ajax code or embedded objects that I have started to call Rich Widgets. Think of Google Gadgets added into Sage CRM! But they can...
  • Blog Post: Creating Web Service Applications that handle unknown tables and columns

    We are able to create applications that can interact with Sage CRM remotely using the Web Service Interface. If the external application is going to be able to make reference to the data, objects and methods within the Sage CRM via a web call, then the data structures, properties, objects and methods...
  • Blog Post: Web Services and SageCRM.com

    Web Services are an access mechanism that can be used with the hosted version of Sage CRM as well as the on premise version. To use the Web Services in the hosted product you need first to make the WSDL available. 1. Logon to your hosted version of SageCRM.com as a system administrator 2. Navigate to...
  • Blog Post: The importance of column prefixes in tables exposed via the Web Services API

    This is a little quirk. If you have added a new table into the CRM database that you intend to access via the webservices interface, then be sure that the table column makes use of column prefixes. For example if you have added a new project table then make sure that the columns are called names like...
  • Blog Post: Finding out what CRM data has changed since the last Web Services Interaction

    If you use WebServices to query CRM Data then you may need to find out what data has changed since last update. If you wish to find out what data has changed in CRM since a certain date then you can use queryid This is designed to return a set of id's based on a token date time, and is used for synching...
  • Blog Post: Web Services Logon Tip

    If you experience difficulty logging on via the web service interface to a CRM Install (that was installed using windows authentication) this can be helped by setting the UseDefaultCredentials flag for the web service client to true. See highlighted line in the code snippet below. private static bool...
  • Blog Post: Embed Sage CRM PDF Reports in External Applications

    This is a fun little trick that I discussed at a recent conference. There has been some discussion in the past about how an external application could make use of Sage CRM reports. It is not appropriate to invoke HTML reports from a 3rd party or external application as these are designed to interact...
  • Blog Post: Grabbing Serverside Information using a SOAP Webservice call (AJAX)

    Please note that this is only a part worked solution. I have added this to show how an web service request can be made from a client to extract any information (available to web services) that is needed from the server. This example is based on code that is discussed within the Developer training...
  • Blog Post: Getting drop downs working with WebServices

    If you want your local or web app drop downs to look really slick you should have them contain the same information as the main CRM install. Now you could type in the same information twice for every drop down and keep updating them which is rather lame or have them fill with the correct information...
  • Blog Post: Changing the WSDL file

    This article was updated (31st October 2009) to correct links. It is perfectly true that for an early version of 5.8 we managed to generate a malformed WSDL file so that briefly people had to manually change the WSDL file to get webservices to work at all. But that was a tweak to correct the generated...
  • Blog Post: Selection Lists in Web Services

    The code below is an extract of the simple webservices demo application found elsewhere on this site. Please note the following assumptions 1) CRM60 is the webservice object 2) CRMCompany is a previous retrieved Company record 2) The code is to retrieve the selection values of the comp_source field and...
  • Blog Post: More thoughts on the Web Services and the StoredProc datatype

    The StoredProc data type only will fire when a record object is added to a screen object. Specifically this must be a new record. The actually firing of the StoredProc is tied to the loading of the interface rather than the use of the record object. When there is no screen (EntryGroup Block) then there...
  • Blog Post: More about Changing the WSDL file definitions

    This article has been edited (31st October 2009) to correct links. This is a follow up to a post that I wrote a little earlier " Changing the WSDL file ". The Sage CRM WSDL is the definition of the types and methods available. It describes the objects and the functions available for use...
  • Blog Post: Sage CRM 2017: Using Sysadmin

    Sysadmin is a little known but useful path flag that can be used in Sage CRM to list the current logged on users. It can also be used to manage current logged on sessions. In path looks like http://servername/installname/eware.dll/sysadmin If you attempt to use this when not on the server you...