diff --git a/folders/messages.go b/folders/messages.go
new file mode 100644
index 0000000000000000000000000000000000000000..3835457ca5c0bc167ff91867b63ccdd0e4356837
--- /dev/null
+++ b/folders/messages.go
@@ -0,0 +1,24 @@
+// Package folders are all the routines and sql for managing folders.
+package folders
+
+import "time"
+
+// CreateMessage creates a new folder.
+func (s *Store) CreateMessage(author, subject, message, folder string, permanent, shutdown int, expiration *time.Time) error {
+	_, err := s.db.Exec(
+		`INSERT INTO messages
+			(id, folder, author, subject, message, permanent, shutdown, expiration)
+			VALUES
+			($1, $2, $3, $4, $5, $6, $7, $8)`,
+		1, // TODO: how to set this.
+		folder,
+		author,
+		subject,
+		message,
+		permanent,
+		shutdown,
+		expiration, // TODO: handle this being NULL
+	)
+	// TODO: process this error a bit more to give a better error message.
+	return err
+}