We've got the features

Guide & API

Guide & API

This guide uses pipes and brackets to reference multiple options. For example, _o_type_[email|int] means that both _o_type_email and _o_type_int are valid selections.

200Sends per month

Free plans can send 200 emails per month. Pro plans can send up to 8,000 ‐ need more? Go you! We can open up more, give us a shout.

_o_Form Validation

Append _o_required to the name attribute of any form input to require that value is present.

<input type="text" name="first_name_o_required" placeholder="First Name">

Append _o_type_[email|boolean|int|url] to the name attribute of any form input to require that value is of a specific type.

<input type="email" name="email_o_type_email_o_required" placeholder="Email Address">

Note If validation fails, the form will be rejected and errors will be displayed to the end-user for them to re-try. You will not receive failed submissions.

 frLanguage Support

Switch language from the default of English (en) to Spanish (es), French (fr) or German (de) with a hidden field named o_lang.

<input type="hidden" name="o_lang" value="[en|de|es|fr]">
 :)Custom responses

The default message displayed to users after a successful form submission is "Thank you! The form was sent." Change this with a hidden field named o_response_message.

<input type="hidden" name="o_response_message" value="Thanks for the message, friend!">
URLCustom return URL

Users are not redirected back to your site by default. Use a hidden field named o_return_url to redirect them upon successful submission.

<input type="hidden" name="o_return_url" value="http://website.com/form-done/">
LISTSSubscriber Lists Pro

Subscriber Lists allow you to create forms that will save form fields for name, address, email, and company in our databases for retrieval later. Start by logging into your Pro account and creating a new list. From there you will be given a list_id to pass as a hidden field.

<input type="hidden" name="o_subscriber_list" value="YOUR_LIST_ID_HERE">

Mark up your form using name attributes of o_email, o_name, o_address, o_city, o_state, and o_company and we will store those values.

<input type="email" name="o_email">
<input type="text" name="o_name_o_required">
<input type="company" name="o_company">

Note Duplicate submissions across all fields are rejected, but a duplicate on a single column is not rejected.

 @ Obscured Email Pro

Pro users can pick an @ottoform email address to use in their forms so that their own email remains hidden. Start by logging into your Pro account and creating a new obscured email forwarding address.

<form action="https://send-us-east.ottoform.com/as222@ottoform.com/" method="POST">

Note These @ottoform email addresses only work through forms and are not active mailboxes.

ACCESSLimited Responders Pro

Sometimes you only want a select group of people to respond to your form. Limited Responders lets you setup a list of approved email addresses who can submit your form. Start by logging into your Pro account and creating a new limited responders form. You will be given a lr_id to pass as a hidden field.

<input type="hidden" name="o_limited_responders" value="LR_ID_HERE">

Make sure your form has an input with a name attribute of o_email as this is the email that is checked.

<input type="email" name="o_email">

Note If the email provided in o_email is one that you've preauthorized, the form will be sent through to you. Otherwise, it will be silently rejected and you will not see the submission.

@CCCarbon Copy the Submission Pro

One email may not be enough. Have the form submission sent to a second email, even an obscured one, using a hidden field named o_cc.

<input type="hidden" name="o_cc" value="myOTHERemail@ottoform.com">
#92Submission History Pro

Pro users can enable submission history which stores JSON representations of all forms submitted for the last 500 submissions.


If we don't have the feature you are looking for, let us know! Here are some things on our horizon: payment forms and file uploads. Stay tuned!