0

I created a Custom Activity for SFMC Journey Builder and every time a contact reaches it a "Failed" event is logged and there isn't any more information than that.

I can see the execute call being made and the response is correct with the outArguments I set in the config.json file, see below:

{
  "workflowApiVersion": "1.1",
  "metaData": {
    "icon": "images/icon.png",
    "iconSmall": "images/icon.png",
    "category": "Ansira"
  },
  "type": "RESTDECISION",
  "lang": {
    "en-US": {
      "name": "Custom Activity",
      "description": "Custom Activity"
    }
  },
  "arguments": {
    "execute": {
      "inArguments": [],
      "outArguments": [
        {
          "message": "text"
        },
        {
          "response": "text"
        },
        {
          "payload": "text"
        },
        {
          "universeName": "text"
        },
        {
          "variationName": "text"
        }
      ],
      "url": ".../execute/",
      "verb": "POST",
      "body": "",
      "header": "",
      "format": "json",
      "timeout": 30000
    }
  },
  "configurationArguments": {
    "save": {
      "url": ".../save/",
      "body": "",
      "verb": "POST"
    },
    "publish": {
      "url": ".../publish/",
      "verb": "POST",
      "body": ""
    },
    "validate": {
      "url": ".../validate/",
      "verb": "POST",
      "body": ""
    },
    "stop": {
      "url": ".../stop/",
      "verb": "POST",
      "body": ""
    }
  },
  "wizardSteps": [
    {
      "label": "Step 1",
      "key": "step1"
    }
  ],
  "userInterfaces": {
    "configModal": {
      "height": 600,
      "width": 800,
      "fullscreen": false
    }
  },
  "schema": {
    "arguments": {
      "execute": {
        "inArguments": [],
        "outArguments": [
          {
            "message": {
              "dataType": "Text",
              "direction": "out",
              "access": "visible"
            },
            "response": {
              "dataType": "Text",
              "direction": "out",
              "access": "visible"
            },
            "payload": {
              "dataType": "Text",
              "direction": "out",
              "access": "visible"
            },
            "universeName": {
              "dataType": "Text",
              "direction": "out",
              "access": "visible"
            },
            "variationName": {
              "dataType": "Text",
              "direction": "out",
              "access": "visible"
            },
            "settings": {
              "dataType": "Text",
              "direction": "out",
              "access": "visible"
            }
          }
        ]
      }
    }
  },
  "outcomes": [
    {
      "arguments": {
        "branchResult": "success"
      },
      "metaData": {
        "label": "Success"
      }
    },
    {
      "arguments": {
        "branchResult": "error"
      },
      "metaData": {
        "label": "Error"
      }
    }
  ]
}

Sample response from the execute call:

{
  "branchResult": "success",
  "message": "Success",
  "payload": "payload",
  "response": "response",
  "settings": "settings",
  "universeName": "universeName",
  "variationName": "variationName"
}
0

After spending hours investigating, I found that the outArguments names have to be very short to be accepted.

So I changed my config.json file to have uniname instead of universeName and varname instead of variationName.

I also tried without uppercase letters (i.e. universename) but that still failed so it definitely is a length issue.

It would be helpful to have this kind of limitations in the documentation.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.