If you cannot find the emails that were sent providing you with the User/Pass when this service was activated, you will need to contact the general support desk or your account representative and have them resend you the FTP username and password.
Keep in mind that you will need to have this ability activated on your account to access it(usually through Automation Studio). It does not come standard.
Yes you are correct, File Transfer activity does not trigger a file drop automation. This is because the file is not being dropped (defined as being added to the FTP from an outside source) but is instead being transferred (moved around internally on the FTP).
What I would do in your situation is either combine the two automations into a single one, or add a step to the end of your first automation that triggers your second automation.
- Combine the two automations - Basically after you run the File Transfer activity I would then add the import from your second Automation and any other activities.
- Insert a script to trigger your second automation - Using a Script Activity I would use SSJS to make a SOAP API call to start your second automation (I believe you will need to change it from File Drop to Scheduled, but don't actually need to set a schedule).
Example SOAP call to start an automation:
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<PerformRequestMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
<Action>start</Action>
<Definitions>
<Definition xsi:type="Automation">
<ObjectID>29fa9fff-774a-458d-a1f4-c50f99587664</ObjectID>
</Definition>
</Definitions>
</PerformRequestMsg>
</s:Body>
and here is a great sample of the full SSJS script from @AdamSpriggs blog:
<script runat="server">
Platform.Load("Core","1.1.1");
var automationCustomerKey = "CUSTOMERKEY-OF-AUTOMATION"
var rr = Platform.Function.CreateObject("RetrieveRequest");
Platform.Function.SetObjectProperty(rr, "ObjectType", "Automation");
Platform.Function.AddObjectArrayItem(rr, "Properties", "ProgramID");
Platform.Function.AddObjectArrayItem(rr, "Properties", "CustomerKey");
Platform.Function.AddObjectArrayItem(rr, "Properties", "Status");
var sfp = Platform.Function.CreateObject("SimpleFilterPart");
Platform.Function.SetObjectProperty(sfp, "Property", "CustomerKey");
Platform.Function.SetObjectProperty(sfp, "SimpleOperator", "equals");
Platform.Function.AddObjectArrayItem(sfp, "Value", automationCustomerKey);
Platform.Function.SetObjectProperty(rr, "Filter", sfp);
var retrieveStatus = [0,0,0];
var automationResultSet = Platform.Function.InvokeRetrieve(rr, retrieveStatus);
var ObjectID = automationResultSet[0]["ObjectID"];
var Status = automationResultSet[0]["Status"];
if (ObjectID != "null") {
/*
Code Status
-1 Error
0 BuildingError
1 Building
2 Ready
3 Running
4 Paused
5 Stopped
6 Scheduled
7 Awaiting Trigger
8 InactiveTrigger
*/
if (Status == 2) {
var obj = Platform.Function.CreateObject("Automation");
Platform.Function.SetObjectProperty(obj, "ObjectID", ObjectID);
var po = Platform.Function.CreateObject("PerformOptions");
var performResult = [0,0,0];
var performStatus = Platform.Function.InvokePerform(obj, "start", performResult, po);
} else {
// already running
}
} else {
// automation not found
}
</script>
Best Answer
You are missing the File Transfer Activity. The Data Extract activity only puts the file in the safehouse. The File Transfer takes it out of the safehouse.