public
Created

AutoHotkey Text Expansion for the Email Templates by Bea Kylene Jumarang for Smashing Magazine: http://www.smashingmagazine.com/2013/06/20/email-templates-web-designers-developers-pdf-odt-txt/

  • Download Gist
E-mail Templates.ahk
AutoHotkey
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593 594 595 596 597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709 710 711 712 713 714 715 716 717 718 719 720 721 722 723 724 725 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 741 742 743 744 745 746 747 748 749 750 751 752 753 754 755 756 757 758 759 760 761 762 763 764 765 766 767 768 769 770 771 772 773 774 775 776 777 778 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925
; ----------------------------------------------------------
; E-MAIL TEMPLATES FOR WEB DESIGNERS AND DEVELOPERS
; Prepared by Bea Kylene Jumarang for Smashing Magazine
; http://www.smashingmagazine.com/2013/06/20/email-templates-web-designers-developers-pdf-odt-txt/
; ----------------------------------------------------------
; Adapted as a Autohotkey script by Marc Gordon
; ----------------------------------------------------------
; Instructions:
; 1) Install Autohotkey.
; 2) Modify the greeting if you want in GetGreeting() below.
; 3) Modify the signature in GetSignature() below.
; 4) If you are female modify the gender in GetGender() below.
; 5) Enter your name in GetYourName() below.
; 6) Modify your contact details in GetContactDetails() below.
; 7) Run the script with Autohotkey.
; - To activate the replacement type:
; ,es for the email subject
; ,eb for the email body
; - Then hit enter and a list box will be displayed listing
; the email types.
; - Choose the one you want to use to have it expand out.
; ----------------------------------------------------------
 
#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
 
CoordMode, Caret
 
GetGreeting()
{
InputBox, client_name, Enter Client Name, Please enter the client's name.
text = Hi %client_name%,
; If you want to modify the greeting you can do this here:
return text
}
 
GetSignature()
{
; Enter your contact details here:
text = [Your name here.]{Enter}[Contact details, website.]
return text
}
 
GetGender()
{
; If you are female change this to return female
text = male
return text
}
 
GetYourName()
{
; Enter your name below
text = [your name]
return text
}
 
GetContactDetails()
{
; Enter your contact details below (keep it to one line.)
text = [your e-mail address, phone, website]
return text
}
 
; -------------------------------
; 1 - THE DREADED PRICE EMAIL
; -------------------------------
; First, try to defer talking about price if you don't have the full details yet. I do this all the time with prospective writing clients of mine. Say you'll send them an accurate response if they share some thoughts on what they're looking for. But if they budge, go ahead and send this. Be done with it.
 
EmailSubject01()
{
send Answer to your question on my rates
}
 
EmailTemplate01()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, x_rate, Enter your rate amount, Please enter rate amount
InputBox, y_work, Enter a short description of work to be completed, Please enter a short description of the work to be completed.
InputBox, z_matter, Enter the original matter, Please enter the original matter
text =
(
%greeting%
 
My rate varies, depending on the project and its scope. Generally though, my rate is %x_rate% for %y_work%, just so you have a ballpark idea.
 
If you'll send me more details about the kind of work you have in mind, I can send you a more accurate quote. For now though, let's get back to where we were, regarding %z_matter%, and we can discuss price when more info is present.
 
Regards,
%signature%
)
send %text%
}
 
; ----------------------------------------------
; 2 - YOU HAVE QUESTIONS ON THE DESIGN BRIEF
; ----------------------------------------------
; Trust me, it's best to get questions ironed out before the project starts. Your client will appreciate your initiative, and your willingness to approach them when help's really needed. It's always better to swallow a bit of pride and ask, than to wallow in confusion and cause problems down the road.
 
EmailSubject02()
{
send Some questions on the design brief
}
 
EmailTemplate02()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, time_date, Enter the due time and date, Please enter the time and date that you would like the client to get back to you.
text =
(
%greeting%
 
I appreciate your quick provision of the design brief. It's really allowed me to get a good idea of where you want this project to go. I'm excited to start work{!}
 
I just have a few questions to clear up before we go full steam ahead.
 
- X question
- Y question
- Z question
 
If you could get back to me with your input by %time_date%, that'd be great. If you also have things you'd like to discuss, please reach out.
 
It's always best if we're on the same page.
 
Thanks,
%signature%{UP 8}{END}+{HOME}+{UP 2}
)
send %text%
}
 
; ---------------------------------------------------------
; 3 - YOU ARE SENDING THE OFFICIAL PLAN TO A NEW CLIENT
; ---------------------------------------------------------
; To make sure your new client has a good image of you from the outset, show them how professional you are, from the start. Send them this e-mail along with the project plan, and they're sure to love your work ethics.
 
EmailSubject03()
{
send Would love your input, project plan attached
}
 
EmailTemplate03()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, x_dollars, Enter the estimated cost, Please enter the estimated cost for the project.
InputBox, y_amount, Enter the estimated time, Please enter the estimated time to complete the project.
InputBox, time_date, Enter the due time and date, Please enter the time and date that you would like the client to get back to you.
text =
(
%greeting%
 
To start, thanks for your vote of trust. I'll be working hard to make sure you love your decision to work with me - that's a promise.
 
Anyhow, I've attached the official project plan here, for your input. Below are the main points, in case you don't have time to read the full plan yet.
 
- Total estimated cost is %x_dollars%
- Estimated time is %y_amount%
- Other important point
- Other important point
 
If you could send me your comments by %time_date%, I'd appreciate it.
 
Should you have things you want to discuss, please feel free to reach out. If a meeting's needed, I'm okay with that as well.
 
Thanks again for your business, and I look forward to starting work!
 
Regards,
%signature%{UP 10}{END}+{HOME}+{UP 1}
)
send %text%
}
 
; --------------------------------------------------------------
; 4 - THE OFFICIAL PLAN IS DAMN FAR FROM YOUR EARLY ESTIMATE
; --------------------------------------------------------------
; There are times when you make an estimate and then send it through e-mail. If all goes well, this estimate is reflected in the official plan, without very many changes. But for those times when big departures have to be made, take heart.
 
EmailSubject04()
{
send Official project plan - based on recent info
}
 
EmailTemplate04()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, x_time, Enter the time, Please enter the estimated time for completing the project.
InputBox, y_cost, Enter the estimated cost, Please enter the estimated cost for the project.
InputBox, time_date, Enter the due time and date, Please enter the time and date that you would like the client to get back to you.
text =
(
%greeting%
 
Two things here.
 
First, thanks for providing full details regarding the project you want us to work on together. I've prepped the project plan based on the info you gave.
 
The plan's attached here, for your evaluation.
 
Second, I'd like to inform you of the revised estimate reflected in the plan.
 
Very briefly - the project will now take %x_time%, for %y_cost%.
 
I'm aware this is far from the earlier estimates I talked about with you. I've given the official figures a lot of thought, and I believe they're fair, considering the work to be done on both of our ends.
 
To close, please send me your feedback on the plan by %time_date%.
 
Then, we can work out an arrangement that's a win for both of us.
 
Regards,
%signature%
)
send %text%
}
 
; --------------------------------------------------------
; 5 - SCOPE CREEP IS HAPPENING BUT CAN BE ACCOMMODATED
; --------------------------------------------------------
; I've yet to see large projects that don't have scope creep, one way or another. Still, it's important to manage the creep, quickly and proactively. Otherwise, the project will bloat, and that brings a completely new set of problems.
 
EmailSubject05()
{
send A quick note on your new requirements
}
 
EmailTemplate05()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, time_date, Enter the due time and date, Please enter the time and date that you would like the client to get back to you.
text =
(
%greeting%
 
Thanks for providing input for the project - I appreciate your direction!
 
Regarding the changes we talked about, I'm happy to tell you that they can be accommodated. But since they weren't part of our initial agreement, they've caused shifts in the plan for this project.
 
That revised plan is attached, showing the new timelines and costs associated.
 
I'd appreciate feedback regarding the attachment by %time_date%, so the design work can get back to its usual speed.
 
Thanks,
%signature%
)
send %text%
}
 
; -------------------------------------------------------
; 6 - YOU WON'T BE ABLE TO DELIVER THE DESIGN ON TIME
; -------------------------------------------------------
; Problems like this happen, at one point or another. What's important is that you apologize, don't try to shirk responsibility, and fix the situation fast. If you do that trio of actions, you'll be fine most of the time.
 
EmailSubject06()
{
send Important notice, and an apology
}
 
EmailTemplate06()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, x_y_z_actions, Enter the actions taken to get the project back on track, Please enter the actions that have been taken to get the project back on track.
text =
(
%greeting%
 
I'm sure this isn't the type of e-mail you expected to get from me. Still, I'd like to deal with the facts as they are, and get a solution in place, ASAP.
 
So here goes - I'm sorry, but the design won't be delivered on time. There are a couple reasons for this, but rest assured, I take full responsibility.
 
- X reason
- Y reason
- Z reason
 
To get the project back on track, I've %x_y_z_actions%.
 
I'm also taking steps to ensure that we don't go through this headache again.
 
Anyway, if you'd like to discuss the effects of this issue, feel free to reach out.
 
Regards,
%signature%{UP 10}{END}+{HOME}+{UP 2}
)
send %text%
}
 
; ----------------------------------
; 7 - DEALING WITH LATE PAYMENTS
; ----------------------------------
; Thankfully, I've not had to send these e-mails often, and usually, my clients really just forgot to deal with my invoice out of busyness. But, if you're in the position of having to collect a really late payment, read on!
 
EmailSubject07()
{
InputBox, x_work, Enter the work to be completed, Please enter the work to be completed.
send Your payment for %x_work%
}
 
EmailTemplate07()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, invoice_date, Enter the invoice date, Please enter the invoice date.
InputBox, services_rendered, Enter the description of services rendered, Please enter a description of the services rendered.
InputBox, x_amount, Enter the invoice amount, Please enter the invoice amount.
InputBox, payment_date, Enter the payment date, Please enter the payment date.
InputBox, alternative_payment_date, Enter the alternative payment date, Please enter an alternative payment date.
text =
(
%greeting%
 
I recently sent you an invoice dated %invoice_date%, for %services_rendered%. The total reflected in the invoice is %x_amount%.
 
While I've worked to standards and delivered on time, the equivalent payment still hasn't arrived. As per our agreement, the payment terms are below.
 
[Insert relevant details here, preferably in italics for emphasis.]
 
Per those terms, the payment ball is clearly in your court. If you're going through difficulties, let me know, and we'll work to reach a solution together.
 
Otherwise, I'll be expecting your payment by %payment_date% and will be contacting you on %alternative_payment_date% if any issues still come up.
 
Thanks,
%signature%{UP 8}{END}+{HOME}
)
send %text%
}
 
; --------------------------------------------
; 8 - DISCUSSING OTHER ASPECTS OF THE SITE
; --------------------------------------------
; Design is rarely the only thing site owners have to consider. As the one with the knowledge, it's best if you can bring related aspects of site performance and usability to the client's attention. If you do this, you may get not only their respect, but maybe even more dollars out of their wallet.
 
EmailSubject08()
{
send Wanted to bring these to your attention
}
 
EmailTemplate08()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, x_y_z_reasons, Enter the reasons why raised aspects are important, Please enter the reason why the raised aspects are important.
text =
(
%greeting%
 
As you may know, design isn't the only thing that matters on your website. So, I feel it's my responsibility to make you aware of other related considerations you may need to think about. They're listed.
 
- First consideration, e.g. site performance
- Second consideration, e.g. usability/functions
- Yet another consideration you thought of
 
The things above all have an impact on your site and the eventual users. They're important because of %x_y_z_reasons%.
 
Now, I'm bringing these things to your attention, so we can act on them promptly. If you'd like to talk about what I've shared here, let me know!
 
Regards,
%signature%{UP 8}{END}+{HOME}+{UP 2}
)
send %text%
}
 
; --------------------------------------------
; 9 - JUSTIFYING YOUR NEED FOR EXTRA HOURS
; --------------------------------------------
; As I've said before, problems and changes always come up, no matter the project. This is yet another template for such instances. This time it's an e-mail to soften your client's heart towards extra hours.
 
EmailSubject09()
{
send Important project update
}
 
 
EmailTemplate09()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, meeting_date_time, Enter the suggested meeting date/time, Please enter the suggested meeting date/time.
text =
(
%greeting%
 
I just wanted to tell you about some important project changes.
 
Per my most recent check of what still needs to get done, I've come to the realization that extra hours are needed, for the reasons below.
 
- First reason, and why the reason matters
- Second reason, and why the reason matters
- Third reason and so on…
 
I know this is a surprise, and I would have liked to avoid this. But it's still my responsibility to keep you in the loop, especially about changes like these.
 
If you'd like to discuss the new hours, please do reach out.
 
Or, we can meet at %meeting_date_time%. If that slot doesn't work, let me know what's most convenient for you.
 
Thanks,
%signature%{UP 10}{END}+{HOME}+{UP 2}
)
send %text%
}
;; --------------------------------
;; 10 - NO NEED FOR EXTRA HOURS
;; --------------------------------
;; There are rare occasions when you tell the client you need extra hours, but then suddenly, that isn't the case anymore. It's important to be honest on such occasions, and promptly inform the client of the good news.
 
EmailSubject10()
{
send Some good news for you
}
 
EmailTemplate10()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, sent_item, Enter the sent item, Please enter the name of the item you sent the client.
InputBox, x_number, Enter the number of extra hours that were requied, Please enter the number of extra hours that were required.
InputBox, x_y_z_reasons, Enter the reasons why the extra hours were required, Please enter the reasons why the extra hours were required.
InputBox, x_amount, Enter the final amount for the project, Please enter the final amount for the project.
text =
(
%greeting%
 
I recently sent you a %sent_item%, indicating the need for %x_number% extra hours. The reasons for those hours are %x_y_z_reasons%.
 
On a happier note though, I'd like to tell you that those hours are no longer needed. They'll no longer be billed, and the invoice will reflect that.
 
For clarity, the total project cost is now %x_amount%.
 
Everything else remains as is. If you'd like formal documentation to support this change, please let me know and I'll prepare it.
 
Thank you,
%signature%
)
send %text%
}
; -----------------------------------
; 11 - YOU'RE DECLINING A PROJECT
; -----------------------------------
; Oh, it's a happy day when you have too many projects to accept a new one. In any case, even a declining e-mail can stand as proof of your professionalism, and leave a good impression on someone who may need you in the future.
 
EmailSubject11()
{
send Sorry, can't take your project on
}
 
EmailTemplate11()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, inquiry_or_offer_to_hire_me, Enter what you would like to thank the client for, Please enter a description of what you would like to thank the potential client for., , , , , , , ,your inquiry/offer to hire me
InputBox, x_date, Enter the date you will be available to accept new work, Please enter the date you will be available to accept new work.
text =
(
%greeting%
 
Thanks for %inquiry_or_offer_to_hire_me%.
 
Unfortunately, I have lots on my plate right now. I won't be able to take you up on your offer. I don't want to accept and yet commit at less than 100 percent.
 
For now, I'd like to focus on current projects, but I expect to have a free slot open by %x_date%. Would this work for you?
 
Regards,
%signature%
)
send %text%
}
 
; -----------------------------------------------------
; 12 - STOPPING WORK BECAUSE OF DELINIQUENT PAYMENT
; -----------------------------------------------------
; All projects have payment risks built into them. You can ask for deposits upfront to mitigate the risk, but sometimes, you'll have to stop work and accept the situation. Still, you should tell your client, so it's clear that you didn't shirk any of your own responsibilities.
 
EmailSubject12()
{
send Will have to stop work until dues are paid
}
 
EmailTemplate12()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, payment_date, Enter the payment date, Please enter the payment date.
InputBox, another_date, Enter the date you will be available to accept new work, Please enter the date you will be available to accept new work.
text =
(
%greeting%
 
This is a situation I'd have preferred to avoid, but we both have to deal with the facts as they are. Due to delinquent payment, work on the project will have to stop. This is per the terms of our agreement.
 
For our relationship's sake, I'll just assume the invoice fell through the cracks. I'm sending one later today, and hope for your prompt payment by %payment_date%.
 
I'll also send a reminder by %another_date% if there's still a problem.
 
Thanks,
%signature%
)
send %text%
}
 
; ------------------------------------------
; 13 - CLIENT REFUSES TO SIGN A CONTRACT
; ------------------------------------------
; Contracts, whether they're in legalese or in plain language, exist to protect you. For that reason, a client's refusal to sign should throw up a red flag, and you should make it clear you won't work without the right measures in place.
 
EmailSubject13()
{
send I'd like to clarify something
}
 
EmailTemplate13()
{
greeting := GetGreeting()
signature := GetSignature()
text =
(
%greeting%
 
This is just a quick e-mail about the contract I presented to you. You've stated that it's unnecessary, but I really can't share that belief with you.
 
A contract clarifies our shared responsibilities, and is an important safeguard for both of us. It's an assurance that we'll both comply with what's expected of us, within the bounds of our professional relationship.
 
For that reason, I really won't work without one. Not only is a contract part of accepted practice, it's also in line with business sensibilities.
 
I hope you'll understand. Should you wish to discontinue because of the contract requirement, please inform me.
 
Regards,
%signature%
)
send %text%
}
 
; ----------------------------------------
; 14 - YOU'LL NEED FUNDS FOR MATERIALS
; ----------------------------------------
; Some designs require outside material, like stock photography or original artwork. Most contracts have a built-in clause that the client pays for these, but it's always prudent to remind the client of that via e-mail.
 
EmailSubject14()
{
send Materials needed for the design
}
 
EmailTemplate14()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, state_usage_for_materials, Enter the payment date, Please enter the payment date.
InputBox, x_amount, Enter the total price of the materials, Please enter the total price of the materials.
InputBox, payment_date, Enter the payment date, Please enter the payment date.
InputBox, price_breakdown, Enter the price breakdown, Please enter the price breakdown., , , , , , , ,[amount] for the first item, and [amount] for the next item
text =
(
%greeting%
 
I'm sending you this to document my request for materials. Specifically, the design requires the following items.
 
- First material, e.g. a stock photograph at X link
- Second material, e.g. artwork at Y link
 
Those listed will be used for %state_usage_for_materials%.
 
The total price for such materials is %x_amount%, broken down as %price_breakdown%.
 
Per our agreement, the funds for such materials will come from you.
 
Please reply with your approval, and send the payment over by %payment_date%.
 
Thanks,
%signature%{UP 12}{END}+{HOME}+{UP}
)
send %text%
}
 
; --------------------------------
; 15 - YOUR RATES ARE GOING UP
; --------------------------------
; Regularly raising your rates is a normal part of business. This helps protect your margins, and account for things like inflation or higher taxes. Still, higher rates mean disgruntled clients, so it's best to soften them early to the idea.
 
EmailSubject15()
{
send I'll be raising my rates
}
 
EmailTemplate15()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, recent_achievements, Enter you recent achievements, Please enter your recent achievements.
text =
(
%greeting%
 
Since your business is extremely important to me, I'd like to personally explain the reasons for my raised rates.
 
- X reason
- Y reason
- Z reason
 
As you're aware, raises like these are an unavoidable part of business. That said, I believe the new rate accurately reflects the equivalent increase in my skills. For example, I've recently %recent_achievements%.
 
Anyway, if you have questions or clarifications, let me know. I'll be happy to talk through any concerns you may have.
 
Thanks for your time,
%signature%{UP 8}{END}+{HOME}+{UP 2}
)
send %text%
}
 
; ----------------------------------
; 16 - REQUEST FOR A TESTIMONIAL
; ----------------------------------
; Testimonials are some of the most powerful marketing materials out there. The best can diffuse objections, increase your credibility, and solidify your reputation. So, it's important to actively gather them when the opportunities present themselves. Don't let your good work go unnoticed!
 
EmailSubject16()
{
send Can I get your approval for this quote?
}
 
EmailTemplate16()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, time_date, Enter the due time and date, Please enter the time and date that you would like the client to get back to you.
text =
(
%greeting%
 
Hope I haven't caught you at a bad time.
 
Anyway, I'm sure you know how important testimonials are for securing new clients. And since I want to make things super-easy for you, I've pre-written one. You're free to edit it as you like, of course.
 
[Insert the testimonial you wrote here.]
 
If the testimonial's okay, can I get your approval to feature it on my site? Also, if you could send a photo by %time_date%, I'd really appreciate it.
 
Regards,
%signature%{UP 6}{END}+{HOME}
)
send %text%
}
 
; ---------------------------------
; 17 - REQUEST FOR A CASE STUDY
; ---------------------------------
; Apart from testimonials or social follower numbers, case studies are another form of marketing. If you put effort into making great case studies, you'll greatly reduce prospect objections and fears about what you're offering.
 
EmailSubject17()
{
send Can I feature you as a case study on my site?
}
 
EmailTemplate17()
{
greeting := GetGreeting()
signature := GetSignature()
InputBox, coffee_time, Enter the time and date you would like to meet the client for coffee, Please enter the time and date that you would like to meet the client for coffee.
InputBox, alternative_free_time, Enter an alternative time that you are free, Please enter an alaternative time that you are free.
text =
(
%greeting%
 
The subject line pretty much says everything, but I'd like to ask again. Can I feature you as a case study? I think our project had a lot of highlights, and I'm eager to get the word out about our work together.
 
Specifically, I plan to dig into these main aspects.
 
- First main aspect you plan to highlight in case study
- Second main aspect to highlight
- Third aspect and so on...
 
If being featured is okay with you, can we chat over coffee at %coffee_time%? Or if that doesn't work, I'm free on %alternative_free_time%.
 
Please feel free to suggest a time and day, too.
 
I look forward to meeting you!
 
Thanks,
%signature%{UP 10}{END}+{HOME}+{UP 2}
)
send %text%
}
 
; -------------------------
; 18 - REFERRAL INQUIRY
; -------------------------
; If you do good work, referrals will come of their own accord. But it never hurts to be proactive, and to ask your clients if they know people you can help. At least you get the benefit of their intro, which diffuses some fear on the part of the person you're gonna be contacting.
 
EmailSubject18()
{
send Know any people I can help?
}
 
EmailTemplate18()
{
greeting := GetGreeting()
signature := GetSignature()
gender := GetGender()
your_name := GetYourName()
your_contact_details := GetContactDetails()
 
he_she =
hes_shes =
him_her =
 
if gender = male
{
he_she = He
hes_shes = he's
him_her = him
}
else
{
he_she = She
hes_shes = she's
him_her = her
}
InputBox, friends_name, Enter the name of the client's friend, Please enter the name of the client's friend.
InputBox, clients_name, Enter the client's name, Please enter the client's name
text =
(
%greeting%
As you probably know, referrals are an important source of customers. So I'd like to check in and ask - do you know people I can help with my skills?
If you do, I've written an intro e-mail you can send them.
 
^{i}Hi %friends_name%. I'm introducing you to %your_name%. %he_she% is the web designer who did my site, and %hes_shes% great. Solid design skills, good work ethics, and very responsive. I think you'd get some benefit from getting in touch with %him_her%. Contact details - %your_contact_details%.^{i}
 
Thanks for your help with this, %clients_name%.
 
Regards,
%signature%
)
send %text%
}
 
; ----------------------
; Create the listbox
; ----------------------
Gui, Add, ListBox, x0 y0 w400 r7 vSelectedEmail HwndMylist, 01 - The Dreaded Price Email||02 - You Have Questions on the Design Brief|03 - You are Sending the Official Plan to a New Client|04 - The Official Plan is Damn Far from Your Early Estimate|05 - Scope Creep is Happening but can be accommodated|06 - You Won't be able to Deliver the Design on Time|07 - Dealing With Late Payments|08 - Discussing Other aspects of the Site|09 - Justifying Your Need for Extra Hours|10 - No Need for Extra Hours|11 - You're Declining a Project|12 - Stopping Work Because of Deliniquent Payment|13 - Client Refuses to Sign a Contract|14 - You'll Need Funds for Materials|15 - Your Rates are Going Up|16 - Request for a Testimonial|17 - Request for a Case Study|18 - Referral Inquiry
Gui, -Caption +ToolWindow +AlwaysOnTop +LastFound
return
 
email_trigger_type = body
 
; ------------------------------
; Trigger the email template
; ------------------------------
; Email Subject
::,es::
email_trigger_type = subject
gui, show
return
 
; Email Body
::,eb::
email_trigger_type = body
gui, show
return
 
; ------------------------------
; Trigger the email template
; ------------------------------
#IfWinExist ahk_class AutoHotkeyGUI
; Use the Escape key to hide the drop-down list
Esc::gui, hide
 
; Use Enter to select an item from the drop-down list
Enter::
gui, submit
emailNumber := SubStr(SelectedEmail, 1, 2)
 
if email_trigger_type = subject
{
if emailNumber = 01
{
EmailSubject01()
}
if emailNumber = 02
{
EmailSubject02()
}
if emailNumber = 03
{
EmailSubject03()
}
if emailNumber = 04
{
EmailSubject04()
}
if emailNumber = 05
{
EmailSubject05()
}
if emailNumber = 06
{
EmailSubject06()
}
if emailNumber = 07
{
EmailSubject07()
}
if emailNumber = 08
{
EmailSubject08()
}
if emailNumber = 09
{
EmailSubject09()
}
if emailNumber = 10
{
EmailSubject10()
}
if emailNumber = 11
{
EmailSubject11()
}
if emailNumber = 12
{
EmailSubject12()
}
if emailNumber = 13
{
EmailSubject13()
}
if emailNumber = 14
{
EmailSubject14()
}
if emailNumber = 15
{
EmailSubject15()
}
if emailNumber = 16
{
EmailSubject16()
}
if emailNumber = 17
{
EmailSubject17()
}
if emailNumber = 18
{
EmailSubject18()
}
}
else if email_trigger_type = body
{
if emailNumber = 01
{
EmailTemplate01()
}
if emailNumber = 02
{
EmailTemplate02()
}
if emailNumber = 03
{
EmailTemplate03()
}
if emailNumber = 04
{
EmailTemplate04()
}
if emailNumber = 05
{
EmailTemplate05()
}
if emailNumber = 06
{
EmailTemplate06()
}
if emailNumber = 07
{
EmailTemplate07()
}
if emailNumber = 08
{
EmailTemplate08()
}
if emailNumber = 09
{
EmailTemplate09()
}
if emailNumber = 10
{
EmailTemplate10()
}
if emailNumber = 11
{
EmailTemplate11()
}
if emailNumber = 12
{
EmailTemplate12()
}
if emailNumber = 13
{
EmailTemplate13()
}
if emailNumber = 14
{
EmailTemplate14()
}
if emailNumber = 15
{
EmailTemplate15()
}
if emailNumber = 16
{
EmailTemplate16()
}
if emailNumber = 17
{
EmailTemplate17()
}
if emailNumber = 18
{
EmailTemplate18()
}
}
return
#IfWinExist

Please sign in to comment on this gist.

Something went wrong with that request. Please try again.