{"id":17703839,"url":"https://github.com/shawalli/contact-card","last_synced_at":"2026-05-02T13:31:51.994Z","repository":{"id":130815457,"uuid":"142634978","full_name":"shawalli/contact-card","owner":"shawalli","description":"This project creates a simple front-end for interfacing with a Heroku Connect instance.","archived":false,"fork":false,"pushed_at":"2018-09-05T01:07:27.000Z","size":18,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-03-31T04:18:44.014Z","etag":null,"topics":["flask","heroku-connect","salesforce"],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/shawalli.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-07-28T00:44:17.000Z","updated_at":"2018-09-05T01:07:29.000Z","dependencies_parsed_at":"2023-05-18T18:15:20.815Z","dependency_job_id":null,"html_url":"https://github.com/shawalli/contact-card","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/shawalli/contact-card","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shawalli%2Fcontact-card","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shawalli%2Fcontact-card/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shawalli%2Fcontact-card/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shawalli%2Fcontact-card/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/shawalli","download_url":"https://codeload.github.com/shawalli/contact-card/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/shawalli%2Fcontact-card/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32536522,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-02T12:25:33.646Z","status":"ssl_error","status_checked_at":"2026-05-02T12:24:51.733Z","response_time":132,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flask","heroku-connect","salesforce"],"created_at":"2024-10-24T21:06:11.845Z","updated_at":"2026-05-02T13:31:51.953Z","avatar_url":"https://github.com/shawalli.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Contact Card\nThis project demonstrates the interaction between a Heroku app and Salesforce,\nusing Heroku Connect. The app is a single-file Python Flask application.\n\n# Setup Instructions\nThis project assumes that you have a\n[Salesforce Developer Edition environment](https://developer.salesforce.com/signup)\nand a [Heroku account](https://signup.heroku.com). Once those pre-requisites\nare met, follow the instructions below.\n\n## Deploy The Heroku App\n*These instructions will create a Heroku app, deploy this project into the app,\nand configure the app.*\n\n1. Click the `Deploy to Heroku` button below. You will be directed to a Heroku\n   app deployment page. If you'd like to keep these instructions open,\n   right-click on the button and click `Open Link in New Tab` instead.\n\n   [![Deploy](https://www.herokucdn.com/deploy/button.svg)](https://heroku.com/deploy?template=https://github.com/shawalli/contact-card)\n\n1. Choose a unique name for your app. If you leave it blank, Heroku will\n   generate a unique name for you.\n\n1. Click the `Deploy app` button at the bottom of the screen.\n\n1. Once the build and deployment are complete, click the `View` button at the\n   bottom of the screen.\n\n## Configure Heroku Connect Connection\n*These instructions will connect the app's Heroku Connect add-on to your\ndesired Salesforce environment.*\n\n1. On the welcome page of your app, click the `Connect Salesforce Environment`\n   button. Keep this tab open.\n\n1. On the Heroku dashboard page for your app, click the Heroku Connect row in\n   the Add-ons table.\n\n1. Click the `Setup Connection` button in the upper-left corner.\n\n1. The `DATABASE_URL` row within the Database Config Vars table should be\n   highlighted. Click the row anyway (Heroku cannot detect that it is\n   auto-selected for some reason). Your app expects the schema to be named\n   \"salesforce\", so leave that setting alone.\n\n1. Click the `Next` button in the upper-right corner.\n\n1. The environment should be set to `Production` and the API version should be\n   set to the latest Salesforce version. At the time of this writing, the\n   latest API version is `43.0`. Click the `Authorize` button in the\n   upper-right corner.\n\n1. Type in the username and password for your Salesforce Developer Edition\n   environment to which you'd like to connect. Click the `Log In` button.\n\n1. Once the environment has been authorized, you should be redirected back to\n   Heroku, on your Heroku Connect add-on page. Keep this tab open.\n\n## Configure Salesforce Environment.\n*These steps will ensure that your Salesforce environment can receive record\nchanges from the Heroku app. A new field is created that is used by Heroku\nduring the write-to-Salesforce process.*\n\n1. Login to your Salesforce environment (most likely, you will use\n   [login.salesforce.com](https://login.salesforce.com)).\n\n1. Open the Setup Menu. This is done by clicking the gear in the upper-right\n   corner, then clicking the `Setup` dropdown.\n\n1. Click the \"Object Manager\" tab.\n\n1. Click the `Contact` link in the Contact row.\n\n1. Click the \"Fields \u0026 Relationships\" tab in the sidebar.\n\n1. Click the `New` button in the upper-right corner.\n\n1. Select the `Text` radio button.\n\n1. Click the `Next` button in the lower-right corner.\n\n1. Use the following settings:\n   - **Field Label**: External Contact Id\n   - **Length**: 32\n   - **Field Name**: External_Contact_Id\n   - **Description**: This field is used by Heroku Connect to sync changes back to\n                      Salesforce. It should never be modified within Salesforce.\n   - **Help Text**: This is an internal field. You probably don't want to change\n                    this value.\n   - **Required**: Leave unchecked\n   - **Unique**: Check. Ensure the \"Treat ABC and abc as duplicate values (case\n                 insensitive\") radio button is selected.\n   - **External ID**: Check\n   - **Default Value**: Leave blank\n\n1. Click the `Next` button in the lower-right corner.\n\n1. Click the `Visible` column checkbox at the top of the table twice to\n   select-all profiles, then de-select-all profiles. Select visibility for:\n   - Standard Platform User\n   - Standard User\n   - System Administrator\n\n1. Ensure no profiles in the `Read-Only` column are checked.\n\n1. Click the `Next` button in the lower-right corner.\n\n1. Click the `Add Field` column checkbox at the top of the table to\n   de-select-all layouts. Then, select only the \"Contact layout\" row.\n\n1. Click the `Save` button in the lower-right corner.\n\n## Configure Heroku Connect Mapping\n*These steps will map your Salesforce environment Contact sObject to the Heroku\napp's PostGreSQL database.*\n\n1. Return to the tab with your app's Heroku Connect add-on page. Click the\n   \"Mappings\" tab.\n\n1. Click the `+Create Mapping` button in the lower-right corner.\n\n1. Select the \"Contact\" row from the table of sObjects.\n\n1. In the \"Salesforce -\u003e Database\" section, check the `Accelerate Polling`\n   checkbox.\n\n1. In the \"Database -\u003e Salesorce\" section, check the\n   `Write database updates...` checkbox. From that setting's dropdown,\n   select `External_Contact_Id__c` as the unique identifier.\n\n1. In the \"Mapped Fields\" section, ensure the following fields are checked\n   (It is OK if additional fields are selected due to Heroku Connect\n   auto-selecting them):\n   - Email\n   - FirstName\n   - LastName\n   - Phone\n   - Title\n\n1. Click the `Save` button in the upper-right corner.\n\n1. After a short time, the Heroku Connect mapping you just created should\n   register a number of mapped fields, SF rows, and DB rows.\n\n## Use Your App\n1. Return to the tab that has your app and refresh the page. You should now\n   see a table containing contacts from your environment!\n\n1. To view a contact, select their contact row.\n\n1. To edit a contact, change the contact's information and click the `Save`\n   button. You should receive confirmation that the record was saved into the\n   database.\n\n1. To verify that the change was synced, login to your Salesforce environment.\n   Click the \"Contacts\" tab and locate the contact that you changed. Verify\n   that the information was updated.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshawalli%2Fcontact-card","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fshawalli%2Fcontact-card","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fshawalli%2Fcontact-card/lists"}