Skip to content

Campaigns

Aaron Schachter edited this page Jul 3, 2018 · 14 revisions

A campaign is available via chatbot if there is at least one trigger published that references a topic for the campaign. A topic is defined by the following Gambini content types:

  • photoPostConfig - used to collect quantity, caption, photo, and why_participated (Note: why_participated is only collected for user's first post for the signup)

  • textPostConfig - used to collect text posts

  • externalPostConfig - used to share a link external to Gambit that other apps consume as posts, e.g. Call Power phone number, DS share links

Refreshing Content

To add, edit, or remove a trigger:

  • Make the changes in Gambini
  • Clear gambit-campaigns redis cache to update content
  • Restart gambit-conversations dynos to update Rivescript

Content Types

campaign

Topics reference a campaign type to determine which campaign to create signups and posts for.

memberSupport

The numeric campaign Ashes ID

memberSupport

User sent a QUESTION command. The bot no longer sends automated replies to user messages, and forwards them to the support inbox (Front). This copy should prompt user to submit their question, as well as include the campaign keyword if they wish to unpause the bot and continue their campaign.

campaignClosed

This is sent when user texts a keyword for a campaign that has ended, or their current campaign has ended. Should inform user that campaign is no longer available and they can send MENU command to join a new campaign.

askSignup

User sent a MENU command, pitching a random Gambit campaign not equal to the user’s current campaign. Prompts user to answer with yes or no, a yes will create signup for the campaign and send the first question in the postConfig replies.

declinedSignup

User sent no to askSignup. Prompts user to send MENU command to find a new action, or QUESTION command to request support.

invalidAskSignupResponse

User sent neither a yes or no to askSignup. Indicates “Sorry I didn’t get that” and prompts user to answer with yes or no.

askContinue

Expects yes/no response, prompting user to continue their current campaign. Sent if last outbound was a quick reply and user message did not trigger a quick reply.

declinedContinue

User sent no to askContinue. Any response user sends to declinedContinue that is not a keyword or quick reply will result in sending askContinue again

invalidAskContinueResponse

User sent neither yes/no to askContinue. Indicates “Sorry I didn’t get that” and should prompt user to answer with yes or no.

photoPostConfig

Asks user for quantity, photo, caption, and why participated to create a photo post, using templates:

startPhotoPost

Sent when user sends keyword or confirmed an askSignup broadcast.

webStartPhotoPost

Sent when user signs up for the campaign on the web.

startPhotoPostAutoReply

Sent when user has not started a photo post, and did not text back START.

askQuantity

User sent START command, asks for a numeric value.

invalidQuantity

User did not send numeric value, indicates “Sorry, that’s not a valid number” and asks again for a numeric value.

askPhoto

User sent quantity, asks user to send photo of action completed.

invalidPhoto

User did not send photo, indicates “Sorry I didn’t get that” and asks again for a photo.

askCaption

User sent photo, asks for its caption

invalidCaption

User did not send text greater than 3 chars, asks again for caption with a “Sorry I didn’t get that”

askWhyParticipated

If this is user’s first post and they sent caption, asks for why they participated in the campaign.

invalidWhyParticipated

User did not send text greater than 3 chars, asks again for why participated with a “Sorry I didn’t get that".

completedPhotoPost

After all data is collected for a post, sends a confirmation and prompts user to text START command to submit another post.

completedPhotoPostAutoReply

User did not reply with START to a completedPhotoPost template, prompts user to text START when ready to submit another photo post.

textPostConfig

Asks user for a text post, with templates:

askText

Sent after user texts keyword or says yes to a signup broadcast. Prompts user to reply with reportback text, e.g. “Fill in the blank. I beat bullying by _____”

webAskText

Sent after user signs up on the web for a campaign running on Gambit, usually prefaced with a “Hi, it’s Freddie from DoSomething!” greeting, especially useful if the user has never received texts from us and this web signup confirmation is the first. Prompts user to reply with reportback text, e.g. “Fill in the blank. I beat bullying by _____”

invalidText

User did not send text greater than 3 chars, asks again for reportback text with a “Sorry I didn’t get that” indicator

completedTextPost

Sent after user submits a text post. Should provide user options to exit conversation (e.g. text MENU for new campaign to join, Q for question) but ultimately ask user to send another post (all user replies will be submitted as text posts if they aren’t keywords/commands/don’t trigger quick replies)

externalPostConfig

Prompts user to visit a link external to the chatbot message, e.g. a web URL or phone number to call a senator, with templates:

startExternalPost

Sent when user sends keyword.

webStartExternalPost

Sent when user signs up for the campaign on the web.

startExternalPostAutoReply

Sent for every subsequent user message in this campaign.

Clone this wiki locally
You can’t perform that action at this time.