{"product_id":"tally-to-salesforce-follow-up-automation-n8n-openai","title":"Tally to Salesforce Follow-Up Automation (n8n + OpenAI)","description":"\u003ch3\u003eTurn every new Tally form submission into an approved SMS follow-up in Salesforce—automatically\u003c\/h3\u003e\n\u003cp\u003eThis \u003cstrong\u003eTally to Salesforce Follow-Up Automation (n8n + OpenAI)\u003c\/strong\u003e workflow listens for new Tally responses, records the inquiry in Salesforce, finds (or creates) the right Lead\/Contact, generates an internal sales brief with \u003cstrong\u003eOpenAI\u003c\/strong\u003e, and—when consent and a valid phone number are present—sends an approved first follow-up via \u003cstrong\u003eSent\u003c\/strong\u003e.\u003c\/p\u003e\n\n\u003ch3\u003eWhat this workflow does\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003eTriggers on new Tally submissions\u003c\/strong\u003e and validates the submission using the expected form ID and mapped question IDs.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eNormalizes and validates fields\u003c\/strong\u003e (email, phone, consent) and builds an \u003cem\u003einquiry snapshot\u003c\/em\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eCreates a Salesforce custom object record\u003c\/strong\u003e (Tally_Inquiry__c) to atomically claim the submission, and stops on replays or already-completed records.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eResolves the CRM match\u003c\/strong\u003e by searching Salesforce for an existing Lead and\/or Contact by email, linking the inquiry appropriately or creating a new Lead when needed.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eGenerates an internal brief with OpenAI\u003c\/strong\u003e and saves it to the Salesforce inquiry record when submitter consent is present and the phone number is valid.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSends an approved first-follow-up template via Sent\u003c\/strong\u003e, using an \u003cem\u003eidempotency key\u003c\/em\u003e to prevent duplicate sends.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eWrites send outcomes back to Salesforce\u003c\/strong\u003e, or raises a \u003cem\u003emanual-review error\u003c\/em\u003e when results are ambiguous.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eUse cases\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003eA SaaS team collects demo requests through Tally and wants instant CRM capture + first SMS follow-up.\u003c\/li\u003e\n  \u003cli\u003eSales operators need consistent Lead\/Contact matching by email and traceable inquiry status in Salesforce.\u003c\/li\u003e\n  \u003cli\u003eAutomation engineers want a replay-safe workflow that prevents duplicate follow-ups while using OpenAI for internal context.\u003c\/li\u003e\n\u003c\/ul\u003e\n\n\u003ch3\u003eTechnical details\u003c\/h3\u003e\n\u003cul\u003e\n  \u003cli\u003e\n\u003cstrong\u003en8n nodes\/blocks\u003c\/strong\u003e: if, set, code, salesforce, sticky note, and \u003cstrong\u003esentdmn8n-nodes-sentsent\u003c\/strong\u003e.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eSalesforce setup\u003c\/strong\u003e: create \u003cstrong\u003eTally_Inquiry__c\u003c\/strong\u003e and required fields (Submission_Key__c, Status__c, Inquiry__c, Result__c, Lead__c, Contact__c), and ensure the n8n user can create\/update them.\u003c\/li\u003e\n  \u003cli\u003e\n\u003cstrong\u003eIntegrations\u003c\/strong\u003e: Tally (submission trigger), Salesforce (recording + Lead\/Contact linking), \u003cstrong\u003eOpenAI\u003c\/strong\u003e (internal sales brief), Sent (SMS template sending).\u003c\/li\u003e\n\u003c\/ul\u003e","brand":"N8N Commerce","offers":[{"title":"Default Title","offer_id":45994978082995,"sku":"N8N-19433","price":32.99,"currency_code":"GBP","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/0749\/6279\/6723\/files\/lweWXd1EZuabF2X1pupNN_5oTB0kXx.png?v=1789031066","url":"https:\/\/buyflowscripts.com\/products\/tally-to-salesforce-follow-up-automation-n8n-openai","provider":"N8N Commerce","version":"1.0","type":"link"}