Hi Trey - You can achieve steps 2 and 3 by calling the following SOAP API's.
First setup a Campaign in Marketo that will send the desired welcome email.
After the customer sets up an account using your landing page:
- Call syncLead() to add the customer information to Marketo
- Call requestCampaign() passing in the email of the newly created lead and the Campaign ID to run that lead through the campaign.
Here is the request SOAP XML for each call:
syncLead:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV=" xmlns:ns1=">
<SOAP-ENV:Header>
<ns1:AuthenticationHeader>
<mktowsUserId>CHANGE ME</mktowsUserId>
<requestSignature>CHANGE ME</requestSignature>
<requestTimestamp>2013-07-31T12:38:47-07:00</requestTimestamp>
</ns1:AuthenticationHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:paramsSyncLead>
<leadRecord>
<Email>t@t.com</Email>
<leadAttributeList>
<attribute>
<attrName>FirstName</attrName>
<attrValue>George</attrValue>
</attribute>
<attribute>
<attrName>LastName</attrName>
<attrValue>of the Jungle</attrValue>
</attribute>
</leadAttributeList>
</leadRecord>
<returnLead>false</returnLead>
</ns1:paramsSyncLead>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
requestCampaign:
<?xml version="1.0" encoding="UTF-8"?>
<SOAP-ENV:Envelope xmlns:SOAP-ENV=" xmlns:ns1=">
<SOAP-ENV:Header>
<ns1:AuthenticationHeader>
<mktowsUserId>CHANGE ME</mktowsUserId>
<requestSignature>CHANGE ME</requestSignature>
<requestTimestamp>2013-08-01T12:31:14-07:00</requestTimestamp>
</ns1:AuthenticationHeader>
</SOAP-ENV:Header>
<SOAP-ENV:Body>
<ns1:paramsRequestCampaign>
<source>MKTOWS</source>
<campaignId>4496</campaignId>
<leadList>
<leadKey>
<keyType>EMAIL</keyType>
<keyValue>lead@company.com</keyValue>
</leadKey>
</leadList>
</ns1:paramsRequestCampaign>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>