How to create entry from external app webhook? I want to create an entry in an existing channel via a webhook from zoho crm. It's pretty straightforward. Like many apps, Zoho's webhook allows you to specify destination url, the method (get or post), and what parameters to pass.

Do I need to create a plugin to receive this form post or is there another way? 

I'm a plugin newbie, so any links on where to start would be helpful.
You would need to set this up using a plugin. The plugin would, at a minimum, contain a controller, with an 'action' method designed to handle the url request and generate an entry; using 'post' or 'get' to pass parameters to the controller action.

public function actionAddEntry()
{
    // retrieve parameters
    $title             = craft()-&gt;request-&gt;getParam('title');
    $customField1      = craft()-&gt;request-&gt;getParam('customField1');
    $customField2      = craft()-&gt;request-&gt;getParam('customField2');

    // create a new entry model and set content attributes
    $entry = new entryModel();
    $entry-&gt;sectionId  = 2; 
    $entry-&gt;typeId     = 2; 
    $entry-&gt;authorId   = 1; 
    $entry-&gt;enabled    = true;

    $entry-&gt;getContent()-&gt;setAttributes(array(     
        'title'        =&gt; $title,     
        'customField1' =&gt; $customField1,
        'customField2' =&gt; $customField2,
    )); 

    // save entry
    $success = craft()-&gt;entries-&gt;saveEntry($entry);

    // handle success or failure
    if ($success) {
        // log result or send yourself an email or whatever
    } else {
        // log error
    }
};


By default however, controller actions are only accessible to logged-in users. If you want to allow anonymous access you would need to specifically allow it using the $allowAnonymous property. This definitely introduces some security issues, so proceed with caution. Ideally you would want to set up some kind of authentication, or only accept requests from known hosts.