Creating CTA's and Playbook's outside of the rules engine

  • 28 July 2015
  • 4 replies

I want to manually load a spreadsheet of CTA's /w Playbook's to accounts I have pre-identified, via Does anyone have a csv template for this or has done something similar? 

4 replies

Userlevel 6
Hi Ellen if you're wanting to attach playbooks, you will need to do this via our REST API.

This is a sample API call that you could use:

{ "data" {

"honorOrgTimeZone": true, //date field values are stored in organization timezone , defaults to false

"ctas": [ // array of CTA records


"account": "account ID",

"name": "Name of the CTA ",

"type": "Risk/Opportunity",

"reason": "CTA Reason",

"priority": "Priority Type",

"stage": "Stage Type",

"assignee": "user ID",

"playbook": "play book ID",

"comment": "comment goes here",

"numOfDays": "3",

"source": "foo",

"createdDate": "2015-02-01",

"dueDate": "2015-02-10",

"postFrequency": "Never",

"obj": { // to set any custom field values

"attributes": {

"type": "JBCXM__CTA__c"


"JBCXM__TaskCount__c": 3





Userlevel 3
I'd first recommend creating the CTA's manually within Gainsight if you have less than 30 of them to create (click the + sign in the upper right hand corner of Cockpit).  But if there are alot of them, yes, it's possible to create them with a bulk load.  If you have a SFDC Administrator you can ask to help you with the load, that'd be the easiest method. I am one, so I'll give you a play by play on how I've done this in the past. 

Assuming you don't have any special (custom) fields within your CTA experience, then you'll need the below fields in your csv file. You'll be doing an INSERT operation into the object/table that contains the words "CTA__c".  There are a couple of fields you'll likely not need in your csv when creating CTAs - but I've listed here just to be complete: 1) the ID.  This will be created by the system after you perform the insert 2) anything with a "FALSE" value (but if you get errors on load, then create these fields and fill in the cells with "FALSE).  So here are some screenshots of the fields and formatting that are needed: 

You'll notice that there are alot of references to the ID's of whatever you're trying to reference like accounts, users, and even stages.  So there's some work there of looking up the correct ID which takes some time.  Considering this, I'd be sure that you have enough CTAs involved here, that it's worth your time to do a manual bulk load! 

Another idea: You may also want to reach out to Gainsight professional services. 
Userlevel 7
David, how did you get the playbook to load via the upsert?  I have tried this and had issues as well.  The CTA will load but no playbook will associate even though I specified the ID of the playbook.  Thanks!
Thanks, I ended up running into the issue that the tasks associated with a playbook wouldn't get updated on the CTA and I received some API endpoint from GS that may be the silver bullet :)